[1] [2] |
Получить доступ к реквизитам документа на управляемых формах. Подскажите плиз. Туплю. Есть форма обработки на управляемых формах. На ней реквизит - тип Документ. Как получить доступ к реквизитам данного документа? |
Документ.Реквизит |
тип ДокументСсылка ? ПолучитьОбъект() не ? |
на клиенте не дает через документ.реквизит, не видит реквизита |
Мойдокумент = Объект.НужныйМнеДокумент, но доступа к реквизитам нет. |
что за конфа ? БСП ОбщегоНазначения.ПолучитьРеквизитОбъекта или проваливаться на сервер и получать весь объект |
3-kotmurlot > ну так чтоб получить что-то "через точку" от ссылки это нужно прочитать из базы данных. Никакое чтение данных из базы на клиенте невозможно. Внеконтекстный вызов сервера. Или свой, или (5) |
Разобрался что все на сервере надо делать, а как сделать чтобы перебрать все строки документа на сервере передавая на клиент по одной и там ее обрабатывая? |
зачем? |
вызов серверный один должен быть, посмотри хэлп по РеквизитФормыВЗначение и ДанныеФормыВЗначение |
(8)+ и для чего?) |
(7) Попробуй значения реквизитов строки ТЧ документа в массив засунуть, а затем сформировать массив из этих строк и верни на клиента. |
7-kotmurlot >По-человечески - никак. Обрабатывай все сразу на сервере. Или получай с сервера массив структур, сформированный из данных строк, и с ним работай. |
есть документ, выбран на форме, данные из него надо сохранить в текстовый файл, как шапку, так и табличную часть. На серверной части получаю данные, а в на клиенте сохраняю в файл |
13-kotmurlot > Файл передавай через временное хранилище с сервера на клиент |
14-Uho > т.е. формировать его на сервере и передавать на клиент? |
14-Uho > а почему тогда сразу не сохранить его на сервере? |
Если нужно на клиентском компе сохранить, то передавай с сервера на клиент. Если на сервере или, допустим, в общей папке, в которою есть доступ у пользователя агента сервера, то сохраняй сразу на сервере. |
Получаю на сервере доступ к табличной части документа. В табличной части есть реквизит, но в данных документа его нет и когда обращаюсь к табличной части, то к нему доступа тоже нет. Как получить доступ к реквизиту формы обращаясь к самой табличной части? |
(18) запросом, например? мало понятно, что нужно в итоге... |
я имею доступ напрямую к объекту на сервере, напрямую к табличной части. На форме документа в табличной части есть реквизит, но среди данных табличной части документа его нет. Когда я обращаюсь например МойДокумент.ТЧ то я вижу и получаю доступ к реквизитам, которые заведены в данных, но не могу получить доступ к нужному мне реквизиту. |
В реквизитах есть объект в нем табличная часть но этого реквизита ТЧ нет и есть в реквизитах отдельно типа эта табличная часть и в составе нее уже есть реквизит нужный мне. вот как получить доступ к нему? через форму? на сервере это сделать нельзя? только на клиенте? |
Кто на ком стоял? Них... не понятно. Что у тебя отображено на форме (см путь к данным для элемента управления)? данные объекта (что-то типа "Объект.ТабличнаяЧасть...") или реквизит формы (типа "Реквизит_ТаблицаЗначенийПоТЧ")? Если я правильно понимаю - последнее. И это последнее если найти его среди реквизитов формы (в правой верхней четверти окна формы в конфигураторе) имеет тип "(ТаблицаЗначений)". Именно так, со скобками. В этом случае нужно [b]в контекстном серверном вызове[/b] с помощью РеквизитФормыВЗначение получить "настоящую" таблицу значений, обработать её и, если необходимо, вернуть обратно методом значениеВРеквизитФормы |
22-roma n >именно так, не у объекта, в правом верхнем углу. Мне нужно просто получить значения и все. Записывать их обратно в форму не надо. |
[quote=kotmurlot;45533838]есть в реквизитах отдельно типа эта табличная часть и в составе нее уже есть реквизит нужный мне[/quote] какой тип у этой "табличной части"? она показывается на форме через элемент "таблица"? |
автор, выложи уже скриншот что ли, раз словами написать не можешь PS. &НаСервере Процедура ПрочитатьТЗ() Для Каждого Строка ИЗ ТЗ Цикл Сообщить(Строка.Реквизит1); КОнецЦикла; КонецПроцедуры |
У меня есть обработка. На ней есть объект типа документ. Мне нужно получить РеквизитФормыВзначение с его формы, как достучаться до формы объекта через обработку? |
Автор, в чем исходная задача? Объясни на предметном уровне, а не на уровне реквизитов формы |
Есть обработка. На ней реквизит типа Документ. В котором есть табличная часть. Мне необходимо эту табличную часть скинуть в таблицу значений через РеквизитФормыВзначение и обработать ее. |
28-kotmurlot > Нет такого типа "Документ", есть "ДокументСсылка", "ДокументОбъект" |
[img]https://img-fotki.yandex.ru/get/218579/48540211.1fd/0_127ba7_396305a3_S[/img] |
29-Uho > сорри, ДокументСсылка |
30-user1C > все так плохо?) |
(32) огу) на сервере запросом получай табличную часть документа по ДокументСсылка в таблицу значений... |
31-kotmurlot > &НаСервереБезКонтекста Процедура ПрочитатьТЧДокументаНаСервере(РеквизитДокументСсылка) Запрос = Новый Запрос("ВЫБРАТЬ | ТвойДокументТвояТабличнаяЧасть.РеквизитТЧ КАК РеквизитТЧ |ИЗ | Документ.ТвойДокумент.ТвояТабличнаяЧасть КАК ТвойДокументТвояТабличнаяЧасть |ГДЕ | ТвойДокументТвояТабличнаяЧасть.Ссылка = &Ссылка"); Запрос.УстановитьПараметр("Ссылка",РеквизитДокументСсылка); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.РеквизитТЧ); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ПрочитатьТЧДокумента() ПрочитатьТЧДокументаНаСервере(РеквизитДокументСсылка); КонецПроцедуры |
Или просто &НаСервере Процедура ПрочитатьТЧДокументаНаСервере() Запрос = Новый Запрос("ВЫБРАТЬ | ТвойДокументТвояТабличнаяЧасть.РеквизитТЧ КАК РеквизитТЧ |ИЗ | Документ.ТвойДокумент.ТвояТабличнаяЧасть КАК ТвойДокументТвояТабличнаяЧасть |ГДЕ | ТвойДокументТвояТабличнаяЧасть.Ссылка = &Ссылка"); Запрос.УстановитьПараметр("Ссылка",РеквизитДокумен тСсылка); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.РеквизитТЧ); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ПрочитатьТЧДокумента() ПрочитатьТЧДокументаНаСервере(); КонецПроцедуры |
(35)+ желанная таблица значений будет туто ТЗ = Запрос.Выполнить().Выгрузить(); |
наверное я объясняю через одно место, но таким образом он не видит этот реквизит и выдает ошибка, реквизит введен для формы в верхнем правом углу он присутствует, а если смотреть свойства документа и Данные - то там в табличной части этого реквизита нет. |
[em]я объясняю через одно место[/em] - фточку :) Ещё раз перечитал. Выдвигаю очередное предположение: на форме документа отображается реквизит формы типа "(ТаблицаЗначений)". Необходимо получить эту самую ТаблицуЗначений не имея под рукой контекста формы документа, но имея ссылку на документ. Угадал? |
все, я пас))) |
Текущее время: 02:39. Часовой пояс GMT +3. | [1] [2] |