Как обратиться к команде объекта 1с
Упр.формы. Есть документ, у него есть команда Выгрузить(), у команды соответственно есть ОбработкаКоманды().
Требуется, в форфме документа, при нажатии пользователем горячей клавиши записать и провести документ, и запустить эту команду.
Не пойму, как программно запустить команду?
Что, программно запустить команду объекта нельзя?
(1) у команды есть обработчик
Аха, ОбработкаКоманды(). И как к нему обратиться?
(3) [И как к нему обратиться?]
ОбработкаКоманды();
Вынеси код из команды в отдельную процедуру и запускай откуда хош, хоть из ОбработкаПроведения.
(4) Код можно?
Документы.МойДок.Выгрузить.ОбработкаКоманды() .
(5)Это понятно. Но хочется красиво. Например, если процедуру в модуле менеджера или объекта сделать экспортной, то ее можно запустить просто через точку Документы.МойДок.МояПроцедура().
А с командой почему так нельзя?
Посмотри метод Оповестить. Может подойдет.
Команды 1С 8.3. Программное создание и программный вызов команды
Для выполнения действий пользователя 1С в системе предназначен объект конфигурации 1С команда. С его помощью разработчик 1С 8 может описывать алгоритмы работы. Итак, как забиндить команду на кнопку? Помимо привычного способа организации связи кнопки и команды (путем ручного добавления команды на форму) возможно и программное создание проекта:
ИмяКоманды = «НоваяКоманда»; ДобавляемаяКоманда = ЭтаФорма.Команды.Добавить(ИмяКоманды); ДобавляемаяКоманда.Действие = «ДействиеПоКоманде»; НоваяКнопкаФормы = Элементы.Вставить(ИмяКоманды, Тип(«КнопкаФормы»)); НоваяКнопкаФормы.ИмяКоманды = ИмяКоманды; НоваяКнопкаФормы.Отображение = ОтображениеКнопки.Картинка; НоваяКнопкаФормы.Картинка = БиблиотекаКартинок.СоздатьЭлемент; НоваяКнопкаФормы.Доступность = Истина;
2. Программный вызов команды 1С 8.3
При необходимости программного вызова команды возможны следующие действия:
1. Если требуется вызвать 1С стандартную команду текущей формы 1С, то в процедуре модуля формы достаточно написать: ЭтаФорма.[ИмяСтандартнойКоманды] В этом случае «ИмяСтандартнойКоманды» – это соответствующее имя команды;
2. Если требуется вызвать обычную команду какой-либо формы, то для вызова необходимо сначала получить форму 1С 8.3, содержащую команду, а затем обращаться непосредственно к команде: Форма= ПолучитьФорму(«Справочник.Контрагенты.Форма.Форма»); Форма.Команда(Неопределено); При этом стоит отметить, что сама команда 1С 8.3 должна быть экспортной. Специалист компании ООО «Кодерлайн» Анна Кондренко.
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) —> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) —>
Вас могут заинтересовать следующие вебинары:
Программирование в 1С [1] => 1С:Бухгалтерия [2] => 1С:Управление производственным предприятием [3] => 1С: Розница [4] => 1С: CRM [5] => 1С: Управление торговлей [6] => Бюджетирование [7] => СКД [8] => 1С: Конвертация данных [9] => Администрирование 1С [10] => Конвертация данных [11] => Лицензии 1С [12] => Оптимизация [13] => 1С: Документооборот [14] => 1С: ERP [15] => Транспортная логистика [16] => Техническое задание [17] => Продажи [18] => Ценообразование [19] => Планирование [20] => MS SQL Server [21] => Полезные обработки [22] => МСФО [23] => Отчеты в 1С [24] => XML [25] => Внедрение ERP [26] => Перенос данных [27] => Торговое оборудование [28] => РСБУ [29] => 1С:Управление корпоративными финансами [30] => 1С: Колледж [31] => 1С: Аренда и управление недвижимостью [32] => Финансовый учет ) —>
Команда прикладного объекта в УФ
Мне понадобилось формировать РКО на основании документа «Выплата зарплаты».
Я решил добавить команду документа «Выплата зарплаты», чтобы она была автоматом доступна и в форме документа и в списке документов.
Нюанс заключался также в том, что эту команду я добавлял в расширении.
Саму команду добавляю так:
В свойствах команды поставил группу Важное и тип параметра, иначе она не показывалась в меню:
При двойном щелчке на команде открывается ее модуль, где можно написать код команды.
В форме документа команда выглядит так:
В форме списка документов так:
Команда может быть вызвана и из несохраненной формы, но для общности я работаю только с ссылками, потому я проверяю, что форма открыта.
Также если форма открыта из списка, нужно самостоятельно определить ссылку на текущий элемент, 1С это за вас не сделает.
В итоге код по получении ссылки на документ при открытии такой:
&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) Если Найти(ПараметрыВыполненияКоманды.Источник.ИмяФормы, ".ФормаСписка") > 0 Тогда ТекСсылка = ПараметрыВыполненияКоманды.Источник.Элементы.Список.ТекущаяСтрока; Если ТекСсылка = Неопределено Тогда ПоказатьПредупреждение(, "Выберите документ выплаты зарплаты!"); Возврат; КонецЕсли; Иначе Если ПараметрыВыполненияКоманды.Источник.Модифицированность Тогда ПоказатьПредупреждение(, "Сначала запишите документ выплаты зарплаты!"); Возврат; КонецЕсли; ТекСсылка = ПараметрыВыполненияКоманды.Источник.Объект.Ссылка; КонецЕсли; КонецПроцедуры
Команда
С помощью команд как объекта конфигурации разработчики описывают необходимые действия пользователя. В общем смысле принято различать:
- общие команды, не предназначенные для какого-то конкретного объекта или служащие для действий с объектами, не использующими стандартных команд. Будучи присущими некоторым объектам конфигурации, применяются для запуска операций, которые связаны с конкретным объектом;
- параметризованные, т. е. использующие в алгоритме передаваемое платформой значение, тип которого можно задать посредством конфигуратора. Отражается в формах, имеющих такие же типы реквизитов, что и ее параметр.
Командой также называется действие, выполняемое пользователем в программе, и такие команды можно разделить на:
- стандартные;
- произвольные, или созданные разработчиком.
Команды стандартные поставляются при приобретении платформы, и их могут поставлять:
- объекты конфигурации;
- расширения форм;
- расширения элемента формы «Таблица».
В частности, сам пользователь может создавать и группировать контрагентов, используя команды из справочника «Контрагенты».
Произвольные команды добавляет в конфигурации разработчик, добавляя объекты в общую ветку, конкретный объект конфигурации, описывая в виде процедуры. Так, например, можно добавить команды, необходимые для установки и настройки дополнительного оборудования (сканера штрихкодов и т.п.)
В зависимости от предполагаемого результата команды классифицируют на:
- навигационные команды, облегчающие переход по нужному адресу;
- команды действий, открывающие вспомогательные окна для перехода к формам объектов, отчетов и т.п.
Исходя из отношения к внутреннему устройству команды разделяют на:
Также различают команды, которые поставляются с платформой, не являются частью формы, могут быть включены в любые формы (глобальные формы), а также те, что выступают частями формы и не могут быть включены в иные формы (локальные).
ТОП ПРОДАЖ
- 1С:Бухгалтерия 8
- 1С:Управление нашей фирмой 8
- 1С:Управление торговлей 8
- 1С:Управление предприятием 2
- 1С:ЗУП 8
- 1C:Учет путевых листов и ГСМ
- 1С:Учет в управляющих компаниях
- Электронные поставки 1С
Облачные сервисы
- 1С:Фреш
- 1С:Готовое рабочее место
- 1С:ЭДО
- Маркировка товаров
- 1С:Отчетность
- 1C:Товары
- 1C-Ритейл Чекер