- Как создать внешнюю обработку в 1С 8.3 (управляемые формы)
- Включение механизма внешних обработок в программе
- Создание новой внешней обработки в 1С 8.3 на примере
- Описание функции «Сведения О Внешней Обработке»
- Подключение внешней обработки в 1С 8.3
- Программирование в 1С для всех
- Создать обработку 1С
- Создать внешнюю обработку 1С
- Добавить внешнюю обработку 1С
- Сохранить обработку 1С в файл
- Подсистема обработки 1С
- Основная форма обработки 1С
- Права на обработку 1С
- Открыть обработку 1с
- Открыть внешнюю обработку 1С
Как создать внешнюю обработку в 1С 8.3 (управляемые формы)
Рассмотрим в данной статье пошаговую инструкцию по созданию внешней обработки в 1С 8.3 в режиме управляемого приложения, соответственно, будем использовать управляемые формы. А самое главное — мы научимся подключать её к механизму «внешних обработок» конфигураций 1С, построенных на библиотеке стандартных подсистем версии 2.0 и новее.
Задача будет следующая: создать простейшую внешнюю обработку, которая будет выполнять групповое действие над справочником «Номенклатура», а именно, устанавливать выбранный процент ставки НДС для указанной группы номенклатуры.
Включение механизма внешних обработок в программе
Для этого сразу произведем необходимую настройку в программе (рассматривается конфигурация 1С 8.3: «Бухгалтерия предприятия 3.0» на управляемых формах).
Заходим в меню «Администрирование» и по ссылке «Печатные формы, отчеты и обработки» переходим в настройки. Здесь нужно установить флажок «Дополнительные отчеты и обработки»:
Установка данного флажка дает нам возможность использовать внешние обработки.
Создание новой внешней обработки в 1С 8.3 на примере
Теперь переходим в конфигуратор. В меню «Файл» выбираем «Новый…». Откроется окно выбора вида создаваемого файла. Выбираем «Внешняя обработка»:
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Откроется окно новой внешней обработки. Сразу зададим ей имя. Оно будет предложено при сохранении обработки на диск:
Добавим новую управляемую форму обработки. Указываем, что это форма обработки и она является основной:
На форме у нас будет два реквизита:
- ГруппаНоменклатуры – ссылка на справочник «Номенклатура»;
- ВыбСтавкаНДС – ссылка на перечисление Ставки НДС.
Создаем реквизиты в колонке «Реквизит» в верхнем правом окне. Перетаскиваем мышкой их в левое верхнее окно. Новые реквизиты должны сразу отобразиться на форме внизу.
Очередность реквизитов можно менять стрелками «Вверх» – «Вниз»:
Осталось добавить кнопку «Установить». В управляемых формах нельзя просто так добавить кнопку на форму. Даже если добавить её в структуру элементов формы, на самой форме её видно не будет. Кнопку обязательно нужно связать с командой, которую она будет выполнять. Переходим к закладке «Команды» и добавляем команду «УстановитьСтавкуНДС». В свойствах команды создаем действие. Обработчик команды выбираем «На клиенте». Команду можно добавить на форму также простым «перетаскиванием» в раздел с элементами формы.
В модуле формы будет создана одноименная процедура. В ней вызовем процедуру на сервере:
В процедуре на сервере напишем небольшой запрос и действия, связанные с установкой ставки НДС:
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка В ИЕРАРХИИ (&ГруппаНоменклатуры)
| И НЕ Номенклатура.ПометкаУдаления
| И НЕ Номенклатура.ЭтоГруппа»;
Запрос.УстановитьПараметр(«ГруппаНоменклатуры», ГруппаНоменклатуры);
РезЗапроса = Запрос.Выполнить();
ВыбДетЗаписи = РезЗапроса.Выбрать();
Пока ВыбДетЗаписи.Следующий() Цикл
СпрНомОбъект = ВыбДетЗаписи.Ссылка.ПолучитьОбъект();
СпрНомОбъект.СтавкаНДС = ВыбСтавкаНДС;
Попытка
СпрНомОбъект.Записать();
Исключение
Сообщить(«Ошибка записи объекта «»» + СпрНомОбъект + «»»!
|» + ОписаниеОшибки());
КонецПопытки;
Возвращаемся на закладку «Форма», добавляем на форму кнопку и связываем ее с командой:
Как таковая наша обработка готова к использованию. Чтобы ее вызвать, в режиме «1С Предприятия» нужно зайти в меню «Файл» – «Открыть» и выбрать созданный файл.
Однако работа в таком режиме удобна для отладки обработки, а для работы пользователю не совсем подходит. Пользователи привыкли, чтобы у них все было «под рукой», то есть в самой базе данных.
Для этого и служит раздел «Дополнительные отчеты и обработки».
Но чтобы добавить туда нашу обработку, нужно сначала дать ей описание и сообщить программе ее свойства.
Описание функции «Сведения О Внешней Обработке»
Приведу пример содержимого данной функции. Она должна быть экспортной и, соответственно, располагаться в модуле обработки:
Функция СведенияОВнешнейОбработке() Экспорт
ДанныеДляРег = Новый Структура();
ДанныеДляРег.Вставить(«Наименование», «Установка ставки НДС»);
ДанныеДляРег.Вставить(«БезопасныйРежим», Истина);
ДанныеДляРег.Вставить(«Версия», «ver.: 1.001»);
ДанныеДляРег.Вставить(«Информация», «Обработка для установки ставки НДС в справочнике Номенклатура»);
ДанныеДляРег.Вставить(«Вид», «ДополнительнаяОбработка»);
ТабЗнКоманды = Новый ТаблицаЗначений;
ТабЗнКоманды.Колонки.Добавить(«Идентификатор»);
ТабЗнКоманды.Колонки.Добавить(«Использование»);
ТабЗнКоманды.Колонки.Добавить(«Представление»);
НовСтрока = ТабЗнКоманды.Добавить();
НовСтрока.Идентификатор = «ОткрытьОбработку»;
НовСтрока.Использование = «ОткрытиеФормы»;
НовСтрока.Представление = «Открыть обработку»;
ДанныеДляРег.Вставить(«Команды», ТабЗнКоманды);
Чтобы лучше понять, какие поля структуры регистрационных данных нужно использовать, посмотрим реквизиты справочника «Дополнительные отчеты и обработки»:
Как видим, все довольно просто. Не совпадает лишь один реквизит: «ВариантЗапуска» – «Использование». Если посмотреть код одного из общих модулей, то мы увидим, как возникает связка этих полей:
Чтобы определить, какие поля структуры обязательны, можно сначала не описывать ее, просто создать пустую, а далее воспользоваться отладчиком. Если трассировать модули при регистрации обработки, сразу становится ясно, какие поля требуются, а какие нет.
Подключение внешней обработки в 1С 8.3
Перейдем теперь в режим «1С Предприятия» и добавим внешнюю обработку:
После записи обработки в справочник нажатием кнопки «Выполнить» она открывается на выполнение. Здесь же можно указать, в каких разделах (подсистемах) программы будет отображаться данная обработка и для каких пользователей.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Источник
Программирование в 1С для всех
В этой статье мы узнаем, что такое обработки в платформе 1С 8.3 и для каких целей они нужны. Научимся создавать обработки в качестве объектов метаданных конфигурации 1С, научимся создавать внешние обработки, создавать формы обработок, добавлять обработки в подсистемы и давать права на обработки пользователям, а также узнаем, как открыть внешнюю обработку в 1С.
В платформе 1С, помимо объектов конфигурации, которые так или иначе связаны ведением учета (например, Справочники – для хранения однотипной информации, Документы – для отображения событий), существует объект, который напрямую не связан с ведением учета, и с помощью которого можно осуществлять различные вспомогательные действия (групповая обработка справочников и документов, загрузка – выгрузка информации и т.д.). Этот объект – Обработка. Обработки могут быть как объекты какой-то конфигурации, а также внешние – в этом случае сама обработка будет храниться где-то на жестком диске, её можно будет открыть в пользовательском клиенте 1С предприятия, и выполнить нужные действия.
Создать обработку 1С
Для того, чтобы создать обработку, в конфигураторе 1С в дереве метаданных необходимо выделить ветку Обработки, вызвать контекстное меню и выполнить команду «Добавить».
После выполнения этой команды, будет создана пустая обработка, которая появится в дереве метаданных в соответствующей ветке, а также откроется окно менеджера обработки.
Обработка создана, и вы можете с ней работать: задать имя обработки, синоним и т.д.
Создать внешнюю обработку 1С
Для того, чтобы создать внешнюю обработку, нужно или выполнить команду «Новый» по пути «Главное меню» — «Файл».
Или нажать на кнопку «Новый» в меню «Стандартная».
После откроется окно «Выбор вида документа», в котором необходимо выбрать «Внешняя обработка».
Откроется окно менеджера внешней обработки, и вы можете проделать с ней все нужные операции.
После того, как внешняя обработка создана, её желательно сохранить на жестком диске (и делать это периодически во время работы с ней в конфигураторе). Для того, чтобы сохранить внешнюю обработку необходимо или нажать на кнопку «Сохранить» меню «Стандартная».
Или выполнить команду «Сохранить» по пути: «Главное меню» — «Файл».
Или просто нажать сочетание клавиш Ctrl + S.
После этих действий откроется окно, в котором можно выбрать каталог, где будет храниться эта внешняя обработка, а также ввести название файла.
После сохранения, у внешней обработки сверху будет прописан путь к ней.
Замечу, что файлы всех внешних обработок имеют расширение epf.
Добавить внешнюю обработку 1С
Иногда возникают задачи добавить внешнюю обработку в конфигурацию 1С. Чтобы это сделать, необходимо выделить ветку «Обработки» дерева метаданных конфигурации, вызвать контекстное меню и выполнить в нем команду «Вставить внешнюю обработку, отчет…».
В открывшемся окне необходимо выбрать нужную обработку.
После, обработка появится в дереве.
Сохранить обработку 1С в файл
Может возникнуть обратная задача: сохранить обработку из какой-то конфигурации в файл, т.е. сделать внешнюю обработку из простой обработки.
Делается это достаточно просто: нужно выделить обработку в дереве конфигурации, вызвать контекстное меню и выполнить команду «Сохранить как внешнюю обработку, отчет…»
Откроется окно «Сохранить как», в котором нужно выбрать месторасположение обработки, а также, если это необходимо, изменить название.
Подсистема обработки 1С
Обработку, которую мы создали в дереве метаданных можно включить в любую подсистему, тогда у нас появится возможность отобразить её в пользовательском интерфейсе. Для того, чтобы включить обработку в подсистему, необходимо зайти на закладку «Подсистемы» менеджера обработки и поставить флаг напротив нужной подсистемы.
Можно включить в подсистему другим способом. Необходимо выделить нужную обработку, вызвать контекстное меню и выполнить в этом меню команду «Дополнительно».
В правой части рабочего стола откроется окно «Дополнительно», в котором на закладке «Подсистемы» можно привязать эту обработку к нужной подсистеме, установив флаг рядом с подсистемой.
После того, как мы поставим флажки, то обработка включится в состав подсистемы.
Но, если мы попробуем её найти в пользовательском клиенте, то ни чего не найдем. Также, её не будет в командном интерфейсе подсистемы.
Причина этому – отсутствие основной формы обработки.
Основная форма обработки 1С
Для того, чтобы обработка появилась в командном интерфейсе, необходимо создать основную форму обработки.
Для этого, нужно в менеджере обработки перейти на вкладку «Формы», в которой нажать на кнопку «Добавить». После, откроется конструктор формы обработки, в котором можно ввести название новой обработки, её синоним, и самое главное установить флаг «Назначить форму основной».
Если вы нажмете на кнопку «Далее», то можете выбрать какие реквизиты обработки будут включены на форму, а если нажать на кнопку «Готово», то форма будет создана без реквизитов.
После этого, обработка появится в командном интерфейсе подсистемы.
Замечу, что основная форма обработки указана в свойстве обработки «Основная форма», если мы это свойство очистим.
То даже при наличии формы, обработка не будет отображаться в командном интерфейсе подсистемы.
Права на обработку 1С
Чтобы пользователь мог работать с обработкой, ему нужно дать права на неё. Для этого, необходимо у соответствующей роли для обработки установить права Использовать и Просмотр.
Если вы установите только право Использовать, то пользователь не сможет видеть обработку в интерфейсе. Он сможет только обращаться в ней посредством программного кода.
Если Вы внедряете обработку в какую-то типовую конфигурацию, то лучше для этого создать отдельную роль, а не изменять текущую. Тогда у вас будет меньше проблем с обновлением в будущем.
Открыть обработку 1с
Для того, чтобы открыть обработку 1С в пользовательском клиенте «1С: Предприятия», необходимо, чтобы она была добавлена в командный интерфейс нужной подсистемы, а также на обработку были даны пользователю соответствующие права. Если всё это сделано, то обработка появится в меню «Сервис» подсистемы, в которую её добавили.
И при выполнении команды с именем обработки будет открыта форма обработки.
Я немного изменил управляемую форму обработки, добавив надпись.
Управляемая форма открылась в независимом окне, если мы хотим, чтобы она открылась поверх окон, то нужно у основной формы обработки установить в свойство «Режим открытия окна» или значение «Блокировать весь интерфейс», или значение «Блокировать окно владельца».
После таких настроек, обработка будет открываться по верх окон.
Открыть внешнюю обработку 1С
Если вы хотите открыть внешнюю обработку 1С, то следует выполнить команду «Открыть», которая находится по пути «Сервис и настройки» — «Файл» (для версии платформы начиная с 8.3.15).
В окне «Открыть» необходимо найти и выбрать нужную вам обработку.
После выйдет предупреждение безопасности, если вы знаете, что это за обработка, то нажимаете кнопку «Да».
Форма внешней обработки открылась.
Замечу, что в моем случае открылась форма обработки в отдельном окне, потому что, во-первых, я создал основную форму внешней обработки, а во-вторых, установил у основной формы в свойство «Режим открытия окна» значение блокировать окно владельца.
Чтобы пользователь мог открывать внешние обработки, ему необходимо установить право «Интерактивное открытие внешних обработок».
Другие статьи по конфигурированию в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Источник