Как в таблице добавить вес, объем и телефон покупателя?
Всем привет. У меня просьба, пожалуйста сильно не критикуйте, я здесь впервые и я новичок в програмировании.
Решаю такую задачу в 1с управлении торговлей:
Сделать печатную форму для документа «Реализация товаров и услуг» со следующими данными:
Шапка:
Организация
Покупатель
Телефон покупателя
Таблица
Номер по порядку
Наименование товара
Количество
Цена
Сумма
Вес
Объем
В итогах вывести поля
Сумма
Вес
Объем
вывел всю инфу кроме вес, объем, телефон покупателя, порядковый номер и итог суммы. Как это можно сделать? я новичок. знаю, что проблема в запросе конструктора, но как ее решить? в запросе, я пока пытаюсь вывести номер телефона Вот код:
А в прикрепленном файл картинка, это то что получилось
Решаю такую задачу в 1с управлении торговлей:
Сделать печатную форму для документа «Реализация товаров и услуг» со следующими данными:
Шапка:
Организация
Покупатель
Телефон покупателя
Таблица
Номер по порядку
Наименование товара
Количество
Цена
Сумма
Вес
Объем
В итогах вывести поля
Сумма
Вес
Объем
вывел всю инфу кроме вес, объем, телефон покупателя, порядковый номер и итог суммы. Как это можно сделать? я новичок. знаю, что проблема в запросе конструктора, но как ее решить? в запросе, я пока пытаюсь вывести номер телефона Вот код:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Заказ для реализации товаров"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Эту ВПФ мы сделали для того что бы посмотреть возможности БСП ");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Тестовое задание1", "ТестовоеЗадание1", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ТестовоеЗадание1",
"Тестовое задание1",
СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки=ПолучитьМакет("ТестовыйМакет");
ОбластьШапки=МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.Организация=СсылкаНаОбъект.Организация;
ОбластьШапки.Параметры.Покупатель=СсылкаНаОбъект.Партнер;
//ОбластьШапки.Параметры.Телефон=СсылкаНаОбъект.СправочникТабличнаяЧасть.Партнеры.КонтактнаяИнформация.НомерТелефона;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Партнер.КонтактнаяИнформация.(
| НомерТелефона КАК ПартнерНомерТелефона
| ) КАК Партнер
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Партнер.Ссылка = &Ссылка"";
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(ОбластьШапки.Параметры,Выборка);
Телефон = Выборка.ПартнерНомерТелефона;
КонецЦикла;
ОбластьШапки.Параметры.Телефон = Телефон;
ТабличныйДокумент.Вывести(ОбластьШапки);
ОбластьСтроки=МакетОбработки.ПолучитьОбласть("Таблица");
Для каждого ТекущаяСтрока Из СсылкаНаОбъект.Товары Цикл
//ОбластьСтроки.Параметры.Номер=ТекущаяСтрока.Номер;
ОбластьСтроки.Параметры.Товар=ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Количество=ТекущаяСтрока.Количество;
ОбластьСтроки.Параметры.Цена=ТекущаяСтрока.Цена;
ОбластьСтроки.Параметры.Сумма=ТекущаяСтрока.Сумма;
//ОбластьСтроки.Параметры.Вес=ТекущаяСтрока.Вес;
//ОбластьСтроки.Параметры.Объем=ТекущаяСтрока.Объем;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
ОбластьПодвала=МакетОбработки.ПолучитьОбласть("Подвал");
//ОбластьПодвал.Параметры.ИтогоСумма = ИтогоСумма;
//ОбластьПодвала.Параметры.Сумма=СсылкаНаОбъект.Товары.Сумма;
//ОбластьПодвала.Параметры.Вес=СсылкаНаОбъект.Товары.Вес;
//ОбластьПодвала.Параметры.Объем=СсылкаНаОбъект.Товары.Объем;
ТабличныйДокумент.Вывести(ОбластьПодвала);
Возврат ТабличныйДокумент;
КонецФункции // СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектПечати)()
ПоказатьА в прикрепленном файл картинка, это то что получилось
Прикрепленные файлы:

По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вам нужно левое соединение с регистром КонтактнаяИнформация
что-то типа такого:
ВЫБРАТЬ
КонтактнаяИнформация.Представление
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
левое СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО РеализацияТоваровУслуг.Контрагент = КонтактнаяИнформация.Объект И КонтактнаяИнформация.Вид = &Вид
ГДЕ
РеализацияТоваровУслуг.Партнер.Ссылка = &Ссылка"";
где &Вид это вид вашего телефона
что-то типа такого:
ВЫБРАТЬ
КонтактнаяИнформация.Представление
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
левое СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО РеализацияТоваровУслуг.Контрагент = КонтактнаяИнформация.Объект И КонтактнаяИнформация.Вид = &Вид
ГДЕ
РеализацияТоваровУслуг.Партнер.Ссылка = &Ссылка"";
где &Вид это вид вашего телефона
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот