Имя: Пароль:
1C
1С v8
Внешняя печ.форма для УТ11
0 start_kmv
 
27.04.14
13:59
Доброго времени суток. создаю внешнюю печ.форму для УТ 11 (печать товарного чека). есть проблема с выборкой из табличной части - Товары. не могу вытащить в макет полное наименование Номенклатуры и Цену. как делаю:

код пока на форме для отладки.

Функция СформироватьПечатнуюФормуТоварногоЧека(МассивОбъектов, ОбъектыПечати) Экспорт


ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТоварныйЧекNord";
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

Макет = ПолучитьМакетНаСервере();

//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

//ТЧТоварыИзРеализации = Запрос.Выполнить().Выгрузить();
//ЭлементыФормы.ТЧТоварыИзРеализации.СоздатьКолонки();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл



ОбластьМакета = Макет.ПолучитьОбласть("ТовЧекNord");
ОбластьМакета.Параметры.Номер = ВыборкаДетальныеЗаписи.Номер;
ОбластьМакета.Параметры.Менеджер = ВыборкаДетальныеЗаписи.Менеджер;
ОбластьМакета.Параметры.Покупатель = ВыборкаДетальныеЗаписи.Покупатель;
ОбластьМакета.Параметры.Товар = ВыборкаДетальныеЗаписи.Товары.Номенклатура; //КАК ВЫТАЩИТЬ??
ОбластьМакета.Параметры.Цена = ВыборкаДетальныеЗаписи.Товары.Цена; //КАК ВЫТАЩИТЬ??
ОбластьМакета.Параметры.ДатаПродажи = ВыборкаДетальныеЗаписи.ДатаПродажи;
ОбластьМакета.Параметры.ДатаДоставки = ВыборкаДетальныеЗаписи.Дата;
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Корешок");
ОбластьМакета.Параметры.СуммаПокупки = ВыборкаДетальныеЗаписи.Товары.Сумма;
ОбластьМакета.Параметры.ДатаПродажи = ВыборкаДетальныеЗаписи.ДатаПродажи;
ОбластьМакета.Параметры.Товар = ВыборкаДетальныеЗаписи.Товар.Номенклатура;
//     ОбластьМакета.Параметры.Кассир = Выборка.Кассир;
ОбластьМакета.Параметры.Номер = ВыборкаДетальныеЗаписи.Номер;
ТабДокумент.Вывести(ОбластьМакета);

КонецЦикла;

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

Выборка = Запрос.Выполнить().Выбрать();


Возврат Новый ТабличныйДокумент;

КонецФункции // СформироватьПечатнуюФорму()
1 Wobland
 
27.04.14
14:00
это ты хвастаешься?
2 Любопытная
 
27.04.14
14:01
Выбирай из таблицы ТЧ сразу, зачем тебе сам документ?
3 Wobland
 
27.04.14
14:04
(2) попадалось мне такое. там ТЗ отдельно перебиралась
4 Любопытная
 
27.04.14
14:05
(3) в стандартных вариантах отдельно запрос по шапке, отдельно по ТЧ. Мне не очень понятен сакральный смысл сего действа, но результат от этого по идее меняться не должен
5 Wobland
 
27.04.14
14:09
(4) ну надо ж было как-то определиться.. не могу сфантазировать заметное преимущество одного метода перед другим
6 start_kmv
 
27.04.14
14:15
(1) не понял сарказма.
(2) а можно поподробнее? я только начинаю, поэтому много чего не понимаю. укажите, пож-та, явные ошибки и куда и что писать. как говориться - ткните носом :)
7 Wobland
 
27.04.14
14:17
(6) а это я для себя уточняю: зачем ты всё это сказал
8 Любопытная
 
27.04.14
14:20
(6)найди демку БСП, выдерни из нее обработку внешней печатной формы, и ткнись в нее носом. Я тыкать не умею, я умею сама сделать
9 start_kmv
 
27.04.14
14:21
(8) ок. спасибо.
10 Wobland
 
27.04.14
14:21
да чего далеко ходить? в том же УТ наверняка есть примеры
11 Любопытная
 
27.04.14
14:22
ОбластьМакета.Параметры.Товар = ВыборкаДетальныеЗаписи.Товар.Номенклатура; А вот тут заполняет?
12 Wobland
 
27.04.14
14:23
(11) товар - это ТЗ
13 Любопытная
 
27.04.14
14:24
(12) я заметила. У него в одном месте написано ТоварЫ, а в другом Товар. И на этом самом другом комментариев про то, что он чего-то вытащить не может, не установлено
14 Wobland
 
27.04.14
14:26
(13) о, мадмуазель обладает не только красивыми, но и внимательными глазами ;)
15 Любопытная
 
27.04.14
14:27
Елки, так там ТЗ же получается если так выбирать. Получается - надо ТЗ обходить
16 Любопытная
 
27.04.14
14:28
(14) не подлизывайся, твоя селедка еще долго у меня поперк горла стоять буде
17 Любопытная
 
27.04.14
14:30
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    ОбластьМакета = Макет.ПолучитьОбласть("ТовЧекNord");
    ОбластьМакета.Параметры.Номер = ВыборкаДетальныеЗаписи.Номер;
    ОбластьМакета.Параметры.Менеджер = ВыборкаДетальныеЗаписи.Менеджер;
    ОбластьМакета.Параметры.Покупатель = ВыборкаДетальныеЗаписи.Покупатель;

    Для Каждого СтрокаТЗ из ВыборкаДетальныеЗаписи.Товары Цикл

        ОбластьМакета.Параметры.Товар = СтрокаТЗ.Номенклатура; //КАК ВЫТАЩИТЬ??

        ОбластьМакета.Параметры.Цена = СтрокаТЗ.Цена; //КАК ВЫТАЩИТЬ??
    КонецЦикла;

    ОбластьМакета.Параметры.ДатаПродажи = ВыборкаДетальныеЗаписи.ДатаПродажи;
    ОбластьМакета.Параметры.ДатаДоставки = ВыборкаДетальныеЗаписи.Дата;
    ТабДокумент.Вывести(ОбластьМакета);

КонецЦикла;

ПО-моему так
18 Wobland
 
27.04.14
14:32
Ее называют матерью Любопытной. Она действительно стала матерью для многих никому не нужных детей – младенцев
из мусорных ящиков, маленьких инвалидов и сирот... Милая, улыбчивая девушка.
Проницательный взгляд, подвижное лицо, большие натруженные руки.
В ее присутствии собеседники ощущали себя осмысленной частью творения – она лучезарно и умно смотрела в лицо мира,
смотрела людям в глаза, извиняясь, что вынуждена спешить. Не говорила ежесекундно слов об СП,
но о Нем свидетельствовала своей жизнью.
Она радостно делала то, что оказалось за пределами человеческих интересов:
говорила никому не нужному, ничем не примечательному нищему, увечному, беспомощному: “Ты не один!”.
19 PiVa123
 
27.04.14
14:55

Возврат Новый ТабличныйДокумент;


Феерично
20 Torquader
 
27.04.14
15:59
(19) Ну а почему бы и нет - форму выводит - да, а то, что она пустая - так может пользователь её сам заполнить хочет (не все же знают, что есть Файл-Новый табличный документ).