Здравствуйте уважаемые форумчане. Возник такой вопрос, есть счет на оплату покупателя в программе вводятся данные в разные колонки (номенклатура,дата, фамилия и т.д.), так вот, помогите пожалуйста как можно в печатной форме вывести данные из колонок дата, фамилия в колонку номенклатура. Платформа 1С Предприятие 8,2. Спасибо.
avel1976, при такой постановке вопроса вам никто не ответит. Чтобы получить ответ, задайте более конкретный вопрос, что вы делаете и что не получается. Либо, если вы вообще не знаете как это делается - тогда можно обратиться за платной помощью http://pro1c.org.ua/index.php?act=sz.
В форме я добавил колонки, в модуле сделал выборку новых колонок при формировании на печать. В макете каждая колонка соответствует колонке в форме. Как сделать так чтобы (расскажу по рисунку) в колонке "Путевки"
где стоит значение <Товар>, добавить колонку из формы, ну например, <Дата>. Я разделял строку в макете и добавлял значения, но результат не тот, много пробелов между данными.
Открываем процедуру вывода на печать, ищем где заполняются параметры
типа
Область.Параметры.Товар = .....
Область.Параметры.Товар = ""+табЧасть.Номенклатура+" - "+Ответственный......+ДатаДокумента
Область.Параметры.Товар = .....
Область.Параметры.Товар = ""+табЧасть.Номенклатура+" - "+Ответственный......+ДатаДокумента
ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
ОбластьСкидки = Макет.ПолучитьОбласть("Строка|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма");
ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар");
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
ТабДокумент.Вывести(ОбластьНомера);
ОбластьТовар.Параметры.Товар = "" + ЗапросТовары.Колонки.Номенклатура +" - "+ ЗапросТовары.Колонки.ФИО;
А так:
ОбластьТовар.Параметры.Товар = "" + ВыборкаСтрокТовары .Номенклатура +" - "+ ВыборкаСтрокТовары .ФИО;
Тоже самое не выводит.
Параметры присваиваются до вывода результата.
Коректировал запрос и поднял строку перед вывести. Ничего не добавилось.
//ТабДокумент.Вывести(ОбластьМакета);
ОбластьКолонкаТовар = Макет.Область("Товар");
Если Не ВыводитьКоды Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
Макет.Область("КолонкаКодов").ШиринаКолонки;
КонецЕсли;
Если НЕ ЕстьСкидки Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
Макет.Область("СуммаБезСкидки").ШиринаКолонки +
Макет.Область("СуммаСкидки").ШиринаКолонки;
КонецЕсли;
СуммаБезСкидки = 0;
СуммаСкидки = 0;
Сумма = 0;
СуммаНДС = 0;
ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
ОбластьСкидки = Макет.ПолучитьОбласть("Строка|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма");
ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар");
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьТовар.Параметры.Номенклатура = "" + ВыборкаСтрокТовары.Номенклатура +" - "+ ВыборкаСтрокТовары.ФИО;
ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
Если Колонка = "Артикул" Тогда
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
Иначе
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
КонецЕсли;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар);
ТабДокумент.Присоединить(ОбластьДанных);
Если ЕстьСкидки Тогда
ОбластьСкидки.Параметры.Заполнить(ВыборкаСтрокТовары);
ТабДокумент.Присоединить(ОбластьСкидки);
КонецЕсли;
ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары);
ТабДокумент.Присоединить(ОбластьСуммы);
СуммаБезСкидки = СуммаБезСкидки + ВыборкаСтрокТовары.СуммаБезСкидки;
СуммаСкидки = СуммаСкидки + ВыборкаСтрокТовары.СуммаСкидки;
Сумма = Сумма + ВыборкаСтрокТовары.Сумма;
СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС;
КонецЦикла;
ОбластьДанных.Параметры.Товар = "Это моя строка";
ОбластьДанных.Параметры.Товар = "Это моя строка";
Не изменило чего? Так-же выводится Товар?
ПАРДОН, ребятки..... Поменял. Сечас вставлю там запрос.
Чудненько. Все получилось. ОГРОМНОЕ СПАСИБО.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua