Шаблон обработки заполнения объекта в форме

18.08.20

Разработка - БСП (Библиотека стандартных подсистем)

Шаблон обработки заполнения формы объекта без записи, с возможностью отладки.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Шаблон обработки заполнения формы объекта:
.epf 7,07Kb
10
10 Скачать (1 SM) Купить за 1 850 руб.

После того, как пересмотрел множество примеров шаблонов внешних обработок заполнения объектов, написал свою. Решил поделиться, чтобы вы могли не тратить время на проверку того, что можно передавать на сервер, где использовать РеквизитФормыВЗначение, а где КопироватьДанныеФормы :)

Задача:

1. Заполнение документа в форме, без записи.

2. Возможность отладки.

3. Минимум лишних действий.

Далее код, модуль обработки:

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.Назначение.Добавить("Документ.Премия");
	ПараметрыРегистрации.Наименование = НСтр("ru='Премия'");
	ПараметрыРегистрации.Информация = НСтр("ru='Расчет премии'");
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Идентификатор = "Премии";
	Команда.Представление = "Рассчитать премии";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыЗаполнениеФормы();
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

Процедура ЗаполнитьПремии(Объект) Экспорт
	Для Каждого Стр Из Объект.Начисления Цикл
		Стр.Результат = 1000000;
	КонецЦикла;	
КонецПроцедуры	

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ПараметрыКоманды) Экспорт
	Если ИдентификаторКоманды = "Премии" Тогда
		ЭтаФорма = ПараметрыКоманды.ЭтаФорма;
		ЗаполнитьПремии(ЭтаФорма.Объект);
		ЭтаФорма.Модифицированность = Истина;
		
		Сообщение = Новый СообщениеПользователю();
		Сообщение.Текст = НСтр("ru = 'Премии рассчитаны и заполнены'");
		Сообщение.Сообщить();
	КонецЕсли;	
КонецПроцедуры	

Процедура СведенияОВнешнейОбработке как в документации к БСП.

Здесь стоит обратить внимание на то, что при вызове функции ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке нужно указывать версию БСП, иначе будет выскакивать ошибка. Разумеется сообщение будет не о том, что этот функционал работает начиная с такой-то версии, а о том, что значение Форма не заполнено.

Заполнение Объекта вынесено в отдельную процедуру для того, чтобы была возможность вызвать её из модуля формы.

Модуль формы:


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

&НаКлиенте
Процедура Заполнить(Команда)
	ПараметрыФормы = Новый Структура("Ключ", Объект.СсылкаНаДокумент);
	ФормаДокумента = ПолучитьФорму("Документ.Премия.ФормаОбъекта", ПараметрыФормы);
	
	ОбъектДокумент = ФормаДокумента.Объект;
	ЗаполнитьНаСервере(ОбъектДокумент);
	КопироватьДанныеФормы(ОбъектДокумент,ФормаДокумента.Объект);
	ФормаДокумента.Открыть();
КонецПроцедуры

Здесь мы создаем форму существующего документа. Затем передаем копию объекта этой формы для заполнения на сервере. Форму и непосредственно объект формы на сервер передать нельзя. Копируем  заполненную копию обратно в данные формы и открываем форму. В результате получаем заполненную форму документа без его записи.

Протестировано на релизе платформы 1С:Предприятие 8.3 (8.3.16.1063).

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    3646    16    15    

18

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Расскажу, как использовать полезный функционал - инструментарий разработчика «1С:Библиотека стандартных подсистем» (БСП) в своих объектах метаданных. Статья будет полезна как шпаргалка при написании собственных объектов метаданных.

27.12.2024    3445    PROSTO-1C    15    

43

БСП (Библиотека стандартных подсистем) Программист Бесплатно (free)

Синтакс-помощник БСП - справочник по Библиотеке Стандартных Подсистем, профессиональный инструмент разработчика с интуитивно понятным интерфейсом. Читайте в статье как использовать все возможности справочника и сделать работу с БСП более комфортной и эффективной.

11.12.2024    3906    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

1 стартмани

10.12.2024    997    Iaskeliainen    2    

7

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Некоторые нюансы, если вы захотите создавать свои расширения. Доработка отчета "Связанные документы" для отражения документов расширения. Печатные формы с шаблоном Word.

20.11.2024    3342    milkers    3    

12

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1684    PROSTO-1C    0    

18

БСП (Библиотека стандартных подсистем) Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    1374    PROSTO-1C    4    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7245 20.08.20 22:07 Сейчас в теме
Реклама. Касаемо отладки любых дополнительных внешних обработок в БСП тем, кто в курсе про ИР, рекомендую инструмент "отладка внешних обработок БСП" в варианте "Расширение". Там можно отлаживать файл внешней обработки "на лету".
adhocprog; +1 Ответить
Оставьте свое сообщение