[РЕШЕНО] Печатная форма товаров подчененого документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем SkyNetYar, 13 янв 2016.

  1. TopicStarter Overlay
    SkyNetYar
    Offline

    SkyNetYar Опытный в 1С

    Регистрация:
    11 ноя 2014
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Добрый день! УТ 11.1.10
    Добавлен документ в типовую конфигурацию ,в ней есть ссылка на ЗаказКлиента, мне нужно из самописного документа печатать табличную часть заказа клиента, плюс еще разделять товары и услуги в печатной форме.
    Помогите запутался совсем...
    В модуле команды
    &НаСервере
    Функция Заполнялка(ДокСсылка) Экспорт
    Код:
    ОбластьМакетаУслуги = Макет.ПолучитьОбласть("Услуги");
        Для каждого Услуги Из ДокСсылка.ЗаказКлиента.Товары Цикл
             ОбластьМакета.Параметры.Заполнить(Услуги);
             ТабДокумент.Вывести(ОбластьМакетаУслуги);
        КонецЦикла;
     
        ОбластьМакетаТовары = Макет.ПолучитьОбласть("Товары");
        Для каждого Товары из ДокСсылка.ЗаказКлиента.Товары Цикл
             ОбластьМакета.Параметры.Заполнить(Товары);
             ТабДокумент.Вывести(ОбластьМакетаТовары);
        КонецЦикла;
    ДокСсылка - ссылка на самописный документ.
    Но товары не выводятся
    upload_2016-1-13_23-13-6.png
    upload_2016-1-13_23-10-2.png

    Еще даже не дошел до разделения услуг и товаров, вывести бы вообще товары...
  2. TopicStarter Overlay
    SkyNetYar
    Offline

    SkyNetYar Опытный в 1С

    Регистрация:
    11 ноя 2014
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Похоже с циклом что то я намудрил -Bag-
  3. TopicStarter Overlay
    SkyNetYar
    Offline

    SkyNetYar Опытный в 1С

    Регистрация:
    11 ноя 2014
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    upload_2016-1-14_10-58-57.png
    Сделал так
    Код:
        ОбластьМакетаУслуги = Макет.ПолучитьОбласть("Услуги");
        Услуги = ДокСсылка.ЗаказКлиента.Товары.Выбрать();
        Пока Услуги.Следующий() Цикл
             ОбластьМакета.Параметры.Заполнить(Услуги);
             ТабДокумент.Вывести(ОбластьМакетаУслуги);
        КонецЦикла;
    Ошибка Выбрать();
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    И где вы увидели описание метода Выбрать() у ТЧ объекта в С-П?
  5. TopicStarter Overlay
    SkyNetYar
    Offline

    SkyNetYar Опытный в 1С

    Регистрация:
    11 ноя 2014
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Да я чего то вообще перемудрил тут...
    В общем сделал вот так
    Код:
    ОбластьМакетаУслуги = Макет.ПолучитьОбласть("Услуги");
        Ссылка = ДокСсылка.ЗаказКлиента;
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаказКлиента.Дата,
        |    ЗаказКлиента.Контрагент,
        |    ЗаказКлиента.Номер,
        |    ЗаказКлиента.Партнер,
        |    ЗаказКлиента.СуммаДокумента,
        |    ЗаказКлиента.Товары.(
        |        Номенклатура,
        |        Количество,
        |        Цена,
        |        СуммаСНДС,
        |        Серия
        |    )
        |ИЗ
        |    Документ.ЗаказКлиента КАК ЗаказКлиента
        |ГДЕ
        |    ЗаказКлиента.Ссылка В (&Ссылка)";
        Запрос.Параметры.Вставить("Ссылка", Ссылка);
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
        ВыборкаТовары = Выборка.Товары.Выбрать();
            Пока ВыборкаТовары.Следующий() Цикл
                ОбластьМакетаУслуги.Параметры.Заполнить(ВыборкаТовары);
                ТабДокумент.Вывести(ОбластьМакетаУслуги, ВыборкаТовары.Уровень());
            КонецЦикла;
        КонецЦикла;    
    Все теперь выводит,но подскажите пожалуйста,как мне отделить товары от услуг ?
    Номенклатура в этой ТЧ есть как Вид номенлатуры Услуга и есть Вид номенклатуры Товар
    --- Объединение сообщений, 14 янв 2016 ---
    Добавил в запрос условие , получилось так
    Код:
    ОбластьМакетаУслуги = Макет.ПолучитьОбласть("Услуги");
        Ссылка = ДокСсылка.ЗаказКлиента;
        Услуга = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Услуга");
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаказКлиента.Дата,
        |    ЗаказКлиента.Контрагент,
        |    ЗаказКлиента.Номер,
        |    ЗаказКлиента.Партнер,
        |    ЗаказКлиента.СуммаДокумента,
        |    ЗаказКлиента.Товары.(
        |        Номенклатура,
        |        Количество,
        |        Цена,
        |        СуммаСНДС,
        |        Серия
        |    )
        |ИЗ
        |    Документ.ЗаказКлиента КАК ЗаказКлиента
        |ГДЕ
        |    ЗаказКлиента.Ссылка В(&Ссылка)
        |    И ЗаказКлиента.Товары.Номенклатура.ВидНоменклатуры = &Услуга";
        Запрос.Параметры.Вставить("Ссылка", Ссылка);
        Запрос.Параметры.Вставить("Услуга", Услуга);
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
        ВыборкаТовары = Выборка.Товары.Выбрать();
            Пока ВыборкаТовары.Следующий() Цикл
                ОбластьМакетаУслуги.Параметры.Заполнить(ВыборкаТовары);
                ТабДокумент.Вывести(ОбластьМакетаУслуги, ВыборкаТовары.Уровень());
            КонецЦикла;
        КонецЦикла;    
    Все работает, но делема заключается в том что мне и товары тоже надо выводить в другую секцию -Penguin-
    Последнее редактирование: 14 янв 2016
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Что ж вам какие-то супер извращенные идеи реализации в голову-то лезут.......

    Сформируйте уже ТЗ из ТЧ документа, в которой будет колонка с видом номенклатуры и хоть завыводитесь......
  7. TopicStarter Overlay
    SkyNetYar
    Offline

    SkyNetYar Опытный в 1С

    Регистрация:
    11 ноя 2014
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    А это от того что мало опыта,как говорится леплю как умею, а умею я пока что мало..
    В общем то у меня все получилось, выкладывать не буду, а то охнете , использовал 2 запроса в каждом из которых устанавливал в запросе условие на вид и тип номенклатуры :rolleyes:
    Но работает.

    Еще не большой вопросик , как мне вывести 2-ю копию сего на 1 лист ?
    Не накидаете небольшой примерчик формирования ТЗ из ТЧ ?
  8. TopicStarter Overlay
    SkyNetYar
    Offline

    SkyNetYar Опытный в 1С

    Регистрация:
    11 ноя 2014
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    С этим всем справился..
    А вот 2 экземпляра на 1 странице не могу настроить, 1 и все там...может разделитель надо вставлять?
    Код:
    ТабДокумент.АвтоМасштаб = истина ;
    ТабДокумент.ОтображатьСетку = Ложь;
    ТабДокумент.ТолькоПросмотр = Истина;
    ТабДокумент.ОтображатьЗаголовки = Ложь;
    ТабДокумент.ЭкземпляровНаСтранице=2;
  9. TopicStarter Overlay
    SkyNetYar
    Offline

    SkyNetYar Опытный в 1С

    Регистрация:
    11 ноя 2014
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Вот при таком раскладе все нормально печатается,2 экземпляра на странице.
    Код:
    ТабДокумент.АвтоМасштаб = Истина ;
        ТабДокумент.ОтображатьСетку = Ложь;
        ТабДокумент.ТолькоПросмотр = Ложь;
        ТабДокумент.ОтображатьЗаголовки = Ложь;
        ТабДокумент.ЭкземпляровНаСтранице=2;
        ТабДокумент.КоличествоЭкземпляров=2;
        ТабДокумент.ПолеСверху=0;
        ТабДокумент.ПолеСнизу=0;
        ТабДокумент.ПолеСлева=0;
        ТабДокумент.ПолеСправа=0;

Поделиться этой страницей