[Практика программирования] Ввод на основании в расширении конфигурации в 1С 8
 
В расширении конфигурации для документов, которые добавлены в расширение за счет расширяемой конфигурации нет возможности типовым образом указать, что они либо вводятся на основании, либо являются основанием для документов, созданных в самом расширении. Необходимо использовать объект расширения конфигурации - "Команда".

Нажатие на изображении увеличит его
как в расширении 1С 8 сделать ввод на основании для документов расширения
Рис. 1. Пример возможности ввода на основании в расширении для документа расширения конфигурации
и заимствованного из основной конфигурации (расширяемого) документа.

В данном практическом примере рассматривается случай из личного опыта, когда в расширении был добавлен документ под названием "Рекламация" (реализация механизма учета претензий, рекламация от покупателей и поставщикам для Управление торговлей 11.5, Комплексная автоматизация, ERP 2.5).  Так же в расширение был добавлен расширяемый типовой документ "Возврат товаров поставщику"

В интернете можно быстро найти описания того, как сделать, реализовать ввод, создание на основании в документах в расширении 1С 8, но все эти описания лишь текстовые. Например, обсуждение на форуме сайта infostart.ru - "Расширения конфигурации как добавить на основании"

Нажатие на изображении увеличит его
1С 8 пошаговое описание, инструкция, руководство, как в расширении сделать ввод, создание на основании
Рис. 2. Пошаговая текстовая инструкция в интернете

Поэтому ниже представлена пошаговое описание того, как настроить ввод на основании для документа, созданного в расширении по отношению к документам, заимствованным (расширяемым) в раcширении конфигурации.

Для это используется общий объект конфигурации под названием "Общие команды". Добавляем, создаем новую общую команду типовым образом.

1с 8 руководство, описание как в расширении сделать ввод на основании
Рис. 3. Создание общей команды в расширении

У созданной команды указываем нужные свойства "Имя", "Синоним". "Синоним" - лучше указать название документа как в конфигурации, т.к. под этим названием будет отображаться название меню создания на основании.

Нажатие на изображении увеличит его
1С 8 руководство, инструкция как добавить в расширение ввод на основании
Рис. 4. Начало заполнения свойств созданной общей команды

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

Нажатие на изображении увеличит его
1С 8 ввод на основании с помощью и через расширение
Рис. 5. Выбор свойства "Группа" общей команды.


 

После указания группы нужно определить, для каких документов будет действовать команда. В текущем примере, т.к. ввод, создание на основании выполняется для документа "Рекламация", чтобы заполнялся документ вида "Возврат товаров поставщику", то рекламации и будет выбран в качестве значения свойства "Тип параметра команды".

Нажатие на изображении увеличит его
1С 8 Расширения конфигурации как добавить на основании руководство, описание
Рис. 6. Выбор типа параметра команды

В результате завершения редактирования свойств новой общей команды для документа "Рекламация" в расширении в форме списка документа на командной панели автоматически платформа создаст подменю "Создать на основании" с пунктом меню "Возврат товаров поставщику" - то наименование, которое было указано в "Синониме" созданной общей команды.

Нажатие на изображении увеличит его
инструкция по шагам 1С 8 Ввод на Основании в Расширении Конфигурации
Рис. 7. Результат добавления общей команды расширения в форме списка документа.

Но при этом не всегда автоматически создаться меню "Создать на основании" в форме документа, даже не смотря на то, что основная "Командная панель" формы не переименовывалась.

Нажатие на изображении увеличит его

Рис. 8. В форме документа подменю "Создать на основании" автоматически не создается в расширении


 

Поэтому нужно будет проделать для созданного в расширении нового документа ручное добавление подменю и разместить команду для создания на основании. Для этого для "Командная панель" добавляем "Группа - Подменю".

1С 8 как реализовать создание одного документа на основании другого в расширении
Рис. 9. Ручное создание подменю для ввода на основании в расширении

Для созданной группы указываем свойства "Имя" и "Заголовок". "Заголовок" указать в логике механизма ввода на основании примерно - "Создать на основании" или как в примере ниже "Ввести на основании".

Нажатие на изображении увеличит его
1С 8 как программно написать код ввод на основании в расширении конфигурации
Рис. 10. Заполнение свойств созданной группы-подменю в форме в 1С 8

После того, как свойства созданной группы-элемента формы заполнены, необходимо добавить ранее созданную команду в качестве подчиненных элементов группы - кнопок. Для этого на вкладке "Глобальные команды" в правой верхней части формы редактирования формы документа среди списка "Параметризуемые" разворачиваем ветку "Объект" и находим общую команду, под тем именем в расширении, под которым создали ранее. Удерживая левой кнопкой мыши перетаскиваем влево на созданную группу формы.

Нажатие на изображении увеличит его
инструкция, руководство, описании как добавить, сделать в расширение 1С 8 создание на основании
Рис. 11. Начало перетаскивания глобальной команды в группу формы

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

Нажатие на изображении увеличит его
1С 8 как сделать создание на основании в расширении конфигурации
Рис. 12. Результат переноса глобальной команды в подменю формы документа.

Остается в модуле общей команды определить исполняемый код, чтобы в механизм ввода (создания) на основании передавались данные документа-основания для последующего использования и заполнения либо в обработчике события подписки на событие (ОбработкаЗаполнения) расширения  либо в расширяемой процедуре "ОработкаЗаполнения" документа или справочника, который будет заполняться. Ниже, под скриншотом, код приведен и доступен для копирования.

Нажатие на изображении увеличит его
1С 8 как программно сделать реализовать ввод, создание на основании в расширении конфигурации
Рис. 13. Определение исполняемого кода в модуле общей команды для ввода/создания на основании

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

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

Если плеер выше по какой-то причине не сработает, то можете воспользоваться видео на YouTube:

Оцените, оказалась ли эта публикация полезна для Вас?

© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

24-12-2023

Журавлев А.С. (Сайт azhur-c.ru)

Назад

 
 

Здесь можно
приобрести лицензии

1С 8
​ и типовые решения

ural-rosaudit.ru - Аудит в сфере ЖКХ, www.ural-rosaudit.ru
azhur-blog.ru - мошенничество в интернете, www.azhur-blog.ru
info-compas.ru - каталог, инфокурсы, видеокурсы, видео курсы, обучение он-лайн, www.info-compas.ru
https://vk.com/effective_ideas - Группа вКонтакте Методы заработка и работы при помощи Интернет

 

Проверить аттестат
Cистема приема платежей, касса для сайта
Cистема управления контентом Santafox&trade. Санкт-Петербург, Ленинский проспект, д. 23 (812) 545-47-48
Яндекс.Метрика