Особенности использования 1С БСП «Подключаемые команды» при переходе на версию 2.4
При переходе на версию 1С БСП 2.4, приходится переписывать процедуру инициализации подключения стандартной подсистемы «Подключаемые команды». Если в предыдущих версиях использовались процедуры общих модулей «УправлениеПечатью», «ВводНаОснование», «МенюОтчеты», то в версии 2.4 требуется вызывать процедуры одного общего модуля «ПодключаемыеКоманды».
Рассмотрим по шагам, что надо сделать, чтобы подключаемые команды появились на формах добавленных (нетиповых) документов или справочников.
Инициализация подключаемых команд в процедуре «ПриСозданииНаСервере» в модуле формы объекта (или списка):
В вызываемой процедуре «ПодключаемыеКоманды.ПриСозданииНаСервере()» происходит:
а) программное добавление всех необходимых команд формы
б) расположение их в нужных подменю
в) назначение в качестве действия команд формы процедуры «Подключаемый_ВыполнитьКоманду()»
Описание подключаемых команд в модуле формы объекта (списка).
Команда «Подключаемый_ВыполнитьКоманду()» — назначается всем подключаемым командам. Команда Подключаемый_ВыполнитьКомандуНаСервере()- используется, когда требуется контекстный вызов сервера. Команда Подключаемый_ОбновитьКоманды() — служит для обновления команд формы.
В командной панели формы объекта (списка) должны присутствовать отмеченные пункты подменю. Это требование не изменилось в версии 2.4
В модуле менеджера объекта создаются экспортные процедуры для добавления нужных команды на формы объектов. В версии БСП 2.4 есть небольшие изменения, касающиеся параметров процедур.
ДобавитьКомандыСозданияНаОсновании() — экспортная процедура, в которой заполняется таблица «КомандыСозданияНаОсновании». Команды из этой таблицы выводятся на форму в «ПодменюСоздатьНаОсновании».
ДобавитьКомандуСоздатьНаОсновании() — экспортная функция, которая используется для добавления команды создания текущего объекта на основании других объектов.
ДобавитьКомандыОтчетов() — экспортная процедура, в которой заполняется таблица «КомандыОтчетов». Команды из этой таблицы выводятся на форму в «ПодменюОтчеты».
ДобавитьКомандыПечати() — экспортная процедура, в которой заполняется таблица «КомандыПечати». Команды из этой таблицы выводятся на форму в «ПодменюПечать».
Все предыдущие шаги можно сделать по аналогии типовых объектов. При переходе на версию БСП 2.4 во всех типовых объектах разработчики проводят указанные выше модификации. Но для вывода на форму своих (добавленных) объектов этого будет не достаточно, подключаемые команды не появятся на формах. В версии БСП 2.4 необходимо сделать еще следующие доработки:
БСП. Подключаемые команды. Команды заполнения
Как понятно из названия статьи, подсистема “Подключаемые команды” является частью библиотеки стандартных подсистем (далее БСП).
В каждом прикладном решении есть объекты входящие в эту подсистему. Следовательно, для этих объектов можно подключать дополнительные команды.
И именно слово “подключать” подойдет здесь лучше всего. Сейчас коротко объясню почему:
Ближе к делу.
В качестве примера я использовал заполнение документа “Премия» типового прикладного решения “1С:Зарплата и управление персоналом 3”.
Допустим, нам нужно реализовать такой алгоритм расчета премии, который сложно выполнить с помощью типового расчета.
Для этой цели отлично подойдет подключаемая команда заполнения.
В файлах публикации Вы можете скачать шаблон-заготовку, а также готовый вариант обработки заполнения документа «Премия».
Итак, приступим …
В первую очередь в модуле объекта нужно заполнить функцию СведенияОВнешнейОбработке.
В параметрах регистрации укажем “ЗаполнениеОбъекта”. Это в дальнейшем повлияет на расположение кнопки на форме объекта назначения. (все варианты см. ИТС).
Определим объекты, к которым мы подключаем нашу обработку. В нашем случае это один документ “Премия”
Заполним остальные поля параметров регистрации
Добавим команду открытия обработки, которая в дальнейшем появится в документе «Премия». «Вид использования» выбираем «ОткрытиеФормы».
Описание других видов использования:
В нашем примере применяется взаимодействие с пользователем, поэтому выбираем вариант «ОткрытиеФормы».
Теперь наша обработка технически готова к добавлению в состав дополнительных отчетов и обработок типового прикладного решения!
Осталось добавить механизм расчета премии и сохранения результатов расчета.
Немного подробнее о механизме открытия формы обработки…
При добавлении команды в таблицу команд мы указали вид команды «ОткрытиеФормы». Это значит, что при выполнении команды «Рассчитать премию» будет открыта основная форма нашей обработки.
В этой форме перечислены ключевые параметры, в которые БСП будет записывать данные необходимые для выполнения обработки.
Для вида использования «ОткрытиеФормы» существуют следующие параметры:
Кроме того, в данном случае можно обратиться к контексту формы объекта-владельца. Это делается через конструкцию «ВладелецФормы.Объект» в процедуре формы «ПриОткрытии». Конструкция «ВладелецФормы.Объект» дает возможность считывать необходимые данные из объекта-владельца, а также записать в объект результаты расчета премии.
Переходим к расчету премии…
Для получения актуальных данных документа «Премия» будем использовать конструкцию «ВладелецФормы.Объект» в процедуре «ПриОткрытии».
Процедура «ЗаполнитьРеквизитыФормыНаСервере» считывает актуальные значения реквизитов объекта владельца и через модуль объекта записывает их в реквизиты обработки.
На форме добавлены две команды «РассчитатьПремию» и «ПеренестиВДокумент».
По команде «РассчитатьПремию» вызывается процедура модуля объекта с расчетом.
Здесь записан самый примитивный расчет, ибо цель статьи показать работу подключаемой обработки, а не разбирать ньюансы расчета сумм премии.
По команде «ПеренестиВДокумент» вызывается процедура «ПеренестиВДокументОтвет»:
После завершения цикла имеет смысл принудительно установить флаг модифицированности формы объекта-владельца, а также принудительно закрыть форму обработки.
Теперь обработку можно добавить в список дополнительных отчетов и обработок прикладного решения и проверить как она функционирует.
В разных типовых прикладных решениях кнопка заполнения на форме может отображаться в разных местах. Для «1С:Зарплата и управление персоналом 3» кнопка появится здесь:
Использование подключаемых команд в 1С:УХ
В этой статье пойдет речь об использовании подключаемых команд в конкретной конфигурации 1С:УХ (3.0.8.11). Подсистема «Подключаемые команды» (далее кратко Подсистема) предоставляет программный интерфейс для вывода различных команд в формах, списках и журналах программы. Подсистема стандартизована и использование ее достаточно типично для большинства конкретных конфигураций 1С. Но я специально оговариваю конкретную конфигурации и ее релиз. Подсистема основана на Библиотеке стандартных процедур (БСП), но релиз БСП может меняться. Поэтому реализация в одной конфигурации может отличаться от другой. Кроме того, решение может устаревать.
2. Как добавить внешние печатные формы
Передо мной стояла задача добавить внешние печатные формы в документах, которые изначально не имели кнопки Печать. Еще отмечу такую деталь: справочник Дополнительные обработки в 1С:УХ отличается от аналогичного справочника в других конфигурация.
Вначале нам надо добавить наши документы в список документов, у которых будет подключены добавленные внешние печатные формы. В общем модуле УправлениеПечатьюПереопределяемый находим процедуру ПриОпределенииОбъектовСКомандамиПечати и добавляем строки:
В результате в справочнике Дополнительные обработки появятся нужные нам документы в Размещение.
Затем в документах в модуле менеджера необходимо добавить процедуру ДобавитьКомандыПечати:
Обратите внимание, что процедура пустая. В общем случае в ней должны быть процедуры печати для встроенных макетов. Но у нас печатная форма внешняя, и без этого мы не можем подключить процедуру печатной формы.
Теперь приступим непосредственно к подключению кнопки Печать. В форме документа в процедуру ПриСозданииНаСервере добавим строки:
Таким образом у нас в документе появиться кнопка Печать. Но этого еще недостаточно. Нам надо добавить обработчики этой кнопки. В форме документа добавляем блок процедур:
Добавив обработчики, в результате по нажатию на кнопку Печать у нас будет формироваться печатная форма.
Как видите, никаких рисований и добавления объектов в форму документа. Добавление и изменения процедур возможно в расширении конфигурации. Таким образом мы сохраняем конфигурацию поставщика. И, как следствие, нам это облегчит обновление конфигурации.
Специалист компании ООО «Кодерлайн»
Чеботаренко Виталий
Подключение команд на форму с помощью БСП (1С)
Использование библиотеки БСП «Подключаемые команды» подключения для команд на форму.
Испытывалось на платформе 8.3.15.конфигурации и 1830 УТ 11.4.8.92.
При переходе на версию 1С приходится 2.4, БСП переписывать процедуру инициализации подключения подсистемы стандартной «Подключаемые команды».
Если в предыдущих использовались версиях процедуры общих модулей «УправлениеПечатью», «МенюОтчеты», «ВводНаОснование», то в версии 2.4 требуется вызывать процедуры общего одного модуля «ПодключаемыеКоманды».
1. Инициализация подключаемых процедуре в команд ПриСозданииНаСервере в модуле формы объекта (списка или).
В вызываемой процедуре ПодключаемыеКоманды.ПриСозданииНаСервере() программное:
а) происходит добавление всех необходимых команд расположение
б) формы их в нужных подменю
в) назначение в качестве команд действия формы процедуры Подключаемый_ВыполнитьКоманду()
2. Описание подключаемых команд в модуле объекта формы (списка).
Подключаемый_ВыполнитьКоманду() – назначается подключаемым всем командам. Подключаемый_ВыполнитьКомандуНаСервере() – используется, требуется когда контекстный вызов сервера. Подключаемый_служит() – ОбновитьКоманды для обновления команд формы.
3. В КонецПроцедуры панели формы объекта (списка) присутствовать должны отмеченные пункты подменю. Их можно стандартных у скопировать объектов (например, из формы документа Это ).
ЗаказКлиента требование не изменилось в версии 2.4
4. В модуле объекта менеджера создаются экспортные процедуры для нужных добавления команды на формы объектов.
В версии есть 2.4 БСП небольшие изменения, касающиеся параметров ДобавитьКомандыСозданияНаОсновании.
Отчеты ДвиженияДокумента и МестаИспользования автоматически добавятся. А отчет СтруктураПодчиненности нужно добавлять Пример.
Подключаемые команды [расширение] УТ 11
Типы параметров
Свойства
Пользователи
Группы пользователей
Результат
Р.S. При подключении к расширениям в модулях объектом расширения должна быть процедура:
Требования: Платформа 8.3.12
Скачать файлы
Специальные предложения
(6) Да ок, жаль. Хотя как я понимаю в эту сторону были попытки, в справочнике уже есть колонка ИмяФормы. Доработал запрос и указываю теперь в настройках справочника ИмяФормы.
То как вы предлагаете, не очень оптимально, поскольку данный код ниже запроса.
Обновление 01.04.19 23:00
См. также
Шпаргалка разработчика для работы с формами Промо
Сборник помогает быстро освоить встроенный язык и средства конфигурирования при разработке обычных и управляемых форм.
31.10.2018 18481 87 ELAM 3
K-SOFT: Улучшенная форма отчета
Если вы любитель добавлять много отборов на форму отчета, и вас раздражает, что отборы занимают большую часть отчета, и их никак не убрать, то вам сюда. Простая доработка, что позволит скрыть отборы на время анализа отчета.
19.05.2021 6186 6 karpik666 18
Отображение времени в документах и списках
Расширение предназначено для отображения времени документов в списках и журналах, а также для ручного редактирования времени в открытых формах.
10.03.2020 3681 1 Nuuq 4
СКД: красивые надписи в заголовках колонок
Необходимо немного исправить вывод надписей в заголовках колонок, сделать более читаемый вариант. Как это сделать?
27.02.2020 13171 8 wowik 36
Каталог игр с приставок из моего детства Промо
Каталог игр Dendy, Sega, Nintendo из нашего детства.
06.02.2018 17445 70 user621724_Dimav1979 37
Прорыв и провал 3D графики в 1С
Здравствуйте, уважаемые. Эта статья опоздала, хотя я спешил как мог. В любом случае, речь тут пойдет про WebGL и технологии работы с 3D в 1C. Сразу оговорюсь, что всё это работало до последнего времени и на тонком, толстом, вэб клиентах, платформах 8.3 и на 8.2. Единственное, что изменило ситуацию, это WebKit, внедренный в 1С начиная с релиза 8.3.14.1565.
11.02.2020 9734 14 dinopopyys 29
Общая форма отчета (для отчета с СКД)
Единообразная форма отчёта для отчётов с СКД. Режим совместимости платформы должен быть не ниже версии 8.3.7.
04.02.2020 4247 3 olegpkc 4
Сохранение и изменение настроек форм у всех пользователей 1С: Документооборот
Расширение позволяет быстро и удобно сохранять и тиражировать настройки форм от Администратора всем пользователям программы.
01.02.2020 10968 36 st_Etlau 7
Сетевая игра «СловоБой» на управляемых формах Промо
10.11.2016 21121 8 woldemarr 0
Изменение масштаба интерфейса «Такси» 1С (управляемые формы)
13.01.2020 4697 4 Denr83 0
Ханойские башни
Решение головоломки «Ханойская башня» с визуализацией в среде 1С.
23.12.2019 6048 3 13vap 0
Альтернатива меню «Все функции»
Просмотр доступных объектов, когда не знаешь, где их найти, и недоступно меню «Все функции» Доступно с версии платформы 8.3.6.1977 (используется СтрРазделить()) Тестировалось на 8.3.11.
07.12.2019 6310 6 user1217016 1
Игра «Самоцветы» (Bejeweled теперь и в 1С) + звук Промо
20.10.2010 32317 276 Tatitutu 68
Коллекция иконок Material Design для 1С
Стандартная коллекция иконок от Google, импортированная в отдельную конфигурацию для удобного использования в различных проектах.
06.11.2019 9684 46 L0z4 6
«Все функции» с плюшками
Замена штатному меню для тех, кто хочет открывать «Все функции» быстро и кто скучает по быстрому позиционированию по первым символам, как было раньше.
06.11.2019 8889 26 codejs 6
Отображение дополнительных сведений на форме документа как реквизитов
Расширение позволяет редактировать дополнительные сведения не в отдельно открываемом окне, а непосредственно на форме документа.
05.11.2019 13698 31 9269477065 20
Игра: Лабиринт для 1С (теперь и для 8.0-8.2) Промо
24.09.2010 30505 453 Tatitutu 24
Индикатор выполнения (прогресс-бар) с таймером остаточного времени выполнения (обычное приложение + УФ)
08.10.2019 9982 17 slayer-ekb 5
Блэк Джек
Блэк джек, написанный на платформе 1С 8.2 (обычные формы).
07.10.2019 6304 1 Azamatex 2
Заголовок окна операционной системы при работе под управлением ОС Windows в терминальном режиме или в режиме удаленного рабочего стола (Такси)
После перехода на версию 8.3.15 переключение вариантов отображения главного окна приложения выполняется автоматически, в зависимости от того, в какой ОС и каком окружении запускается клиентское приложение. Кроме того, при работе клиентского приложения в ОС Windows имеется возможность управления отображением заголовка ОС с помощью методов ПолучитьОтображениеЗаголовкаОС()/УстановитьОтображениеЗаголовкаОС() объекта КлиентскоеПриложение. Установить отображение заголовка окна ОС можно только в обработчике события ПередНачаломРаботыСистемы.
17.09.2019 6456 5 tsatsur 8
Игра «2048» Промо
Убьем рабочее время, господа! Суть игры набрать 2048 в одном квадратике, складывая квадратики с одинаковыми цифрами
13.03.2014 54221 45 mrmasson 11
Картинки конфигурации
Иногда перед разработчиками 1С встает вопрос: есть ли подходящая общая картинка в конфигурации или нужно рисовать свою для кнопки? А какие вообще картинки есть в конфигурации и какие у них размеры? Поиск подходящей картинки через конфигуратор мне показался не совсем удобным, поэтому и появился отчет по общим картинкам конфигурации. Отчет универсальный, должен работать в любой конфигурации и на обычных, и на управляемых формах. Важно: версия платформы 1С должна быть 8.3.14 или выше.
10.09.2019 7735 18 rusmil 6
Вывод напоминаний со звуком
Вывод напоминания пользователю со звуком для привлечения внимания.
29.08.2019 5028 8 Kutuzov 11
Перемещение дополнительных реквизитов на форме
Перемещение дополнительных реквизитов, без изменения конфигурации (расширение) (конфигурация остается типовой).
27.06.2019 5197 6 sulig 3
Tactical 1C 2.1: Тактическая сетевая игра на двух (и более) человек для 1С 8.1 Промо
03.09.2009 27280 145 Greymem 18