|
|
[Практика программирования] Ввод на основании в расширении конфигурации в 1С 8
В расширении конфигурации для документов, которые добавлены в расширение за счет расширяемой конфигурации нет возможности типовым образом указать, что они либо вводятся на основании, либо являются основанием для документов, созданных в самом расширении. Необходимо использовать объект расширения конфигурации - "Команда".
В данном практическом примере рассматривается случай из личного опыта, когда в расширении был добавлен документ под названием "Рекламация" (реализация механизма учета претензий, рекламация от покупателей и поставщикам для Управление торговлей 11.5, Комплексная автоматизация, ERP 2.5). Так же в расширение был добавлен расширяемый типовой документ "Возврат товаров поставщику". В интернете можно быстро найти описания того, как сделать, реализовать ввод, создание на основании в документах в расширении 1С 8, но все эти описания лишь текстовые. Например, обсуждение на форуме сайта infostart.ru - "Расширения конфигурации как добавить на основании".
Поэтому ниже представлена пошаговое описание того, как настроить ввод на основании для документа, созданного в расширении по отношению к документам, заимствованным (расширяемым) в раcширении конфигурации. Для это используется общий объект конфигурации под названием "Общие команды". Добавляем, создаем новую общую команду типовым образом.
У созданной команды указываем нужные свойства "Имя", "Синоним". "Синоним" - лучше указать название документа как в конфигурации, т.к. под этим названием будет отображаться название меню создания на основании.
Далее необходимо определить, указать выбрать свойство "Группа" общий команды. "Группа по умолчанию" должна быть "Командная панель формы: Создать на основании".
После указания группы нужно определить, для каких документов будет действовать команда. В текущем примере, т.к. ввод, создание на основании выполняется для документа "Рекламация", чтобы заполнялся документ вида "Возврат товаров поставщику", то рекламации и будет выбран в качестве значения свойства "Тип параметра команды".
В результате завершения редактирования свойств новой общей команды для документа "Рекламация" в расширении в форме списка документа на командной панели автоматически платформа создаст подменю "Создать на основании" с пунктом меню "Возврат товаров поставщику" - то наименование, которое было указано в "Синониме" созданной общей команды.
Но при этом не всегда автоматически создаться меню "Создать на основании" в форме документа, даже не смотря на то, что основная "Командная панель" формы не переименовывалась.
Поэтому нужно будет проделать для созданного в расширении нового документа ручное добавление подменю и разместить команду для создания на основании. Для этого для "Командная панель" добавляем "Группа - Подменю".
Для созданной группы указываем свойства "Имя" и "Заголовок". "Заголовок" указать в логике механизма ввода на основании примерно - "Создать на основании" или как в примере ниже "Ввести на основании".
После того, как свойства созданной группы-элемента формы заполнены, необходимо добавить ранее созданную команду в качестве подчиненных элементов группы - кнопок. Для этого на вкладке "Глобальные команды" в правой верхней части формы редактирования формы документа среди списка "Параметризуемые" разворачиваем ветку "Объект" и находим общую команду, под тем именем в расширении, под которым создали ранее. Удерживая левой кнопкой мыши перетаскиваем влево на созданную группу формы.
В результате на форме отобразиться подменю с кнопкой, соответствующей кнопкой команды, которую перетащили.
Остается в модуле общей команды определить исполняемый код, чтобы в механизм ввода (создания) на основании передавались данные документа-основания для последующего использования и заполнения либо в обработчике события подписки на событие (ОбработкаЗаполнения) расширения либо в расширяемой процедуре "ОработкаЗаполнения" документа или справочника, который будет заполняться. Ниже, под скриншотом, код приведен и доступен для копирования.
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
СтрДанные = Новый Структура("Основание", ПараметрКоманды);
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", СтрДанные);
ОткрытьФорму("Документ.ВозвратТоваровПоставщику.Форма.ФормаДокумента", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
КонецПроцедуры
Если приведенное пошаговое описание окажется Вам недостаточным, то можете ознакомиться с последовательностью на примере, приведенном в видео: Если плеер выше по какой-то причине не сработает, то можете воспользоваться видео на YouTube: Оцените, оказалась ли эта публикация полезна для Вас?
© www.azhur-c.ru 2013-2025. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу. 24-12-2023 Журавлев А.С. (Сайт azhur-c.ru) |
|
||||||||||||||
Copyright 2013-. Azhur-c.ru
ИП Журавлев Александр Сергеевич ИНН 667000271590 ОГРНИП 312667014300041 |
|||||||||||||||