Команда прикладного объекта в УФ

Мне понадобилось формировать РКО на основании документа «Выплата зарплаты».

Я решил добавить команду документа «Выплата зарплаты», чтобы она была автоматом доступна и в форме документа и в списке документов.

Нюанс заключался также в том, что эту команду я добавлял в расширении.

Саму команду добавляю так:

В свойствах команды поставил группу Важное и тип параметра, иначе она не показывалась в меню:

При двойном щелчке на команде открывается ее модуль, где можно написать код команды.

В форме документа команда выглядит так:

В форме списка документов так:

Команда может быть вызвана и из несохраненной формы, но для общности я работаю только с ссылками, потому я проверяю, что форма открыта.

Также если форма открыта из списка, нужно самостоятельно определить ссылку на текущий элемент, 1С это за вас не сделает.

В итоге код по получении ссылки на документ при открытии такой:

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

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

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *