Получение Наименования из заполненной формы для печати документа (вызывается из этой же формы через Печать)
1С:Бухгалтерия 3.0
Платформа 1С v8.3
1С:Франчайзи, автоматизация бизнеса
Россия
Программист
Стажер
Внешний отчет (ert,erf)
Добрый день. Создаю печатную форму через внешнюю обработку. Создал макет, написал запрос к бд (всё работает, проверил через консоль).
В справочнике Контрагенты, при изменении открывается форма - Справочник.Контрагенты.Форма.ФормаЭлемента
Она заполнена данными, мне нужно при нажатии "Печать - Договор" получить данные Поля "Наименование для документов".
Которое я потом по плану буду упаковывать в структуру и использовать для поиска
Результат = РезультатЗапроса.НайтиСледующий(СтруктураДляПоискаЧерезНаименование)
И дальше заполнять данными из результата макет документа.
Как мне получить наименование из формы из которой стартуем печать документа?
В справочнике Контрагенты, при изменении открывается форма - Справочник.Контрагенты.Форма.ФормаЭлемента
Она заполнена данными, мне нужно при нажатии "Печать - Договор" получить данные Поля "Наименование для документов".
Которое я потом по плану буду упаковывать в структуру и использовать для поиска
Результат = РезультатЗапроса.НайтиСледующий(СтруктураДляПоискаЧерезНаименование)
И дальше заполнять данными из результата макет документа.
Как мне получить наименование из формы из которой стартуем печать документа?
По теме из базы знаний
- Корректная двусторонняя печать табличных документов + Простой пример создания внешней печатной формы
- Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3
- Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)
- Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов
- Печать документов по шаблону MS Word с тегами для заполнения из 1С:ЗУП
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)
Ошибка
{ВнешняяОбработка.LC_шаблон_договоров.МодульОбъекта(83,23)}: Переменная не определена (ЭтаФорма)
НужноеНаименование = <<?>>ЭтаФорма.Владелец.НаименованиеДляДокументов; (Проверка: Сервер)
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Справочник.Контрагенты"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Договор поставки Ефремов"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Договор с покупателем ", "ДоговорСПокупателем", "ВызовКлиентскогоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ДоговорСПокупателем", "Договор с покупателем ", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
МакетОбработки = ПолучитьМакет("ДоговорНаПоставку");
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.НаименованиеПолное КАК НаименованиеПолное,
| Контрагенты.ИНН КАК ИНН,
| Контрагенты.КПП КАК КПП,
| Контрагенты.ОсновнойБанковскийСчет КАК ОсновнойБанковскийСчет,
| Контрагенты.ОсновноеКонтактноеЛицо КАК ОсновноеКонтактноеЛицо,
| Контрагенты.РегистрационныйНомер КАК РегистрационныйНомер,
| Контрагенты.НалоговыйНомер КАК НалоговыйНомер,
| Контрагенты.СвидетельствоСерияНомер КАК СвидетельствоСерияНомер,
| Контрагенты.СвидетельствоДатаВыдачи КАК СвидетельствоДатаВыдачи,
| Контрагенты.ДатаРегистрации КАК ДатаРегистрации,
| Контрагенты.КонтактнаяИнформация.(
| НомерТелефона КАК НомерТелефона,
| АдресЭП КАК АдресЭП
| ) КАК КонтактнаяИнформация
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
НужноеНаименование = ЭтаФорма.Владелец.НаименованиеДляДокументов;
СтруктураПоиска = Новый Структура("НаименованиеПолное");
СтруктураПоиска.НаименованиеПолное = НужноеНаименование;
//Перем ДляДокументаИНН;
//Перем ДляДокументаКПП;
ДляДокументаНаименование = НужноеНаименование;
ВыборкаПоНаименованию = Выборка.НайтиСледующий(СтруктураПоиска);
ДляДокументаИНН = ВыборкаПоНаименованию.ИНН;
ДляДокументаКПП = ВыборкаПоНаименованию.КПП;
Сообщить(ДляДокументаИНН);
Сообщить(ДляДокументаКПП);
ПоказатьОшибка
{ВнешняяОбработка.LC_шаблон_договоров.МодульОбъекта(83,23)}: Переменная не определена (ЭтаФорма)
НужноеНаименование = <<?>>ЭтаФорма.Владелец.НаименованиеДляДокументов; (Проверка: Сервер)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот