![]() |
![]() |
|
Как вывести табличную часть документа в макет? | ☑ | ||
---|---|---|---|---|
0
KattyMix
03.11.11
✎
10:20
|
В процедуре запросом выводится список документов и необходимо вывести табличную часть документа в макет.Подскажите плиз,как обратиться к элементу табличной части?
Процедура Сформировать() //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ОбрабатыватьДокументы Проведенные; |ПоступлениеМатериалов = Документ.ПоступлениеМатериалов.ТекущийДокумент; |Группировка ПоступлениеМатериалов; |"//}}ЗАПРОС ; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("М-4"); Пока Запрос.Группировка(1) = 1 Цикл // формирование шапки СекцияШапка = Таб.ПолучитьСекцию("Шапка"); СекцияШапка.Номер = СокрЛП(Запрос.ПоступлениеМатериалов.НомерДок); СекцияШапка.ДатаСоставления = Формат(Запрос.ПоступлениеМатериалов.ДатаДок, "Д (0)ДДММГГГГ"); // формирование строк СекцияСтрока = Таб.ПолучитьСекцию("Строка"); Запрос.ПоступлениеМатериалов.ВыбратьСтроки(); Пока Запрос.ПоступлениеМатериалов.ПолучитьСтроку() = 1 Цикл //ВОТ ТУТ ПРОБЛЕМА!!!! СекцияСтрока.Материал = Материал; // СекцияСтрока.НоменклатурныйНомер = Запрос.ПоступлениеМатериалов.Материал.Код; Таб.ТолькоПросмотр(1); Таб.Показать("Печать приходного ордера форма №М-4",""); КонецЦикла; КонецЦикла ///--- |
|||
1
KattyMix
03.11.11
✎
10:21
|
Да-программа 1С 7.7 ,а не 8-ка!!!
|
|||
2
izekia
03.11.11
✎
10:25
|
материал у тебя откуда берется?
|
|||
3
izekia
03.11.11
✎
10:25
|
очевидно что 77
|
|||
4
izekia
03.11.11
✎
10:25
|
Запрос.ПоступлениеМатериалов.Материал вместо Материал видимо так должно быть
|
|||
5
KattyMix
03.11.11
✎
10:28
|
Материал-это колонка в ТЧ.
Да вот я так и писала Запрос.ПоступлениеМатериалов.Материал ,но он просто зависает и все...=((( |
|||
6
izekia
03.11.11
✎
10:49
|
блин, пятница
это из цикла убери Таб.ТолькоПросмотр(1); Таб.Показать("Печать приходного ордера форма №М-4",""); |
|||
7
KattyMix
03.11.11
✎
11:16
|
Убрала-все тоже самое...Он в принципе отладчиком
Запрос.ПоступлениеМатериалов.Материал -пусто ставит |
|||
8
izekia
03.11.11
✎
11:57
|
так у меня 77 нет под рукой, поэтому по порядку
Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("М-4"); Пока Запрос.Группировка(1) = 1 Цикл // формирование шапки СекцияШапка = Таб.ПолучитьСекцию("Шапка"); Номер = СокрЛП(Запрос.ПоступлениеМатериалов.НомерДок); ДатаСоставления = Формат(Запрос.ПоступлениеМатериалов.ДатаДок, "Д (0)ДДММГГГГ"); Таб.ВывестиСекцию(СекцияШапка); // формирование строк СекцияСтрока = Таб.ПолучитьСекцию("Строка"); док = Запрос.ПолучитьЗначениеГруппировки(1); // какой-то такой синтаксис, если я не ошибаюсь док.ВыбратьСтроки(); Пока док.ПолучитьСтроку() = 1 Цикл //ВОТ ТУТ ПРОБЛЕМА!!!! Материал = док.Материал; Таб.ВывестиСекцию(СекцияСтрока); // СекцияСтрока.НоменклатурныйНомер = Запрос.ПоступлениеМатериалов.Материал.Код; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Печать приходного ордера форма №М-4",""); |
|||
9
izekia
03.11.11
✎
11:58
|
(7) и сделай пока за маленький период
|
|||
10
KattyMix
03.11.11
✎
12:21
|
а мне тут советуют сделать в запросе группировку по СтрокаДокумент.Но все равно что-то делаю не так...(((
Процедура Сформировать() Перем Запрос, ТекстЗапроса; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ОбрабатыватьДокументы Проведенные; |ПоступлениеМатериалов = Документ.ПоступлениеМатериалов.ТекущийДокумент; |Группировка Документ; |Группировка СтрокаДокумента; |"//}}ЗАПРОС ; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("М-4"); Пока Запрос.Группировка(1) = 1 Цикл // формирование шапки СекцияШапка = Таб.ПолучитьСекцию("Шапка"); СекцияШапка.Номер = СокрЛП(Запрос.ПоступлениеМатериалов.НомерДок); СекцияШапка.ДатаСоставления = Формат(Запрос.ПоступлениеМатериалов.ДатаДок, "Д (0)ДДММГГГГ"); СекцияШапка.Организация = "Организация: " + Константа.НазваниеОрганизации; СекцияШапка.КодОКПО = СокрЛП(Константа.КодОКПО); Если Запрос.ПоступлениеМатериалов.ВидПоступления = 0 Тогда СекцияШапка.МестоХранения =Запрос.ПоступлениеМатериалов.МестоХранения; СекцияШапка.СтруктурноеПодразделение = "Структурное подразделение: " + Запрос.ПоступлениеМатериалов.МестоХранения; Иначе СекцияШапка.МестоХранения = ""; СекцияШапка.СтруктурноеПодразделение = "Структурное подразделение: "; КонецЕсли; СекцияШапка.Поставщик = Запрос.ПоступлениеМатериалов.Контрагент; СекцияШапка.КодПоставщика = Запрос.ПоступлениеМатериалов.Контрагент.Код; Если Запрос.ПоступлениеМатериалов. ВидПоступления = 0 Тогда СекцияШапка.КорСчет = "60.1"; Иначе СекцияШапка.КорСчет = "10.7"; КонецЕсли; Таб.ВывестиСекцию(СекцияШапка); Пока Запрос.Группировка("СтрокаДокумента") = 1 Цикл Запрос.ПоступлениеМатериалов.ПолучитьСтроку(); СекцияСтрока.Материал = Запрос.ПоступлениеМатериалов.Материал; Таб.ВывестиСекцию(СекцияСтрока); //КонецЦикла; КонецЦикла; Если Запрос.ПоступлениеМатериалов.ВидПоступления = 0 Тогда Таб.Опции(0,0,0,0,"ОпцииПечатиМ4","ОкноМ4"); Иначе Таб.Опции(0,0,?(Запрос.ПоступлениеМатериалов.Проведен() = 0, 1, 0),0,"ОпцииПечатиМ4","ОкноМ4"); Таб.ОбластьПечати(?(Запрос.ПоступлениеМатериалов.Проведен() = 0, 2, 1), 2,,); КонецЕсли; Таб.ТолькоПросмотр(1); Таб.Показать("Печать приходного ордера форма №М-4",""); |
|||
11
KattyMix
03.11.11
✎
12:39
|
хэлп(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |