Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 04:43
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Добрый вечер! Как получить данные из ТЗ в печатную форму?  (Прочитано 2333 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Лейсан

  • ***
  • Сообщений: 142
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-12
  • Сайт: 
  • Профессия: Ученик 1С
 Добрый вечер!
Впервые создаю печатную форму,сильно не ругайте.Сделала запрос.Мне нужно получить данные из ТЗ Товары.КАК это можно сделать??


ТабДок = Новый ТабличныйДокумент;
    Макет =ПолучитьМакет("Накладная");   
    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ВыводитьКоды    = Истина;
        Колонка         = "Артикул";
        ТекстКодАртикул = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ВыводитьКоды    = Истина;
        Колонка         = "Код";
        ТекстКодАртикул = "Код";
    Иначе
        ВыводитьКоды    = Ложь;
        Колонка         = "";
        ТекстКодАртикул = "Код";
    КонецЕсли;

    Если ВыводитьКоды Тогда
        ОбластьШапки  = "ШапкаСКодом";
        ОбластьСтроки = "СтрокаСКодом";
    Иначе
        ОбластьШапки  = "ШапкаТаблицы";
        ОбластьСтроки = "Строка";
    Конецесли;

   
   
    Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект);
       
        Запрос.Текст =
            "ВЫБРАТЬ
            |    Партии.Номер,
            |    Партии.Дата,
            |    Партии.Контрагент,
            |    Партии.Организация,
            |    Партии.Ссылка,
            |    Партии.ТоварыПоПартиям.(
            |        Номенклатура,
            |        Количество,
            |        КоличествоОстаток,
            |        ЕдиницаИзмеренияМест,
            |        ХарактеристикаНоменклатуры,
            |        СерияНоменклатуры,
            |        КоличествоМест,
            |        ЕдиницаИзмерения,
            |        СрокГодности,
            |        НомерСтроки КАК НомерСтроки
            |    ),
            |    Партии.Ссылка КАК Ссылка2,
            |    Реализация.Ссылка КАК Ссылка1,
            |    Реализация.Товары.(
            |        Цена,
            |        Сумма
            |    )
            |ИЗ
            |    Документ.РасходныйОрдерНаТовары КАК Партии
            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализация
            |        ПО Партии.ДокументПередачи = Реализация.Ссылка
            |ГДЕ
            |    Партии.Ссылка = &ТекДокумент
            |
            |УПОРЯДОЧИТЬ ПО
            |    НомерСтроки";
           
        Шапка = Запрос.Выполнить().Выбрать();
        Шапка.Следующий();
        ВыборкаСтрокТовары = Шапка.ТоварыПоПартиям.Выбрать();
        ВыборкаСтрокРеализации = Шапка.Товары.Выбрать();
       
        //Данные из ТЗ
 
        ТЗ1 = Новый ТаблицаЗначений;
        ТЗ1 = Товары.Скопировать("Номенклатура,Цена");
       
       
    // Заголовок
 
    Область = Макет.ПолучитьОбласть("Заголовок");
    Область.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Расходный ордер на товары");
    ТабДок.Вывести(Область);

    ПредставлениеОрганизации = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
    ПредставлениеКонтрагента = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.Дата), "ПолноеНаименование,");

    //Поставщик
 
    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеОрганизации;
    ОбластьМакета.Параметры.Поставщик = Шапка.Организация;
    ТабДок.Вывести(ОбластьМакета);

    //Покупатель
 
   
    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеКонтрагента;
    ОбластьМакета.Параметры.Получатель = Шапка.Контрагент;
    ТабДок.Вывести(ОбластьМакета);
   
    // Вывести табличную часть
 
        ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки);
        Если ВыводитьКоды Тогда
            ОбластьМакета.Параметры.Колонка = Колонка;
        КонецЕсли;
       
        ТабДок.Вывести(ОбластьМакета);
       
        ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки);
        Итого         = 0;
        Ном           = 0;
       
       
       
        // Товары
 
        Пока ВыборкаСтрокТовары.Следующий() Цикл
           
            Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
                Продолжить;
            КонецЕсли;
           
            НомерСтроки=1;           
            ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
            ОбластьМакета.Параметры.Товар = ВыборкаСтрокТовары.Номенклатура;
            ОбластьМакета.Параметры.НомерСтроки =ВыборкаСтрокТовары.НомерСтроки;
            ОбластьМакета.Параметры.Серия = ВыборкаСтрокТовары.СерияНоменклатуры;
            ОбластьМакета.Параметры.Срок = ВыборкаСтрокТовары.СрокГодности;
            //Для каждого Стр из ТЗ Цикл
 
            //ОбластьМакета.Параметры.Цена = ВыборкаСтрокРеализации.ТаблицаЗначений.Колонки("Цена");
 
            Если ВыводитьКоды Тогда
                ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТовары.КодАртикул;
            КонецЕсли;
           
            ТабДок.Вывести(ОбластьМакета);
            НомерСтроки = НомерСтроки + 1;

           
           
        КонецЦикла;
       

       
    // Вывести Итого
 
        ОбластьМакета = Макет.ПолучитьОбласть("Итого");
        ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Итого);
        ТабДок.Вывести(ОбластьМакета);
     // Вывести подписи
 
        ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ТабДок.Вывести(ОбластьМакета);

    //   
 
    //ТабДок.Вывести(ОбластьМакета);
 
           
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Ложь;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать();


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы");
Для каждого СтрокаТЗ Из ТЗ Цикл
     ОбластьСтрокаТаблицы.Параметры.Заполнить(СтрокаТЗ);
     ТабДок.Вывести(ОбластьСтрокаТаблицы);
КонецЦикла;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
171 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 225
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal