Вывод значения в табличный документ 1С
Скажите, пожалуйста, как вывести значение таблицы в табличный документ, форма не управляемая, проблема с созданием макета, есть ли подробное описание создание макетов? Заранее спасибо!
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Остались вопросы?
СПРОСИТЕ в комментариях!
Программист 1С:
Ссылочка — https://programmist1s.ru/vneshnie-pechatnyie-formyi-v-1s/
Пример функции:
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = “ПАРАМЕТРЫ_ПЕЧАТИ_СчетНаОплатуВРТУ”;
МакетОбработки = ПолучитьМакет(“СчетНаОплатуВнешний”);
//заполняем шапку
ОбластьШапка = МакетОбработки.ПолучитьОбласть(“Шапка”);
ОбластьШапка.Параметры.НомерДокумента = СсылкаНаДокумент.Номер;
ОбластьШапка.Параметры.ДатаДокумента = СсылкаНаДокумент.Дата;
ОбластьШапка.Параметры.НазваниеОрганизации = СсылкаНаДокумент.Организация.Наименование;
//выводим шапку в табличный документ
ТабличныйДокумент.Вывести(ОбластьШапка);
//заполняем строки ТЧ
ОбластьСтроки = МакетОбработки.ПолучитьОбласть(“СтрокаТЧ”);
Для Каждого ТекущаяСтрока Из СсылкаНаДокумент.Товары Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтроки.Параметры, ТекущаяСтрока);
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
//заполняем подвал
ОбластьПодвал = МакетОбработки.ПолучитьОбласть(“Подвал”);
ОбластьПодвал.Параметры.КоличествоИтог = СсылкаНаДокумент.Товары.Итог(“Количество”);
ОбластьПодвал.Параметры.СуммаИтог = СсылкаНаДокумент.Товары.Итог(“Сумма”);
ОбластьПодвал.Параметры.ИмяОтветственного = СсылкаНаДокумент.Менеджер.Наименование;
//выводим подвал в табличный документ
ТабличныйДокумент.Вывести(ОбластьПодвал);
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
КонецФункции
Андрей:
Ссылочка хорошая спасибо, но мне на печать не нужно, просто чтоб был табличный документ (НЕ текстовый файл)
Программист 1С:
Значит вместо вывода на печать, сделайте ТабличныйДокумент.Показать()
Андрей:
подскажите пожалуйста в значение «строки» выводятся числа в «решение», то есть в «строках» пусто, а в «решение» числа из строк, что нужно исправить?
Процедура ВывестиВТабличныйДокумент(Кнопка)
Табл = РасчетТабличногоДокумента();
Табл.Показать();
КонецПроцедуры
функция РасчетТабличногоДокумента()
Табл = Новый ТабличныйДокумент;
ТабДок = ТабличнаяЧасть1.Выгрузить();
макет = ЭтотОбъект.ПолучитьМакет(«ВыводВТабличныйДокумент»);
ОбластьМакетаШапко=Макет.ПолучитьОбласть(«Шапка»);
Табл.Вывести(ОбластьМакетаШапко);
//обход коллекции
Для Каждого ТекущаяСтрока Из Табдок Цикл
ОбластьМакетаСтроки=Макет.ПолучитьОбласть(«Строки»);
ОбластьМакетаСтроки.Параметры.Заполнить(ТекущаяСтрока);
Табл.Вывести(ОбластьМакетаСтроки);
КонецЦикла;
Для Каждого ТекущаяСтрока Из Табдок Цикл
ОбластьМакетаРешение=Макет.ПолучитьОбласть(«Решение»);
ОбластьМакетаРешение.Параметры.Заполнить(ТекущаяСтрока);
Табл.Вывести(ОбластьМакетаРешение);
КонецЦикла;
возврат табл;
Конецфункции
Программист 1С:
С виду всё правильно.. Скорее всего проблема в самой табличке.
Попробуйте использовать не «ОбластьМакетаРешение.Параметры.Заполнить(ТекущаяСтрока);»
А явно указывать параметры:
ОбластьМакетаРешение.Параметры.<ИмяПараметра> = Строка.<ИмяПараметра>
Так гораздо проще разобраться.
И учитесь пользоваться отладчиком 🙂
Андрей:
вы имеет ввиду вот так: ОбластьМакетаРешение.Параметры.а11 = Строка.х1;
Программист 1С:
Да, и лучше учиться называть переменные нормальными именами 🙂
Студентик:
Здравствуйте. Столкнулся с такой задачей (учусь в колледже и позвали с фразой «Тыж учишь 1с)» есть печатная форма транспортной накладной и надо чтоб в графе с продуктом из ТЧ документа продукт выводил не списком, а в 1 строчку\ячейку. Пытался подсмотреть в готовых конфигурациях не смог разобраться. Можете помочь?)
Студентик:
Так же пытался найти в комментариях к подобным статьям, не нашел. 🙁
Кирилл:
Сможем!)
В 1 строку это как? Если 3 товара, то через запятую их названия вывести надо?
Студентик:
Да)
Кирилл:
Могу прям кусочек кода скинуть) Какая конфигурация и версия?
Студентик:
Самописная… по этому и не получается. 🙁
Студентик:
Версия 1ски 8.3.7+
Кирилл:
Ох, будет сложно) скиньте кусочек кода, где цикл для вывода в ТЧ обрабатывается)
Студентик:
СтрокаПродукт = Макет.ПолучитьОбласть(«СтрокаПродукт»);
ВыборкаОтсеки = Выборка.Отсеки.Выбрать();
Пока ВыборкаОтсеки.Следующий() Цикл
Шапка.Параметры.Заполнить(ВыборкаОтсеки);
СтрокаПродукт.Параметры.Продукт = ВыборкаОтсеки.Продукт.Наименование;
ТабДок.Вывести(Шапка, Выборка.Уровень());
КонецЦикла;
Вот таким у меня получается только списком чтоб выводил, искал как по другому не нашел. 🙁