В базе есть документ. "Соглашение".
Хочу на основании его создать шаблон.
По принципу уже имеющих данных, по аналогии создал новый справочник ШаблонСоглашение.
Внес ему все реквизиты документа "Соглашение". Нарисовал форму с этими же реквизитами. На форме списка документа "Соглашение" добавил кнопку и обработчик "Создать по шаблону".
.
В Предприятии создал шаблон с именем "Первый", записал нужные данные по реквизитам и по табличным частям.
Модуль объекта для справочника не записывал пока.
По сути шаблон есть готов. При попытке создать новый документ на основе этого шаблона - получаю документ без указанных данных.
В "ПараметрыФормы" не вносятся "Результаты" шаблона?
или нужен иной алгоритм работы создания шаблона?
Хочу на основании его создать шаблон.
По принципу уже имеющих данных, по аналогии создал новый справочник ШаблонСоглашение.
Внес ему все реквизиты документа "Соглашение". Нарисовал форму с этими же реквизитами. На форме списка документа "Соглашение" добавил кнопку и обработчик "Создать по шаблону".
&НаКлиенте
Процедура СоздатьПоШаблону(Команда)
ОткрытьФорму("Справочник.ШаблонСоглашение.ФормаВыбора",, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ФормаВыбораЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ФормаВыбораЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура("Шаблон", Результат);
ОткрытьФорму("Документ.Соглашение.ФормаОбъекта",ПараметрыФормы,,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
ПоказатьВ Предприятии создал шаблон с именем "Первый", записал нужные данные по реквизитам и по табличным частям.
Модуль объекта для справочника не записывал пока.
По сути шаблон есть готов. При попытке создать новый документ на основе этого шаблона - получаю документ без указанных данных.
В "ПараметрыФормы" не вносятся "Результаты" шаблона?
или нужен иной алгоритм работы создания шаблона?
По теме из базы знаний
- Шаблоны.doc - документы Word из 1С (1С:Совместимо!)
- Заполняем по шаблону (по умолчанию)
- Встраиваемая подсистема "Универсальные шаблоны объектов"
- Шаблон выполнения длительных операций (запуск фоновых заданий, асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса)
- Как поженить типовой RLS и новый документ
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) А вы посмотрите в Отладке что у вас вот тут
Ведь при открытии формы нового документа заполняются не только реквизиты формы, но уже реквизиты нового Объекта...
Вы же их явно не заполняете... И мало того не создаете Нового объекта вообще...
Попробуйте заполнять реквизиты Объект.* по своему шаблону а не поля формы
ПараметрыФормы = Новый Структура("Шаблон", Результат);
Ведь при открытии формы нового документа заполняются не только реквизиты формы, но уже реквизиты нового Объекта...
Вы же их явно не заполняете... И мало того не создаете Нового объекта вообще...
Попробуйте заполнять реквизиты Объект.* по своему шаблону а не поля формы
(6)вот тут я не понял, надо в модуле формы справочника всем его реквизитам присваивать данные из формы шаблона, которая заполнена интерективно.
или уже нужно в документе в процедуре ОбработкаЗаполнения, при создании нового документа получить данные из "ПараметровФормы"?
Структура "ПараметрыФормы" содержит только наименование самого шаблона.
или уже нужно в документе в процедуре ОбработкаЗаполнения, при создании нового документа получить данные из "ПараметровФормы"?
Структура "ПараметрыФормы" содержит только наименование самого шаблона.
(10)
Кнопка у меня под
Выбираю шаблон справочника. Как тут-то вклеить ?
&НаКлиенте
Процедура СоздатьПоШаблону(Команда)
ОткрытьФорму("Справочник.ШаблонСоглашение.ФормаВыбора",, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ФормаВыбораЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ФормаВыбораЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура("Шаблон", Результат);
ОткрытьФорму("Документ.Соглашение.ФормаОбъекта",ПараметрыФормы,,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
ПоказатьКнопка у меня под
СоздатьПоШаблону
Выбираю шаблон справочника. Как тут-то вклеить
Формадок = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента");
&НаКлиенте
Процедура СоздатьПоШаблону(Команда)
ОткрытьФорму("Справочник.ШаблонСоглашение.ФормаВыбора",, ЭтотОбъект,,,,
Новый ОписаниеОповещения("ФормаВыбораЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ФормаВыбораЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Формадок = ПолучитьФорму("Документ.Соглашение.ФормаОбъекта");
Формадок.Объект.Контрагент = Результат.Контрагент;
Формадок.Объект.Склад = Результат.Склад;
Формадок.Объект.Дата = Результат.Дата;
Формадок.Открыть();
КонецПроцедуры
Показать
(12)
в Результат капает только наименование Шаблона. Все данные, записаны в него интерактивно не отражаются в ТЗ "Результат".
Формадок = ПолучитьФорму("Документ.Соглашение.ФормаОбъекта");
Формадок.Объект.Контрагент = Результат.Контрагент;
Формадок.Объект.Склад = Результат.Склад;
Формадок.Объект.Дата = Результат.Дата;
Формадок.Открыть();
Формадок.Объект.Контрагент = Результат.Контрагент;
Формадок.Объект.Склад = Результат.Склад;
Формадок.Объект.Дата = Результат.Дата;
Формадок.Открыть();
в Результат капает только наименование Шаблона. Все данные, записаны в него интерактивно не отражаются в ТЗ "Результат".
Ничего не понял, у тебя "Результат" должен быть не ТЗ(Таблица значений), а ссылка. У ссылки есть реквизиты они доступны на сервере. Пишем функцию для получения реквизитов, можно конечно и через структруру. Какие есть методы и свойства у ТЗ и Структуры можно посмотреть в справочнике Ctrl + F1
&НаСервереБезКонтекста
Функция ПолучитьРеквизиты(Результат)
Структура = Новый Структура;
Структура.Вставить("Контрагент", Результат.Контрагент);
Структура.Вставить("Склад", Результат.Склад);
Возврат Структура;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот