|
Как получить данные из ТЗ ?? | ☑ | ||
---|---|---|---|---|
0
Taffy
07.06.12
✎
17:26
|
Добрый вечер!
Впервые создаю печатную форму,сильно не ругайте.Сделала запрос.Мне нужно получить данные из ТЗ Товары.КАК это можно сделать?? ТабДок = Новый ТабличныйДокумент; Макет =ПолучитьМакет("Накладная"); ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ТекстКодАртикул = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; ТекстКодАртикул = "Код"; Иначе ВыводитьКоды = Ложь; Колонка = ""; ТекстКодАртикул = "Код"; КонецЕсли; Если ВыводитьКоды Тогда ОбластьШапки = "ШапкаСКодом"; ОбластьСтроки = "СтрокаСКодом"; Иначе ОбластьШапки = "ШапкаТаблицы"; ОбластьСтроки = "Строка"; Конецесли; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | Партии.Номер, | Партии.Дата, | Партии.Контрагент, | Партии.Организация, | Партии.Ссылка, | Партии.ТоварыПоПартиям.( | Номенклатура, | Количество, | КоличествоОстаток, | ЕдиницаИзмеренияМест, | ХарактеристикаНоменклатуры, | СерияНоменклатуры, | КоличествоМест, | ЕдиницаИзмерения, | СрокГодности, | НомерСтроки КАК НомерСтроки | ), | Партии.Ссылка КАК Ссылка2, | Реализация.Ссылка КАК Ссылка1, | Реализация.Товары.( | Цена, | Сумма | ) |ИЗ | Документ.РасходныйОрдерНаТовары КАК Партии | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализация | ПО Партии.ДокументПередачи = Реализация.Ссылка |ГДЕ | Партии.Ссылка = &ТекДокумент | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ВыборкаСтрокТовары = Шапка.ТоварыПоПартиям.Выбрать(); ВыборкаСтрокРеализации = Шапка.Товары.Выбрать(); //Данные из ТЗ ТЗ1 = Новый ТаблицаЗначений; ТЗ1 = Товары.Скопировать("Номенклатура,Цена"); // Заголовок Область = Макет.ПолучитьОбласть("Заголовок"); Область.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Расходный ордер на товары"); ТабДок.Вывести(Область); ПредставлениеОрганизации = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,"); ПредставлениеКонтрагента = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.Дата), "ПолноеНаименование,"); //Поставщик ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеОрганизации; ОбластьМакета.Параметры.Поставщик = Шапка.Организация; ТабДок.Вывести(ОбластьМакета); //Покупатель ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеКонтрагента; ОбластьМакета.Параметры.Получатель = Шапка.Контрагент; ТабДок.Вывести(ОбластьМакета); // Вывести табличную часть ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки); Если ВыводитьКоды Тогда ОбластьМакета.Параметры.Колонка = Колонка; КонецЕсли; ТабДок.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки); Итого = 0; Ном = 0; // Товары Пока ВыборкаСтрокТовары.Следующий() Цикл Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Продолжить; КонецЕсли; НомерСтроки=1; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьМакета.Параметры.Товар = ВыборкаСтрокТовары.Номенклатура; ОбластьМакета.Параметры.НомерСтроки =ВыборкаСтрокТовары.НомерСтроки; ОбластьМакета.Параметры.Серия = ВыборкаСтрокТовары.СерияНоменклатуры; ОбластьМакета.Параметры.Срок = ВыборкаСтрокТовары.СрокГодности; //Для каждого Стр из ТЗ Цикл //ОбластьМакета.Параметры.Цена = ВыборкаСтрокРеализации.ТаблицаЗначений.Колонки("Цена"); Если ВыводитьКоды Тогда ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТовары.КодАртикул; КонецЕсли; ТабДок.Вывести(ОбластьМакета); НомерСтроки = НомерСтроки + 1; КонецЦикла; // Вывести Итого ОбластьМакета = Макет.ПолучитьОбласть("Итого"); ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Итого); ТабДок.Вывести(ОбластьМакета); // Вывести подписи ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); ОбластьМакета.Параметры.Заполнить(Шапка); ТабДок.Вывести(ОбластьМакета); // //ТабДок.Вывести(ОбластьМакета); ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Ложь; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); |
|||
1
mikecool
07.06.12
✎
17:27
|
да что ж сегодня за день молодых и красивых на форкме...
|
|||
2
DrShad
07.06.12
✎
17:30
|
ломает читать кучу кода чтобы выяснить что конкретно у тебя не получается
|
|||
3
DrShad
07.06.12
✎
17:30
|
да и юзать ТЗ уже не кошерно
|
|||
4
salvator
07.06.12
✎
17:32
|
(0) В чем проблема-то?
|
|||
5
Taffy
07.06.12
✎
17:34
|
не выгружаются данные из ТЗ на форму печати
|
|||
6
DrShad
07.06.12
✎
17:35
|
(5) а с фига ли должны? ты же ее только создала и больше не юзала
|
|||
7
Taffy
07.06.12
✎
17:36
|
по разному пробовала.как правильно не поняла
|
|||
8
salvator
07.06.12
✎
17:37
|
У тебя в запросе выбирается табличная часть в качестве поля.
|
|||
9
mikecool
07.06.12
✎
17:38
|
+8 ее надо потом Выгрузить() в ТЗ
|
|||
10
salvator
07.06.12
✎
17:39
|
+(8) А не, не то. Выборка вроде есть из нее.
А вот это ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьМакета.Параметры.Товар = ВыборкаСтрокТовары.Номенклатура; ОбластьМакета.Параметры.НомерСтроки =ВыборкаСтрокТовары.НомерСтроки; ОбластьМакета.Параметры.Серия = ВыборкаСтрокТовары.СерияНоменклатуры; ОбластьМакета.Параметры.Срок = ВыборкаСтрокТовары.СрокГодности; шикарно конечно |
|||
11
Taffy
07.06.12
✎
17:40
|
не так надо было?
|
|||
12
Oleg_Kag
07.06.12
✎
17:41
|
Зачем выгрузить в ТЗ. У неё в запросе все готово. ей в макет нужно просто цену вывести.
То есть сделать что-то типа ВыборкаСтрокРеализации.Следующий() и лепить...сходу вопрос...там, суда по конструкции запроса, могут быть разные цены в документе? (10)... "я как бы уверен, но проделаю это еще раз" :) |
|||
13
salvator
07.06.12
✎
17:42
|
(11) Либо только первую строчку, либо только остальные.
Почитай про метод Заполнить(), а то у тебя получается масло масленое |
|||
14
Taffy
07.06.12
✎
17:43
|
да.могут быть разные цены в документе.
|
|||
15
DrShad
07.06.12
✎
17:44
|
(13) ну для этого ей нужно псевдонимы привести к именам параметров
|
|||
16
salvator
07.06.12
✎
17:45
|
(15) Ну вот я и говорю, пусть почитает, прежде чем такие слова страшные писать.
|
|||
17
DrShad
07.06.12
✎
17:48
|
(16) ну врядли она поймет что в запросе приведением псевдонимов в соответствующий вид получается возможность использовать Заполнить() из только описания самого метода
|
|||
18
Oleg_Kag
07.06.12
✎
17:48
|
(15) согласен...тока этот запрос ей сделал... конструктор запросов, судя по тому, таб част "в скобочках".
ТС у Вас уже всё есть в результате выборки запроса. который называется Шапка... |
|||
19
Taffy
07.06.12
✎
17:49
|
спасибо
|
|||
20
Taffy
07.06.12
✎
17:50
|
запрос делала конструктором))
|
|||
21
DrShad
07.06.12
✎
17:51
|
(20) ты не поверишь, но это видно
|
|||
22
Oleg_Kag
07.06.12
✎
17:52
|
Вот Ваш же запрос в "классическом" виде
Запрос.Текст = "ВЫБРАТЬ | Партии.Номер, | Партии.Дата, | Партии.Контрагент, | Партии.Организация, | Партии.Ссылка, | Партии.ТоварыПоПартиям.Номенклатура | Партии.ТоварыПоПартиям.Количество, | Партии.ТоварыПоПартиям.КоличествоОстаток, | Партии.ТоварыПоПартиям.ЕдиницаИзмеренияМест, | Партии.ТоварыПоПартиям.ХарактеристикаНоменклатуры, | Партии.ТоварыПоПартиям.СерияНоменклатуры, | Партии.ТоварыПоПартиям.КоличествоМест, | Партии.ТоварыПоПартиям.ЕдиницаИзмерения, | Партии.ТоварыПоПартиям.СрокГодности, | Партии.ТоварыПоПартиям.НомерСтроки КАК НомерСтроки, | Партии.Ссылка КАК Ссылка2, | Реализация.Ссылка КАК Ссылка1, | Реализация.Товары.Цена, | Реализация.Товары.Сумма |ИЗ | Документ.РасходныйОрдерНаТовары КАК Партии | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализация | ПО Партии.ДокументПередачи = Реализация.Ссылка |ГДЕ | Партии.Ссылка = &ТекДокумент | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; |
|||
23
salvator
07.06.12
✎
17:54
|
(21) | Партии.Ссылка КАК Ссылка2
убери лишнюю, а то запутаешься) |
|||
24
salvator
07.06.12
✎
17:54
|
(23) к (20)
|
|||
25
Oleg_Kag
07.06.12
✎
17:55
|
Товарищи, тока какашками не закидывать . Я прекрасно знаю что запрос сверху НЕ "правильный" , что надо отталкиваться от табличных частей документов и т.п.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |