| 
    
            
         
         | 
    
    
  | 
Как получить данные из ТЗ ?? | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        Товарищи, тока какашками не закидывать . Я прекрасно знаю что запрос сверху НЕ "правильный" , что надо отталкиваться от табличных частей документов и т.п.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |