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