Новый шаблон по существующему документу

1. user1004898 28 11.10.19 16:00 Сейчас в теме
В базе есть документ. "Соглашение".
Хочу на основании его создать шаблон.
По принципу уже имеющих данных, по аналогии создал новый справочник ШаблонСоглашение.
Внес ему все реквизиты документа "Соглашение". Нарисовал форму с этими же реквизитами. На форме списка документа "Соглашение" добавил кнопку и обработчик "Создать по шаблону".

&НаКлиенте
Процедура СоздатьПоШаблону(Команда)
	 ОткрытьФорму("Справочник.ШаблонСоглашение.ФормаВыбора",, ЭтотОбъект,,,,
                    Новый ОписаниеОповещения("ФормаВыбораЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

КонецПроцедуры

&НаКлиенте
Процедура ФормаВыбораЗавершение(Результат, ДополнительныеПараметры) Экспорт 
    
    Если Результат = Неопределено Тогда
        Возврат;
	КонецЕсли;
	ПараметрыФормы = Новый Структура("Шаблон", Результат);
	ОткрытьФорму("Документ.Соглашение.ФормаОбъекта",ПараметрыФормы,,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
   
КонецПроцедуры
Показать
.

В Предприятии создал шаблон с именем "Первый", записал нужные данные по реквизитам и по табличным частям.
Модуль объекта для справочника не записывал пока.
По сути шаблон есть готов. При попытке создать новый документ на основе этого шаблона - получаю документ без указанных данных.
В "ПараметрыФормы" не вносятся "Результаты" шаблона?

или нужен иной алгоритм работы создания шаблона?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. YannikAlx 43 11.10.19 16:11 Сейчас в теме
А сам исходный документ записан?
3. user1004898 28 11.10.19 16:16 Сейчас в теме
(2)
Шаблон записан.
Или при чем тут документ?
4. YannikAlx 43 11.10.19 16:33 Сейчас в теме
(3) А вы посмотрите в Отладке что у вас вот тут
    ПараметрыФормы = Новый Структура("Шаблон", Результат);

Ведь при открытии формы нового документа заполняются не только реквизиты формы, но уже реквизиты нового Объекта...
Вы же их явно не заполняете... И мало того не создаете Нового объекта вообще...
Попробуйте заполнять реквизиты Объект.* по своему шаблону а не поля формы
5. user1004898 28 11.10.19 16:35 Сейчас в теме
(4)
вы имеете ввиду именно программно?
6. YannikAlx 43 11.10.19 16:39 Сейчас в теме
Ну а как же иначе то?
Форма то открывается уже для существующего Нового объекта-документа, у которого реально существуют реквизиты.
Просто открыть форму - это не создание нового объекта!
alex-l19041; +1 Ответить
8. user1004898 28 14.10.19 16:13 Сейчас в теме
(6)вот тут я не понял, надо в модуле формы справочника всем его реквизитам присваивать данные из формы шаблона, которая заполнена интерективно.
или уже нужно в документе в процедуре ОбработкаЗаполнения, при создании нового документа получить данные из "ПараметровФормы"?
Структура "ПараметрыФормы" содержит только наименование самого шаблона.
7. den_vrn 12 14.10.19 12:28 Сейчас в теме
Формадок  = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента");
        Формадок.Объект.Контрагент = Контрагент;
	Формадок.Объект.Склад         = Склад;
        Формадок.Объект.Дата            = Дата;
	Формадок.Открыть();
9. user1004898 28 14.10.19 16:27 Сейчас в теме
(7)
это куда имеется ввиду вписать?
у меня мысль в форму документа вписать данные формы справочника.
10. den_vrn 12 15.10.19 08:24 Сейчас в теме
Алгоритм у тебя будет такой

Кнопка создать по шаблону -> ВЫбор шаблона -> Заполнение нового документа и открытие его формы

.....на кнопку лепи
11. user1004898 28 15.10.19 13:15 Сейчас в теме
(10)
&НаКлиенте
Процедура СоздатьПоШаблону(Команда)
     ОткрытьФорму("Справочник.ШаблонСоглашение.ФормаВыбора",, ЭтотОбъект,,,,
                    Новый ОписаниеОповещения("ФормаВыбораЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

КонецПроцедуры

&НаКлиенте
Процедура ФормаВыбораЗавершение(Результат, ДополнительныеПараметры) Экспорт 
    
    Если Результат = Неопределено Тогда
        Возврат;
    КонецЕсли;
    ПараметрыФормы = Новый Структура("Шаблон", Результат);
    ОткрытьФорму("Документ.Соглашение.ФормаОбъекта",ПараметрыФормы,,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
   
КонецПроцедуры
Показать


Кнопка у меня под
СоздатьПоШаблону

Выбираю шаблон справочника. Как тут-то вклеить
Формадок  = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента");
?
12. den_vrn 12 15.10.19 14:35 Сейчас в теме

&НаКлиенте
Процедура СоздатьПоШаблону(Команда)
     ОткрытьФорму("Справочник.ШаблонСоглашение.ФормаВыбора",, ЭтотОбъект,,,,
                    Новый ОписаниеОповещения("ФормаВыбораЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

КонецПроцедуры

&НаКлиенте
Процедура ФормаВыбораЗавершение(Результат, ДополнительныеПараметры) Экспорт 
    
    Если Результат = Неопределено Тогда
        Возврат;
    КонецЕсли;
  	 	
	Формадок  = ПолучитьФорму("Документ.Соглашение.ФормаОбъекта");
	Формадок.Объект.Контрагент = Результат.Контрагент;
	Формадок.Объект.Склад      = Результат.Склад;
	Формадок.Объект.Дата       = Результат.Дата;
	Формадок.Открыть();	
	
КонецПроцедуры

Показать
13. user1004898 28 18.10.19 10:36 Сейчас в теме
(12)
Формадок = ПолучитьФорму("Документ.Соглашение.ФормаОбъекта");
Формадок.Объект.Контрагент = Результат.Контрагент;
Формадок.Объект.Склад = Результат.Склад;
Формадок.Объект.Дата = Результат.Дата;
Формадок.Открыть();


в Результат капает только наименование Шаблона. Все данные, записаны в него интерактивно не отражаются в ТЗ "Результат".
14. den_vrn 12 18.10.19 10:55 Сейчас в теме
Передай На сервер и там получи значение реквизитов из "Результат"
15. user1004898 28 18.10.19 11:05 Сейчас в теме
(14)
пока еще не разобрался, как вообще в самом модуле формы справочника в ТЗ, (или в Структуру) записать данные, внесенные в саму форму интерактивно.
16. den_vrn 12 18.10.19 15:07 Сейчас в теме
Ничего не понял, у тебя "Результат" должен быть не ТЗ(Таблица значений), а ссылка. У ссылки есть реквизиты они доступны на сервере. Пишем функцию для получения реквизитов, можно конечно и через структруру. Какие есть методы и свойства у ТЗ и Структуры можно посмотреть в справочнике Ctrl + F1

&НаСервереБезКонтекста
Функция ПолучитьРеквизиты(Результат)
	
	Структура = Новый Структура;

	Структура.Вставить("Контрагент", Результат.Контрагент); 
	Структура.Вставить("Склад",      Результат.Склад);
	
	Возврат Структура;	
	
КонецФункции
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот