From c5056006aee31a2f4beffbc3bb8ff29d4e0986a6 Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Mon, 22 Jul 2024 12:47:07 +0300 Subject: [PATCH 1/3] The event subscription system has been reworked --- ...0\275\320\265\320\275\320\270\321\217.xml" | 27 -- .../Ext/Module.bsl" | 65 ----- .../Ext/Module.bsl" | 66 ----- ...1\202\321\207\320\270\320\272\320\270.xml" | 10 +- .../Ext/Module.bsl" | 239 ++++++++++++++++++ .../Ext/Module.bsl" | 68 ----- .../Ext/Module.bsl" | 61 ----- ...0\262\320\260\320\275\320\270\320\270.xml" | 27 -- .../Ext/Module.bsl" | 60 ----- .../Ext/Module.bsl" | 103 ++++++++ ...0\275\320\265\320\275\320\270\321\217.xml" | 27 -- .../Ext/Module.bsl" | 65 ----- ...1\202\321\207\320\270\320\272\320\270.xml" | 10 +- .../Ext/Module.bsl" | 198 +++++++++++++++ ...0\277\320\270\321\201\321\214\321\216.xml" | 27 -- .../Ext/Module.bsl" | 63 ----- .../Ext/Module.bsl" | 63 ----- ...0\262\320\260\320\275\320\270\320\270.xml" | 27 -- .../Ext/Module.bsl" | 60 ----- .../Ext/Module.bsl" | 50 ++-- src/cf/Configuration.xml | 13 +- ...0\275\320\265\320\275\320\270\321\217.xml" | 2 +- ...0\264\320\265\320\275\320\270\321\217.xml" | 2 +- ...0\275\320\265\320\275\320\270\321\217.xml" | 25 +- ...0\277\320\270\321\201\321\214\321\216.xml" | 2 +- ...0\260\320\277\320\270\321\201\320\270.xml" | 2 +- ...0\262\320\260\320\275\320\270\320\270.xml" | 2 +- ...0\275\320\265\320\275\320\270\321\217.xml" | 2 +- ...0\275\320\265\320\275\320\270\321\217.xml" | 25 +- ...0\277\320\270\321\201\321\214\321\216.xml" | 2 +- ...0\260\320\277\320\270\321\201\320\270.xml" | 2 +- ...0\262\320\260\320\275\320\270\320\270.xml" | 2 +- ...0\261\321\213\321\202\320\270\321\217.xml" | 22 +- 33 files changed, 616 insertions(+), 803 deletions(-) delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217/Ext/Module.bsl" rename "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" => "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" (82%) create mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" rename "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" => "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" (81%) create mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" delete mode 100644 "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" rename "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" => "src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" (63%) rename "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" => "src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" (61%) diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" deleted file mode 100644 index 0df9bd6c..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" +++ /dev/null @@ -1,27 +0,0 @@ - - - - - пбп_ДокументыОбработкаЗаполнения - - - ru - Документы обработка заполнения - - - en - Documents processing of filling - - - - false - false - true - true - false - false - false - DontUse - - - \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" deleted file mode 100644 index e0a8de48..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" +++ /dev/null @@ -1,65 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -/////////////////////////////////////////////////////////////////////////////// -// Документы событие "Обработка заполнения" (вызов сервера): обработка событий при заполнении - -#Область ПрограммныйИнтерфейс - -// Возникает при вводе документа на основании, а также при выполнении метода Заполнить, -// при вводе на основании, а также при интерактивном вводе нового. -// -// Параметры: -// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. -// ДанныеЗаполнения - Произвольный - Значение, которое используется как основание для заполнения. -// ТекстЗаполнения - Строка, Неопределено - Текст, используемый для заполнения документа. -// СтандартнаяОбработка - Булево - Признак выполнения стандартной (системной) обработки события. -// -Процедура ДокументыОбработкаЗаполнения(Источник, ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Экспорт - - Если Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыОбработкаЗаполнения().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(ДанныеЗаполнения); - ПараметрыМетода.Добавить(ТекстЗаполнения); - ПараметрыМетода.Добавить(СтандартнаяОбработка); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217/Ext/Module.bsl" deleted file mode 100644 index 32069fc1..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217/Ext/Module.bsl" +++ /dev/null @@ -1,66 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Документы событие "Обработка проведения" (вызов сервера): обработка событий при проведении - -#Область ПрограммныйИнтерфейс - -// Возникает при проведении документа. -// Основное назначение процедуры-обработчика данного события - генерация движений по документу. Выполняется в транзакции записи. -// -// Параметры: -// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. -// Отказ - Булево - Признак проведения документа. -// РежимПроведения - РежимПроведенияДокумента - Текущий режим проведения. -// -Процедура ДокументыОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт - - Если Отказ Или Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыОбработкаПроведения().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(Отказ); - ПараметрыМетода.Добавить(РежимПроведения); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Отказ = ПараметрыМетода[1]; - РежимПроведения = ПараметрыМетода[2]; - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" similarity index 82% rename from "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" rename to "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" index fb37b039..43dc7ff4 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" @@ -1,16 +1,12 @@  - + - пбп_ДокументыПриЗаписи + пбп_ДокументыОбработчики ru - Документы при записи - - - en - Documents when recording + Документы обработчики diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" new file mode 100644 index 00000000..419d862e --- /dev/null +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" @@ -0,0 +1,239 @@ +// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, +// включая доработку типовых конфигураций. +// +// Copyright First BIT company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// URL: https://github.com/firstBitSportivnaya/PSSL/ +// + +/////////////////////////////////////////////////////////////////////////////// +// Документы (обработчики событий) + +#Область ПрограммныйИнтерфейс + +// Возникает при создании документа копированием. +// +// Параметры: +// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. +// ОбъектКопирования - ДокументОбъект - Исходный документ, который является источником копирования. +// +Процедура ПриКопировании(Источник, ОбъектКопирования) Экспорт + + Если Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыПриКопировании().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(ОбъектКопирования); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает при вводе документа на основании, а также при выполнении метода Заполнить, +// при вводе на основании, а также при интерактивном вводе нового. +// +// Параметры: +// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. +// ДанныеЗаполнения - Произвольный - Значение, которое используется как основание для заполнения. +// ТекстЗаполнения - Строка, Неопределено - Текст, используемый для заполнения документа. +// СтандартнаяОбработка - Булево - Признак выполнения стандартной (системной) обработки события. +// +Процедура ОбработкаЗаполнения(Источник, ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Экспорт + + Если Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыОбработкаЗаполнения().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(ДанныеЗаполнения); + ПараметрыМетода.Добавить(ТекстЗаполнения); + ПараметрыМетода.Добавить(СтандартнаяОбработка); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает перед выполнением записи объекта. +// Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа. +// +// Параметры: +// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. +// Отказ - Булево - Признак отказа от записи. +// РежимЗаписи - РежимЗаписиДокумента - Текущий режим записи документа. +// РежимПроведения - РежимПроведенияДокумента - Текущий режим проведения. +// +Процедура ПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт + + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыПередЗаписью().Получить(ТипЗнч(Источник)); + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(Отказ); + ПараметрыМетода.Добавить(РежимЗаписи); + ПараметрыМетода.Добавить(РежимПроведения); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Отказ = ПараметрыМетода[1]; + РежимЗаписи = ПараметрыМетода[2]; + РежимПроведения = ПараметрыМетода[3]; + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает при записи объекта. +// Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. +// +// Параметры: +// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. +// Отказ - Булево - Признак отказа от записи документа. +// +Процедура ПриЗаписи(Источник, Отказ) Экспорт + + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиПриЗаписи().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(Отказ); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Отказ = ПараметрыМетода[1]; + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает при проведении документа. +// Основное назначение процедуры-обработчика данного события - генерация движений по документу. Выполняется в транзакции записи. +// +// Параметры: +// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. +// Отказ - Булево - Признак проведения документа. +// РежимПроведения - РежимПроведенияДокумента - Текущий режим проведения. +// +Процедура ОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт + + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыОбработкаПроведения().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(Отказ); + ПараметрыМетода.Добавить(РежимПроведения); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Отказ = ПараметрыМетода[1]; + РежимПроведения = ПараметрыМетода[2]; + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает при записи документа. +// Основное назначение процедуры-обработчика данного события - проверка правильности заполнения значений реквизитов объекта. +// +// Параметры: +// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. +// Отказ - Булево - Признак проведения документа. +// ПроверяемыеРеквизиты - Массив - Массив проверяемых реквизитов. +// +Процедура ОбработкаПроверкиЗаполнения(Источник, Отказ, ПроверяемыеРеквизиты) Экспорт + + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыОбработкаПроверкиЗаполнения().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(Отказ); + ПараметрыМетода.Добавить(ПроверяемыеРеквизиты); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" deleted file mode 100644 index 7cbe7999..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" +++ /dev/null @@ -1,68 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Документы событие "Перед записью" (вызов сервера): обработка событий перед записью - -#Область ПрограммныйИнтерфейс - -// Возникает перед выполнением записи объекта. -// Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа. -// -// Параметры: -// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. -// Отказ - Булево - Признак отказа от записи. -// РежимЗаписи - РежимЗаписиДокумента - Текущий режим записи документа. -// РежимПроведения - РежимПроведенияДокумента - Текущий режим проведения. -// -Процедура ДокументыПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт - - Если Отказ Или Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыПередЗаписью().Получить(ТипЗнч(Источник)); - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(Отказ); - ПараметрыМетода.Добавить(РежимЗаписи); - ПараметрыМетода.Добавить(РежимПроведения); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Отказ = ПараметрыМетода[1]; - РежимЗаписи = ПараметрыМетода[2]; - РежимПроведения = ПараметрыМетода[3]; - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" deleted file mode 100644 index 2d2e12d6..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" +++ /dev/null @@ -1,61 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Документы событие "При записи" (вызов сервера): обработка событий при записи - -#Область ПрограммныйИнтерфейс - -// Возникает при записи объекта. -// Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. -// -// Параметры: -// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. -// Отказ - Булево - Признак отказа от записи документа. -// -Процедура ДокументыПриЗаписи(Источник, Отказ) Экспорт - - Если Отказ Или Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыПриЗаписи().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(Отказ); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" deleted file mode 100644 index ac3ca3a3..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" +++ /dev/null @@ -1,27 +0,0 @@ - - - - - пбп_ДокументыПриКопировании - - - ru - Документы при копировании - - - en - Documents when copying - - - - false - false - true - true - false - false - false - DontUse - - - \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" deleted file mode 100644 index 82a67492..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" +++ /dev/null @@ -1,60 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Документы событие "При копировании" (вызов сервера): обработка событий при копировании - -#Область ПрограммныйИнтерфейс - -// Возникает при создании документа копированием. -// -// Параметры: -// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. -// ОбъектКопирования - ДокументОбъект - Исходный документ, который является источником копирования. -// -Процедура ДокументыПриКопировании(Источник, ОбъектКопирования) Экспорт - - Если Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыПриКопировании().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(ОбъектКопирования); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" index 07ea30fa..23055c1a 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -128,6 +128,11 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеДокументы(Соответствие); Возврат Соответствие; КонецФункции @@ -145,6 +150,11 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеДокументы(Соответствие); Возврат Соответствие; КонецФункции @@ -162,6 +172,11 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеДокументы(Соответствие); Возврат Соответствие; КонецФункции @@ -179,6 +194,11 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеДокументы(Соответствие); Возврат Соответствие; КонецФункции @@ -196,6 +216,33 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеДокументы(Соответствие); + Возврат Соответствие; + +КонецФункции + +// Определяет соответствие типа источника подписки и имени метода. +// +// Возвращаемое значение: +// Соответствие - в качестве ключа передается тип объекта источника подписки, +// а в качестве значения имя исполняемого метода. +// +// Пример: +// Соответствие.Вставить(Тип("ДокументОбъект.АвансовыйОтчет"), "АвансовыйОтчетОбработкаПроверкиЗаполнения"); +// +Функция ДокументыОбработкаПроверкиЗаполнения() Экспорт + + Соответствие = Новый Соответствие; + + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеДокументы(Соответствие); Возврат Соответствие; КонецФункции @@ -217,6 +264,11 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеСправочники(Соответствие); Возврат Соответствие; КонецФункции @@ -234,6 +286,11 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеСправочники(Соответствие); Возврат Соответствие; КонецФункции @@ -251,6 +308,11 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеСправочники(Соответствие); Возврат Соответствие; КонецФункции @@ -268,6 +330,33 @@ Соответствие = Новый Соответствие; + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеСправочники(Соответствие); + Возврат Соответствие; + +КонецФункции + +// Определяет соответствие типа источника подписки и имени метода. +// +// Возвращаемое значение: +// Соответствие - в качестве ключа передается тип объекта источника подписки, +// а в качестве значения имя исполняемого метода. +// +// Пример: +// Соответствие.Вставить(Тип("СправочникОбъект.Номенеклатура"), "НоменеклатураОбработкаПроверкиЗаполнения"); +// +Функция СправочникиОбработкаПроверкиЗаполнения() Экспорт + + Соответствие = Новый Соответствие; + + // Добавление + + // КонецДобавления + + ОбработатьСоответствиеСправочники(Соответствие); Возврат Соответствие; КонецФункции @@ -278,4 +367,18 @@ #Область СлужебныеПроцедурыИФункции +Процедура ЗаполнитьПолныеПутиВызоваМетодов(ИмяМодуля, Соответствие) + Для каждого Пара Из Соответствие Цикл + Соответствие[Пара.Ключ] = ИмяМодуля + "." + Пара.Значение; + КонецЦикла; +КонецПроцедуры + +Процедура ОбработатьСоответствиеДокументы(Соответствие) + ЗаполнитьПолныеПутиВызоваМетодов("пбп_ДокументыОбработчики", Соответствие); +КонецПроцедуры + +Процедура ОбработатьСоответствиеСправочники(Соответствие) + ЗаполнитьПолныеПутиВызоваМетодов("пбп_СправочникиОбработчики", Соответствие); +КонецПроцедуры + #КонецОбласти // СлужебныеПроцедурыИФункции \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" deleted file mode 100644 index 33410206..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" +++ /dev/null @@ -1,27 +0,0 @@ - - - - - пбп_СправочникиОбработкаЗаполнения - - - ru - Справочники обработка заполнения - - - en - Reference books filling processing - - - - false - false - true - true - false - false - false - DontUse - - - \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" deleted file mode 100644 index f8ab7d83..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/Module.bsl" +++ /dev/null @@ -1,65 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Справочники событие "Обработка заполнения" (вызов сервера): обработка событий при заполнении - -#Область ПрограммныйИнтерфейс - -// Возникает при вводе элемента справочника на основании, а также при выполнении метода Заполнить, -// а также при интерактивном вводе нового. -// -// Параметры: -// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. -// ДанныеЗаполнения - Произвольный - Значение, которое используется как основание для заполнения. -// ТекстЗаполнения - Строка, Неопределено - Текст, используемый для заполнения справочника. -// СтандартнаяОбработка - Булево - Признак выполнения стандартной (системной) обработки события. -// -Процедура СправочникиОбработкаЗаполнения(Источник, ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Экспорт - - Если Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиОбработкаЗаполнения().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(ДанныеЗаполнения); - ПараметрыМетода.Добавить(ТекстЗаполнения); - ПараметрыМетода.Добавить(СтандартнаяОбработка); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти // СлужебныеПроцедурыИФункции \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" similarity index 81% rename from "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" rename to "src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" index 59ebf933..71f7ea76 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270.xml" @@ -1,16 +1,12 @@  - + - пбп_СправочникиПриЗаписи + пбп_СправочникиОбработчики ru - Справочники при записи - - - en - Reference books when recording + Справочники обработчики diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" new file mode 100644 index 00000000..9a75e3cd --- /dev/null +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" @@ -0,0 +1,198 @@ +// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, +// включая доработку типовых конфигураций. +// +// Copyright First BIT company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// URL: https://github.com/firstBitSportivnaya/PSSL/ +// + +/////////////////////////////////////////////////////////////////////////////// +// Справочники (обработчики событий) + +#Область ПрограммныйИнтерфейс + +// Возникает при создании элемента справочника копированием. +// +// Параметры: +// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. +// ОбъектКопирования - СправочникОбъект - Исходный элемент, который является источником копирования. +// +Процедура ПриКопировании(Источник, ОбъектКопирования) Экспорт + + Если Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиПриКопировании().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(ОбъектКопирования); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает при вводе справочника на основании, а также при выполнении метода Заполнить, +// при вводе на основании, а также при интерактивном вводе нового. +// +// Параметры: +// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. +// ДанныеЗаполнения - Произвольный - Значение, которое используется как основание для заполнения. +// ТекстЗаполнения - Строка, Неопределено - Текст, используемый для заполнения справочника. +// СтандартнаяОбработка - Булево - Признак выполнения стандартной (системной) обработки события. +// +Процедура ОбработкаЗаполнения(Источник, ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Экспорт + + Если Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиОбработкаЗаполнения().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(ДанныеЗаполнения); + ПараметрыМетода.Добавить(ТекстЗаполнения); + ПараметрыМетода.Добавить(СтандартнаяОбработка); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает перед выполнением записи элемента справочника. +// Процедура-обработчик вызывается после начала транзакции записи, но до начала записи элемента справочника. +// +// Параметры: +// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. +// Отказ - Булево - Признак отказа от записи элемента. +// +Процедура ПередЗаписью(Источник, Отказ) Экспорт + + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиПередЗаписью().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(Отказ); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Отказ = ПараметрыМетода[1]; + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает при записи объекта. +// Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. +// +// Параметры: +// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. +// Отказ - Булево - Признак отказа от записи. +// +Процедура ПриЗаписи(Источник, Отказ) Экспорт + + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиПриЗаписи().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(Отказ); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Отказ = ПараметрыМетода[1]; + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +// Возникает при записи документа. +// Основное назначение процедуры-обработчика данного события - проверка правильности заполнения значений реквизитов объекта. +// +// Параметры: +// Источник - ДокументОбъект - Объект, обрабатываемый подпиской на события. +// Отказ - Булево - Признак проведения документа. +// ПроверяемыеРеквизиты - Массив - Массив проверяемых реквизитов. +// +Процедура ОбработкаПроверкиЗаполнения(Источник, Отказ, ПроверяемыеРеквизиты) Экспорт + + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыОбработкаПроверкиЗаполнения().Получить(ТипЗнч(Источник)); + + Если ЗначениеЗаполнено(ИмяМетода) Тогда + Попытка + + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(Источник); + ПараметрыМетода.Добавить(Отказ); + ПараметрыМетода.Добавить(ПроверяемыеРеквизиты); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); + + Исключение + ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); + КонецПопытки; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" deleted file mode 100644 index c15a5f62..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" +++ /dev/null @@ -1,27 +0,0 @@ - - - - - пбп_СправочникиПередЗаписью - - - ru - Справочники перед записью - - - en - Reference books before recording - - - - false - false - true - true - false - false - false - DontUse - - - \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" deleted file mode 100644 index 2b031ca7..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216/Ext/Module.bsl" +++ /dev/null @@ -1,63 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Справочники событие "Перед записью" (вызов сервера): обработка событий перед записью - -#Область ПрограммныйИнтерфейс - -// Возникает перед выполнением записи элемента справочника. -// Процедура-обработчик вызывается после начала транзакции записи, но до начала записи элемента справочника. -// -// Параметры: -// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. -// Отказ - Булево - Признак отказа от записи элемента. -// -Процедура СправочникиПередЗаписью(Источник, Отказ) Экспорт - - Если Отказ Или Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиПередЗаписью().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(Отказ); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Отказ = ПараметрыМетода[1]; - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти // СлужебныеПроцедурыИФункции \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" deleted file mode 100644 index 952b29b3..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Module.bsl" +++ /dev/null @@ -1,63 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Справочники событие "При записи" (вызов сервера): обработка событий при записи - -#Область ПрограммныйИнтерфейс - -// Возникает при записи объекта. -// Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. -// -// Параметры: -// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. -// Отказ - Булево - Признак отказа от записи. -// -Процедура СправочникиПриЗаписи(Источник, Отказ) Экспорт - - Если Отказ Или Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиПриЗаписи().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(Отказ); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Отказ = ПараметрыМетода[1]; - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти // СлужебныеПроцедурыИФункции \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" deleted file mode 100644 index 429ace61..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" +++ /dev/null @@ -1,27 +0,0 @@ - - - - - пбп_СправочникиПриКопировании - - - ru - Справочники при копировании - - - en - Reference books when copying - - - - false - false - true - true - false - false - false - DontUse - - - \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" deleted file mode 100644 index 3e5d8e4e..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270/Ext/Module.bsl" +++ /dev/null @@ -1,60 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright First BIT company -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// URL: https://github.com/firstBitSportivnaya/PSSL/ -// - -//////////////////////////////////////////////////////////////////////////////// -// Справочники событие "При копировании" (вызов сервера): обработка событий при копировании - -#Область ПрограммныйИнтерфейс - -// Возникает при создании элемента справочника копированием. -// -// Параметры: -// Источник - СправочникОбъект - Объект, обрабатываемый подпиской на события. -// ОбъектКопирования - СправочникОбъект - Исходный элемент, который является источником копирования. -// -Процедура СправочникиПриКопировании(Источник, ОбъектКопирования) Экспорт - - Если Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиПриКопировании().Получить(ТипЗнч(Источник)); - - Если ЗначениеЗаполнено(ИмяМетода) Тогда - Попытка - - ПараметрыМетода = Новый Массив; - ПараметрыМетода.Добавить(Источник); - ПараметрыМетода.Добавить(ОбъектКопирования); - - пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - - Исключение - ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); - КонецПопытки; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти // ПрограммныйИнтерфейс - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти // СлужебныеПроцедурыИФункции \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\205\320\265\320\274\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\205\320\265\320\274\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Ext/Module.bsl" index ae980e61..94b0bb6c 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\205\320\265\320\274\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\205\320\265\320\274\321\213\320\227\320\260\320\277\321\200\320\276\321\201\320\276\320\262/Ext/Module.bsl" @@ -121,20 +121,11 @@ КонецЦикла; - // Удалим "мусор" схемы запроса - НомерПоля = 1; - ИскомаяПодстрока = " КАК Поле" + НомерПоля; - НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; - Пока НайденоМусорноеПоле Цикл - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИскомаяПодстрока, ""); - - НомерПоля = НомерПоля + 1; - ИскомаяПодстрока = " КАК Поле" + НомерПоля; - НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; - КонецЦикла; - НовыйТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса(); + // Удалим "мусор" схемы запроса + УдалитьНенужныеПоля(НовыйТекстЗапроса); + Если ТипЗнч(Запрос) = Тип("Строка") Тогда Запрос = НовыйТекстЗапроса; ИначеЕсли ТипЗнч(Запрос) = Тип("Запрос") Тогда @@ -145,14 +136,13 @@ КонецФункции -// Добавляет новое поле в конец секции выборки переданного запроса +// Добавляет список полей в конец секции выборки переданного запроса // // Параметры: // Запрос - Строка, Запрос - текст запроса или запрос. // ВыраженияПолей - СписокЗначений - выражения полей для секции выборки. // * Значение - Строка - Выражение поля для секции выборки // * Представление - Строка - Псевдоним поля, может быть не заполнен -// ПсевдонимПоля - Строка - псевдоним поля для секции выборки. // ИндексЗапросаВПакете - Число - индекс запроса в пакете запросов. Если не задано, то последний запрос в пакете. // РасширениеЯзыкаЗапросовСКД - Булево - Истина, когда требуется дополнительно добавить поле в секцию // ВЫБРАТЬ расширения языка запросов СКД. @@ -237,16 +227,7 @@ НовыйТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса(); // Удалим "мусор" схемы запроса - НомерПоля = 1; - ИскомаяПодстрока = " КАК Поле" + НомерПоля; - НайденоМусорноеПоле = СтрНайти(НовыйТекстЗапроса, ИскомаяПодстрока) > 0; - Пока НайденоМусорноеПоле Цикл - НовыйТекстЗапроса = СтрЗаменить(НовыйТекстЗапроса, ИскомаяПодстрока, ""); - - НомерПоля = НомерПоля + 1; - ИскомаяПодстрока = " КАК Поле" + НомерПоля; - НайденоМусорноеПоле = СтрНайти(НовыйТекстЗапроса, ИскомаяПодстрока) > 0; - КонецЦикла; + УдалитьНенужныеПоля(НовыйТекстЗапроса); Если ТипЗнч(Запрос) = Тип("Строка") Тогда Запрос = НовыйТекстЗапроса; @@ -789,3 +770,24 @@ #КонецОбласти #КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура УдалитьНенужныеПоля(ТекстЗапроса) + + // Удалим "мусор" схемы запроса + НомерПоля = 1; + ИскомаяПодстрока = " КАК Поле" + НомерПоля; + НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; + МаксимальноеКоличествоПолей = 20; + Пока НайденоМусорноеПоле И НомерПоля < МаксимальноеКоличествоПолей Цикл + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИскомаяПодстрока, ""); + + НомерПоля = НомерПоля + 1; + ИскомаяПодстрока = " КАК Поле" + НомерПоля; + НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index 1c69ed15..57b33602 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -266,11 +266,7 @@ пбп_BSLEditor пбп_JSONEditor пбп_XMLEditor - пбп_ДокументыОбработкаЗаполнения - пбп_ДокументыОбработкаПроведения - пбп_ДокументыПередЗаписью - пбп_ДокументыПриЗаписи - пбп_ДокументыПриКопировании + пбп_ДокументыОбработчики пбп_ЖурналРегистрации пбп_ЖурналРегистрацииСлужебный пбп_ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера @@ -309,10 +305,7 @@ пбп_РаботаСФормами пбп_РегламентныеЗаданияСервер пбп_РегламентныеЗаданияСлужебныйСервер - пбп_СправочникиОбработкаЗаполнения - пбп_СправочникиПередЗаписью - пбп_СправочникиПриЗаписи - пбп_СправочникиПриКопировании + пбп_СправочникиОбработчики пбп_СтандартныеПодсистемыКлиент пбп_СтандартныеПодсистемыПовтИсп пбп_СтандартныеПодсистемыСлужебныйКлиент @@ -323,10 +316,12 @@ пбп_ТипСоответствияОбъектовИБПереопределяемый пбп_ДокументыОбработкаЗаполнения пбп_ДокументыОбработкаПроведения + пбп_ДокументыОбработкаПроверкиЗаполнения пбп_ДокументыПередЗаписью пбп_ДокументыПриЗаписи пбп_ДокументыПриКопировании пбп_СправочникиОбработкаЗаполнения + пбп_СправочникиОбработкаПроверкиЗаполнения пбп_СправочникиПередЗаписью пбп_СправочникиПриЗаписи пбп_СправочникиПриКопировании diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" index 1c41c8a3..67dc382c 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" @@ -18,7 +18,7 @@ cfg:DocumentObject Filling - CommonModule.пбп_ДокументыОбработкаЗаполнения.ДокументыОбработкаЗаполнения + CommonModule.пбп_ДокументыОбработчики.ОбработкаЗаполнения \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" index ce1dfe95..58d73d8c 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" @@ -18,7 +18,7 @@ cfg:DocumentObject Posting - CommonModule.пбп_ДокументыОбработкаПроведения.ДокументыОбработкаПроведения + CommonModule.пбп_ДокументыОбработчики.ОбработкаПроведения \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" similarity index 63% rename from "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" rename to "src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" index 9d18218b..c1f7809c 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\321\217.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" @@ -1,27 +1,20 @@  - + - пбп_ДокументыОбработкаПроведения + пбп_ДокументыОбработкаПроверкиЗаполнения ru - Документы обработка проведения - - - en - Documents processing of the event + Документы обработка проверки заполнения - false - false - true - true - false - false - false - DontUse + + cfg:DocumentObject + + FillCheckProcessing + CommonModule.пбп_ДокументыОбработчики.ОбработкаПроверкиЗаполнения - + \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" index 98aeefc0..9f7f22a1 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" @@ -18,7 +18,7 @@ cfg:DocumentObject BeforeWrite - CommonModule.пбп_ДокументыПередЗаписью.ДокументыПередЗаписью + CommonModule.пбп_ДокументыОбработчики.ПередЗаписью \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" index b18d760a..ff23ea61 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" @@ -18,7 +18,7 @@ cfg:DocumentObject OnWrite - CommonModule.пбп_ДокументыПриЗаписи.ДокументыПриЗаписи + CommonModule.пбп_ДокументыОбработчики.ПриЗаписи \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" index b0ec9096..a870e0fa 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" @@ -18,7 +18,7 @@ cfg:DocumentObject OnCopy - CommonModule.пбп_ДокументыПриКопировании.ДокументыПриКопировании + CommonModule.пбп_ДокументыОбработчики.ПриКопировании \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" index c850a75b..8efea901 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" @@ -18,7 +18,7 @@ cfg:CatalogObject Filling - CommonModule.пбп_СправочникиОбработкаЗаполнения.СправочникиОбработкаЗаполнения + CommonModule.пбп_СправочникиОбработчики.ОбработкаЗаполнения \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" similarity index 61% rename from "src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" rename to "src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" index 0ee10382..878e1b09 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" @@ -1,27 +1,20 @@  - + - пбп_ДокументыПередЗаписью + пбп_СправочникиОбработкаПроверкиЗаполнения ru - Документы перед записью - - - en - Documents before recording + Справочники обработка проверки заполнения - false - false - true - true - false - false - false - DontUse + + cfg:CatalogObject + + FillCheckProcessing + CommonModule.пбп_СправочникиОбработчики.ОбработкаПроверкиЗаполнения - + \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" index f0189c35..5fbb96be 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216.xml" @@ -18,7 +18,7 @@ cfg:CatalogObject BeforeWrite - CommonModule.пбп_СправочникиПередЗаписью.СправочникиПередЗаписью + CommonModule.пбп_СправочникиОбработчики.ПередЗаписью \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" index 232b9fc0..c048b0a7 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\227\320\260\320\277\320\270\321\201\320\270.xml" @@ -18,7 +18,7 @@ cfg:CatalogObject OnWrite - CommonModule.пбп_СправочникиПриЗаписи.СправочникиПриЗаписи + CommonModule.пбп_СправочникиОбработчики.ПриЗаписи \ No newline at end of file diff --git "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" index e6b5c354..1c51f22f 100644 --- "a/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" +++ "b/src/cf/EventSubscriptions/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\237\321\200\320\270\320\232\320\276\320\277\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.xml" @@ -18,7 +18,7 @@ cfg:CatalogObject OnCopy - CommonModule.пбп_СправочникиПриКопировании.СправочникиПриКопировании + CommonModule.пбп_СправочникиОбработчики.ПриКопировании \ No newline at end of file diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.xml" index 055189e3..98939ce9 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.xml" @@ -29,16 +29,20 @@ EventSubscription.пбп_СправочникиПередЗаписью EventSubscription.пбп_СправочникиПриЗаписи EventSubscription.пбп_СправочникиПриКопировании - CommonModule.пбп_ДокументыОбработкаЗаполнения - CommonModule.пбп_ДокументыОбработкаПроведения - CommonModule.пбп_ДокументыПередЗаписью - CommonModule.пбп_ДокументыПриЗаписи - CommonModule.пбп_ДокументыПриКопировании - CommonModule.пбп_СправочникиОбработкаЗаполнения - CommonModule.пбп_СправочникиПередЗаписью - CommonModule.пбп_СправочникиПриЗаписи - CommonModule.пбп_СправочникиПриКопировании + 27244677-f80b-4201-8978-15daf0ad24aa + 68ed4dab-09f6-4370-8849-d757e89866e9 + b63fbbbf-2e4a-4682-bd9f-442e5ead3ed2 + 7e6fc857-4ccc-4470-948e-c7f9520b975e + c1064752-20f1-4c49-bd86-96c887d7544c + 72870756-01a9-4309-83a3-2abce45e9093 + 19d975a7-6656-4488-be04-d41bd043087f + 70b58d51-970d-49ca-b60b-40feff5c7bab + 3107f6e9-66db-4ccd-873e-c079a6c57bef CommonModule.пбп_ОбщегоНазначенияПовтИсп + CommonModule.пбп_ДокументыОбработчики + CommonModule.пбп_СправочникиОбработчики + EventSubscription.пбп_ДокументыОбработкаПроверкиЗаполнения + EventSubscription.пбп_СправочникиОбработкаПроверкиЗаполнения From 600b1a82f372727577926bbf4648e48e59ada12e Mon Sep 17 00:00:00 2001 From: Denis Ushakov <59319861+denisushakov@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:49:33 +0300 Subject: [PATCH 2/3] =?UTF-8?q?Update=20=D0=9F=D0=BE=D0=B4=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=B8=D0=9D=D0=B0=D0=A1=D0=BE=D0=B1=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D1=8F.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\261\321\213\321\202\320\270\321\217.md" | 78 +++++++++++++++---- 1 file changed, 64 insertions(+), 14 deletions(-) diff --git "a/docs/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.md" "b/docs/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.md" index 76b8f063..8b6637f4 100644 --- "a/docs/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.md" +++ "b/docs/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.md" @@ -1,23 +1,65 @@ -# Подсистема "подписки на события" +# Подсистема "Подписки на события" Подписки на события применяются для реализации дополнительной постобработки или проверок, которые активируются после определённых событий в типовых объектах или модулях менеджера. В случае отстутствия типовой подписки, используется подсистема **"Подписки на события"**. Если нужно внести изменения в типовую логику работы подписки, используется заимствование методов в расширении с аннотацией &ИзменениеИКонтроль. +Общая структура подписок на события: + - Для каждого класса **общий модуль** (пример: "пбп_ДокументыОбработчики") + - В каждом общем модуле распологаются процедуры-обработчики класса (пример: "пбп_ДокументыОбработкаПроведения", "пбп_СправочникиПриЗаписи") + - В области **СлужебныйПрограммныйИнтерфейс** добавляются одноименные процедуры (пример: "СписаниеБезналичныхДенежныхСредствПриЗаписи") + - В общем модуле **пбп_ОбщегоНазначенияПовтИсп** добавить в соответствие тип объекта и вызываемую процедуру в одноименной функции **(Указывать только имя процедуры!)** + Порядок действий при работе с подсистемой: - - Необходимо проверить, существует ли общая подписка на нужный тип объекта и событие. Например: **ДокументОбработкаПроведения**, **СправочникПриЗаписи** и так далее. -Недопускается смешение типов объектов и событий в одной подписке. Если подписки не существует, нужно её добавить, а так же общий модуль с аналогичным названием (напр. **пбп_ДокументыОбработкаЗаполнения** - и подписка, и общий модуль). + - Необходимо проверить, существует ли общая подписка на нужный тип объекта и событие. Например: **пбп_ДокументыОбработкаПроведения**, **пбп_СправочникиПриЗаписи** и так далее. +Недопускается смешение типов объектов и событий в одной подписке. Если подписки не существует, нужно её добавить, а так же общий модуль с аналогичным названием (напр. **пбп_ДокументыОбработчики** - и подписка, и общий модуль). Добавить их в подсистему **пбп_ПодпискиНаСобытия**. - Если создана новая подписка и модуль, то в модуле создается обработчик для подписки и выбрать его в подписке. У каждого события свой набор параметров. + - Структура общего модуля обработчиков: + - В области **СлужебныйПрограммныйИнтерфейс** располагать обработчики объектов, в ней располагаются подобласти по обработчикам. Допустимо добавлению произвольных областей внутри **СлужебныйПрограммныйИнтерфейс**, для группировки по подсистемам. +```1C (BSL) +#Область ПрограммныйИнтерфейс + +Процедура ПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт +КонецПроцедуры + +Процедура ПриЗаписи(Источник, Отказ) Экспорт +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +// Добавить процедуры обработчиков объектов в эту область + +#Область ПередЗаписью +#КонецОбласти + +#Область ПриЗаписи + +Процедура СписаниеБезналичныхДенежныхСредствПриЗаписи(Источник, Отказ) Экспорт +КонецПроцедуры + +#КонецОбласти +// Конец добавления + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти +``` + +**Пример обработчика общего модуля "пбп_ДокументыОбработчики":** ```1C (BSL) -Процедура ДокументыОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт - // Опустить обработку, если есть отказ или идёт загрузка обмена данными +Процедура ПриЗаписи(Источник, Отказ) Экспорт + Если Отказ Или Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; // Получение имени метода для исполнения - ИмяМетода = юр_ОбщегоНазначенияПовтИсп.ДокументыОбработкаПроведения().Получить(ТипЗнч(Источник)); + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыПриЗаписи().Получить(ТипЗнч(Источник)); // Выполнение метода, если он определён Если ЗначениеЗаполнено(ИмяМетода) Тогда @@ -26,7 +68,6 @@ ПараметрыМетода = Новый Массив; ПараметрыМетода.Добавить(Источник); ПараметрыМетода.Добавить(Отказ); - ПараметрыМетода.Добавить(РежимПроведения); ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); Исключение // В случае ошибки вывод информации о ней @@ -36,19 +77,28 @@ КонецПроцедуры ``` - - В общем модуле **пбп_ОбщегоНазначенияПовтИсп** найти функцию с названием объекта и события и добавить в соответствие тип объекта и вызываемую процедуру. Если функции для данного набора нет, создать её. + - В общем модуле **пбп_ОбщегоНазначенияПовтИсп** найти функцию с названием объекта и события и добавить в соответствие тип объекта и вызываемую процедуру **(Указывать только имя процедуры!)**. Если функции для данного набора нет, создать её, перед возвратом добавить вызов заранее созданной процедуры: +**Пример вызова процедуры для заполнения соответствия:** ```1C (BSL) -Функция ДокументыОбработкаПроведения() Экспорт +Процедура ОбработатьСоответствие<ИмяКласса>(Соответствие) + ЗаполнитьПолныеПутиВызоваМетодов(<ИмяОбщегоМодуля>, Соответствие); +КонецПроцедуры +``` + +**Пример заполнения соответствия типа объекта и вызываемой процедуры:** +```1C (BSL) +Функция ДокументыПриЗаписи() Экспорт Соответствие = Новый Соответствие; + // Добавление соответствий между типами объектов и методами Соответствие.Вставить(Тип("ДокументОбъект.СписаниеБезналичныхДенежныхСредств"), - "юр_ДокументыОбработкаПроведения.СписаниеБезналичныхДенежныхСредств"); + "СписаниеБезналичныхДенежныхСредствПриЗаписи"); Соответствие.Вставить(Тип("ДокументОбъект.ПоступлениеБезналичныхДенежныхСредств"), - "юр_ДокументыОбработкаПроведения.ПоступлениеБезналичныхДенежныхСредств"); - + "ПоступлениеБезналичныхДенежныхСредствПриЗаписи"); + // КонецДобавления + + ОбработатьСоответствиеДокументы(Соответствие); Возврат Соответствие; КонецФункции ``` - -- В модуле объекта и события добавить экспортную процедуру с такими же параметрами как у основной и добавить необходимую логику. From f557dcba0a121fd66463be39f19e45ccc6acd9f0 Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Mon, 22 Jul 2024 14:53:18 +0300 Subject: [PATCH 3/3] Fixed bug and deleted corrections that we will make for another task --- .../Ext/Module.bsl" | 9 --------- .../Ext/Module.bsl" | 6 +----- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" index 419d862e..fc37ae71 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" @@ -115,10 +115,6 @@ пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - Отказ = ПараметрыМетода[1]; - РежимЗаписи = ПараметрыМетода[2]; - РежимПроведения = ПараметрыМетода[3]; - Исключение ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); КонецПопытки; @@ -150,8 +146,6 @@ пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - Отказ = ПараметрыМетода[1]; - Исключение ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); КонецПопытки; @@ -185,9 +179,6 @@ пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - Отказ = ПараметрыМетода[1]; - РежимПроведения = ПараметрыМетода[2]; - Исключение ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); КонецПопытки; diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" index 9a75e3cd..5241f697 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\270\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270/Ext/Module.bsl" @@ -112,8 +112,6 @@ пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - Отказ = ПараметрыМетода[1]; - Исключение ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); КонецПопытки; @@ -145,8 +143,6 @@ пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(ИмяМетода, ПараметрыМетода); - Отказ = ПараметрыМетода[1]; - Исключение ВызватьИсключение СтрШаблон("%1%2Имя метода: %3", ОписаниеОшибки(), Символы.ПС, ИмяМетода); КонецПопытки; @@ -168,7 +164,7 @@ Возврат; КонецЕсли; - ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.ДокументыОбработкаПроверкиЗаполнения().Получить(ТипЗнч(Источник)); + ИмяМетода = пбп_ОбщегоНазначенияПовтИсп.СправочникиОбработкаПроверкиЗаполнения().Получить(ТипЗнч(Источник)); Если ЗначениеЗаполнено(ИмяМетода) Тогда Попытка