|
Заполнение табличной части во внешнем отчёте |
☑ |
0
Лиза777
16.12.20
✎
13:49
|
Кучу всего перечитала и перепробовала, не получается((. У меня внешний отчёт, надо табличную часть в нём заполнить найденными документами Реализация.
&НаСервере
Процедура ЗаполнитьНаСервере()
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
Докум = Документы.РеализацияТоваровУслуг.Выбрать(ОтчетОбъект.Период.ДатаНачала,ОтчетОбъект.Период.ДатаОкончания);
Пока Докум.Следующий() Цикл
Если НЕ Докум.Проведен Тогда
Продолжить;
КонецЕсли;
Если Докум.Контрагент<>ОтчетОбъект.Контрагент Тогда
Продолжить;
КонецЕсли;
НС = ОтчетОбъект.ТабличнаяЧасть.Добавить();
НС.Реализация = Докум.Ссылка;
КонецЦикла;
КонецПроцедуры
в отладчике вижу, что есть там строки, но на форме их не видно в табличной части. Помогите, пожалуйста.
|
|
1
Михаил Козлов
16.12.20
✎
13:51
|
Скорее всего нужно еще ЗначениеВРеквизит
|
|
2
RomanYS
16.12.20
✎
13:52
|
(0)
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");//убрать
НС = ОтчетОбъект.ТабличнаяЧасть.Добавить();//заменить на
НС = Отчет.ТабличнаяЧасть.Добавить();
и лучше конечно запросом, перебор всех документов это ппц
|
|
3
FIXXXL
16.12.20
✎
13:55
|
(0) зачем вообще ТЧ? сделайте реквизит формы с типом "таблица значений"...
|
|
4
Лиза777
16.12.20
✎
13:57
|
(3) а зачем реквизит ? не пойму
|
|
5
Лиза777
16.12.20
✎
13:57
|
(2) да понятно, запросом сделаю, пока просто сам механизм смотрю как будет работать
|
|
6
Лиза777
16.12.20
✎
13:58
|
(3) а потом в реквизит формы как-то передать результат? на сервере?
|
|
7
Лиза777
16.12.20
✎
13:58
|
(1) пробовала ЗначениеВРеквизит, но в какой реквизит не знаю... если создать такой как и предлагали...
|
|
8
Kassern
16.12.20
✎
13:59
|
(6) На сервере заполняете свою ТЗ (реквизит формы). Она автоматом на клиенте отобразится (если конечно вы ее на форму вывели)
|
|
9
FIXXXL
16.12.20
✎
14:00
|
(4) Форма существует и на Клиенте и на Сервере, не надо привязываться к получению объекта каждый раз
Вы ведь потом читать данные собираетесь?
|
|
10
Лиза777
16.12.20
✎
14:02
|
(9) да
|
|
11
Лиза777
16.12.20
✎
14:02
|
(8) поняла, попробую. Спасибо!!!
|
|
12
hhhh
16.12.20
✎
19:19
|
(11) ОтчетОбъект выкинуть. Писать просто Отчет.Контрагент, Отчет.ТабличнаяЧасть и так далее.
|
|
13
Лиза777
17.12.20
✎
07:28
|
(12) СПасибо!
|
|
14
Лиза777
17.12.20
✎
07:29
|
добавила реквизит формы с типом "таблица значений", и так написала
Рез = Запрос.Выполнить().Выбрать();
Пока Рез.Следующий() Цикл
НС = Отчет.ТЗРеализация.Добавить();
НС.Реализация = Рез.Реализация;
НС.СФ = Рез.СФ;
НС.Контрагент = Рез.Контрагент;
НС.СуммаДокумента = Рез.СуммаДокумента;
КонецЦикла;
И всё работает! Спасибо за помощь!
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший