Paste1C
  • API
  • О проекте
  • Контакты
  • Регистрация
  • Вход
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2024, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// 
///////////////////////////////////////////////////////////////////////////////////////////////////////

#Область ПрограммныйИнтерфейс

// Позволяет настроить общие параметры подсистемы.
//
// Параметры:
//  ОбщиеПараметры - Структура:
//      * ВыводитьПолныйСтекПриОшибкеДлительнойОперации  - Булево - если Истина, то в информацию об ошибке 
//              для разработчика включается фрагмент стека запуска длительной операции (до старта фонового задания). 
//              Это повышается информативность ошибок, возникающих в фоновых заданиях длительных операций,
//              которые запускаются функциями ДлительныеОперации.ВыполнитьФункцию, ВыполнитьПроцедуру и др.
//              По умолчанию Ложь, чтобы не мешать отладке при остановке по ошибке.
//      * ЗапрашиватьПодтверждениеПриЗавершенииПрограммы - Булево - по умолчанию Истина. Если установить в Ложь, то 
//              подтверждение при завершении работы программы не будет запрашиваться,  если явно не разрешить в
//              персональных настройках программы.
//      * ИмяФормыПерсональныхНастроек  - Строка - имя формы для редактирования персональных настроек.
//      * МинимальнаяВерсияПлатформы    - Строка - минимальная версии платформы, требуемая для запуска программы.
//              Запуск программы на версии платформы ниже указанной будет невозможен. Например, "8.3.6.1650".
//              Допускается указание нескольких версий платформы через точку с запятой.
//              В этом случае минимальная версия платформы будет выбрана, исходя из фактически используемой.
//              Например, "8.3.14.1694; 8.3.15.2107; 8.3.16.1791" - при запуске на предыдущих релизах 8.3.14 
//              будет предложено перейти на 8.3.14.1694, при запуске на 8.3.15 - 8.3.15.2107, и 8.3.16 - 
//              8.3.16.1791, соответственно.
//      * ОтключитьИдентификаторыОбъектовМетаданных - Булево - отключает заполнение справочников ИдентификаторыОбъектовМетаданных 
//              и ИдентификаторыОбъектовРасширений, процедуру выгрузки и загрузки в узлах РИБ.
//              Для частичного встраивания отдельных функций библиотеки в конфигурации без постановки на поддержку.
//      * РекомендуемаяВерсияПлатформы              - Строка - рекомендуемая версия платформы для запуска программы.
//              Например, "8.3.8.2137". Допускается указание нескольких версий платформы через точку с запятой. 
//              См. пример в параметре МинимальнаяВерсияПлатформы.
//      * РекомендуемыйОбъемОперативнойПамяти       - Число - объем памяти в гигабайтах, рекомендуемый 
//               для комфортной работы в программе. По умолчанию 4 Гб.
//
//    Устарели, следует использовать свойства МинимальнаяВерсияПлатформы и РекомендуемаяВерсияПлатформы:
//      * МинимальноНеобходимаяВерсияПлатформы    - Строка - полный номер версии платформы для запуска программы.
//                                                           Например, "8.3.4.365".
//      * РаботаВПрограммеЗапрещена               - Булево - начальное значение Ложь.
//
Процедура ПриОпределенииОбщихПараметровБазовойФункциональности(ОбщиеПараметры) Экспорт
	
	// _Демо начало примера
	_ДемоСтандартныеПодсистемы.ПриОпределенииОбщихПараметровБазовойФункциональности(ОбщиеПараметры);
	// _Демо конец примера
	
КонецПроцедуры

// Определяет соответствие имен параметров сеанса и обработчиков для их установки.
// Вызывается для инициализации параметров сеанса из обработчика события модуля сеанса УстановкаПараметровСеанса
// (подробнее о нем см. синтакс-помощник).
//
// В указанных модулях должна быть размещена процедура обработчика, в которую передаются параметры:
//  ИмяПараметра           - Строка - имя параметра сеанса, который требуется установить.
//  УстановленныеПараметры - Массив - имена параметров, которые уже установлены.
// 
// Далее пример процедуры обработчика для копирования в указанные модули.
//
//// Параметры:
////  ИмяПараметра  - Строка
////  УстановленныеПараметры - Массив из Строка
////
//Процедура УстановкаПараметровСеанса(ИмяПараметра, УстановленныеПараметры) Экспорт
//	
//  Если ИмяПараметра = "ТекущийПользователь" Тогда
//		ПараметрыСеанса.ТекущийПользователь = Значение;
//		УстановленныеПараметры.Добавить("ТекущийПользователь");
//  КонецЕсли;
//	
//КонецПроцедуры
//
// Параметры:
//  Обработчики - Соответствие из КлючИЗначение:
//    * Ключ     - Строка - в формате "<ИмяПараметраСеанса>|<НачалоИмениПараметраСеанса*>".
//                   Символ '*'используется в конце имени параметра сеанса и обозначает,
//                   что один обработчик будет вызван для инициализации всех параметров сеанса
//                   с именем, начинающимся на слово НачалоИмениПараметраСеанса.
//
//    * Значение - Строка - в формате "<ИмяМодуля>.УстановкаПараметровСеанса".
//
//  Пример:
//   Обработчики.Вставить("ТекущийПользователь", "ПользователиСлужебный.УстановкаПараметровСеанса");
//
Процедура ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики) Экспорт
	
	// _Демо начало примера
	Обработчики.Вставить(Метаданные.ПараметрыСеанса._ДемоТекущийПроект.Имя, 
		"Справочники._ДемоПроекты.УстановкаПараметровСеанса"); 
	// _Демо конец примера
	
КонецПроцедуры

// Позволяет задать значения параметров, необходимых для работы клиентского кода
// при запуске конфигурации (в обработчиках событий ПередНачаломРаботыСистемы и ПриНачалеРаботыСистемы) 
// без дополнительных серверных вызовов. 
// Для получения значений этих параметров из клиентского кода
// см. СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗапуске.
//
// Важно: недопустимо использовать команды сброса кэша повторно используемых модулей, 
// иначе запуск может привести к непредсказуемым ошибкам и лишним серверным вызовам.
//
// Параметры:
//   Параметры - Структура - имена и значения параметров работы клиента при запуске, которые необходимо задать.
//                           Для установки параметров работы клиента при запуске:
//                           Параметры.Вставить(<ИмяПараметра>, <код получения значения параметра>);
//
Процедура ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры) Экспорт
	
	// _Демо начало примера
	_ДемоСтандартныеПодсистемы.ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры);
	// _Демо конец примера
	
КонецПроцедуры

// Позволяет задать значения параметров, необходимых для работы клиентского кода
// конфигурации без дополнительных серверных вызовов.
// Для получения этих параметров из клиентского кода
// см. СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента.
//
// Параметры:
//   Параметры - Структура - имена и значения параметров работы клиента, которые необходимо задать.
//                           Для установки параметров работы клиента:
//                           Параметры.Вставить(<ИмяПараметра>, <код получения значения параметра>);
//
Процедура ПриДобавленииПараметровРаботыКлиента(Параметры) Экспорт
	
	// _Демо начало примера
	_ДемоСтандартныеПодсистемы.ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры);
	// _Демо конец примера
	
КонецПроцедуры

// Позволяет выполнить действия перед запуском сеанса программы, которые невозможно отложить на более поздний этап. 
// Например, настроить начальную страницу и другие параметры интерфейса в зависимости от режима работы.
//
// Вызывается в клиентских сеансах и в сеансах регламентных заданий после проверки минимальной версии платформы, 
// заданной в процедуре ОбщегоНазначенияПереопределяемый.ПриОпределенииОбщихПараметровБазовойФункциональности.
// Не вызывается из сеансов фоновых заданий.
//
// Для определения, что запущен клиентский сеанс, можно проверить ТекущийРежимЗапуска() <> Неопределено.
// Для определения других видов сеанса - условие ПолучитьТекущийСеансИнформационнойБазы().ИмяПриложения = "<имя>", 
// например "WSConnection" или "BackgroundJob".
//
// Вызов производится в привилегированном режиме.
//
// Рекомендуется размещать здесь код вместо обработчика события УстановкаПараметровСеанса модуля сеанса 
// с проверкой условия ИменаПараметровСеанса = Неопределено.
// При реализации обработчика следует иметь в виду, что в ИБ могут быть не завершены обработчики обновления
// и не выполнена дальнейшая инициализация, которая происходит позже при запуске программы. 
// Поэтому может быть небезопасно безусловно вызывать другие процедуры и функции, которые зависят от этого.
//
Процедура ПередЗапускомПрограммы() Экспорт

КонецПроцедуры

// Определяет объекты метаданных и отдельные реквизиты, которые исключаются из результатов поиска ссылок,
// не учитываются при монопольном удалении помеченных, замене ссылок и в отчете по местам использования.
// См. также ОбщегоНазначения.ИсключенияПоискаСсылок.
//
// Пример задачи: к документу "Реализация товаров и услуг" подключены подсистемы "Версионирование объектов" и "Свойства".
// Также этот документ может быть указан в других объектах метаданных - документах или регистрах.
// Часть ссылок имеют значение для бизнес-логики (например движения по регистрам) и должны выводиться пользователю.
// Другая часть ссылок - "техногенные" (ссылки на документ из данных подсистем "Версионирование объектов" и "Свойства")
// и должны скрываться от пользователя при удалении, анализе мест использования или запретов редактирования ключевых реквизитов.
// Список таких "техногенных" объектов нужно перечислить в этой процедуре.
//
// При этом для избежания появления ссылок на несуществующие объекты
// рекомендуется предусмотреть процедуру очистки указанных объектов метаданных.
//   * Для измерений регистров сведений - с помощью установки флажка "Ведущее",
//     тогда запись регистра сведений будет удалена вместе с удалением ссылки, указанной в измерении.
//   * Для других реквизитов указанных объектов - с помощью подписки на событие ПередУдалением всех типов объектов
//     метаданных, которые могут быть записаны в реквизиты указанных объектов метаданных.
//     В обработчике необходимо найти "техногенные" объекты, в реквизитах которых указана ссылка удаляемого объекта,
//     и выбрать, как именно очищать ссылку: очищать значение реквизита, удалять строку таблицы или удалять весь объект.
// Подробнее см. в документации к подсистеме "Удаление помеченных объектов".
//
// При исключении регистров допустимо исключать только Измерения.
// При необходимости исключить из поиска значения в ресурсах
// или в реквизитах регистров требуется исключить регистр целиком.
//
// Параметры:
//   ИсключенияПоискаСсылок - Массив - объекты метаданных или их реквизиты (ОбъектМетаданных, Строка),
//       которые не должно учитываться в бизнес-логике.
//       Стандартные реквизиты и табличные части могут быть указаны только в виде строковых имен (см. пример ниже).
//
// Пример:
//   ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов);
//   ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов.Измерения.Объект);
//   ИсключенияПоискаСсылок.Добавить("ПланВидовРасчета.ОсновныеНачисления.СтандартнаяТабличнаяЧасть.БазовыеВидыРасчета.СтандартныйРеквизит.ВидРасчета");
//
Процедура ПриДобавленииИсключенийПоискаСсылок(ИсключенияПоискаСсылок) Экспорт
	
	// _Демо начало примера
	ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыНакопления._ДемоОстаткиТоваровВМестахХранения.Измерения.Номенклатура);
	ИсключенияПоискаСсылок.Добавить("ПланВидовРасчета._ДемоОсновныеНачисления.СтандартнаяТабличнаяЧасть.БазовыеВидыРасчета.СтандартныйРеквизит.ВидРасчета");
	ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений._ДемоРеестрСкладскихДокументов);
	ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений._ДемоРаботникиОрганизаций.Измерения.ФизическоеЛицо);
	ИсключенияПоискаСсылок.Добавить(Метаданные.Документы._ДемоПоручениеЭкспедитору);
	// _Демо конец примера
	
КонецПроцедуры

// Позволяет задать список подчиненных объектов и их связи с основными объектами.
// Подчиненные объекты рекомендуется использовать, если в процессе замены ссылок
// нужно создавать часть объектов или подбирать замену из существующих объектов.
//
// Параметры:
//  ПодчиненныеОбъекты - см. ОбщегоНазначения.ПодчиненныеОбъекты
//
// Пример:
//	СвязиПодчиненногоОбъекта = Новый Соответствие;
//	СвязиПодчиненногоОбъекта.Вставить("ПолеСвязи");
//	ПодчиненныйОбъект = ПодчиненныеОбъекты.Добавить();
//	ПодчиненныйОбъект.ПодчиненныйОбъект = Метаданные.Справочники.<ПодчиненныйСправочник>;
//	ПодчиненныйОбъект.ПоляСвязей = СвязиПодчиненногоОбъекта;
//	ПодчиненныйОбъект.ВыполнятьАвтоматическийПоискЗаменСсылок = Истина;
//
//	СвязиПодчиненногоОбъекта = Новый Массив;
//	СвязиПодчиненногоОбъекта.Вставить("ПолеСвязи");
//	ПодчиненныйОбъект = ПодчиненныеОбъекты.Добавить();
//	ПодчиненныйОбъект.ПодчиненныйОбъект = Метаданные.Справочники.<ПодчиненныйСправочник>;
//	ПодчиненныйОбъект.ПоляСвязей = СвязиПодчиненногоОбъекта;
//	ПодчиненныйОбъект.ВыполнятьАвтоматическийПоискЗаменСсылок = Истина;
//
//	ПодчиненныйОбъект = ПодчиненныеОбъекты.Добавить();
//	ПодчиненныйОбъект.ПодчиненныйОбъект = Метаданные.Справочники.<ПодчиненныйСправочник>;
//	ПодчиненныйОбъект.ПоляСвязей = "ПолеСвязи";
//	ПодчиненныйОбъект.ПриПоискеЗаменыСсылок = "<ОбщийМодуль>";
// 	
Процедура ПриОпределенииПодчиненныхОбъектов(ПодчиненныеОбъекты) Экспорт

	// _Демо начало примера
	ПодчиненныйОбъект = ПодчиненныеОбъекты.Добавить();
	ПодчиненныйОбъект.ПодчиненныйОбъект = Метаданные.Справочники._ДемоКлючиАналитикиНоменклатуры;
	ПодчиненныйОбъект.ПоляСвязей = Справочники._ДемоКлючиАналитикиНоменклатуры.КлючевыеРеквизиты();
	ПодчиненныйОбъект.ПриПоискеЗаменыСсылок = "Справочники._ДемоКлючиАналитикиНоменклатуры";
	ПодчиненныйОбъект.ВыполнятьАвтоматическийПоискЗаменСсылок = Истина;
	
	ПодчиненныйОбъект = ПодчиненныеОбъекты.Добавить();
	ПодчиненныйОбъект.ПодчиненныйОбъект = Метаданные.Справочники._ДемоБанковскиеСчета;
	ПодчиненныйОбъект.ПоляСвязей = "Владелец, НомерСчета, БИКБанка";
	ПодчиненныйОбъект.ПриПоискеЗаменыСсылок = "Справочники._ДемоБанковскиеСчета";
	// _Демо конец примера

КонецПроцедуры

// Выполняется после замены ссылок перед непосредственным удалением объектов.
// 
// Параметры:
//  Результат - см. ОбщегоНазначения.ЗаменитьСсылки
//  ПараметрыВыполнения - см. ОбщегоНазначения.ПараметрыЗаменыСсылок
//  ТаблицаПоиска - см. ОбщегоНазначения.МестаИспользования
//
Процедура ПослеЗаменыСсылок(Результат, ПараметрыВыполнения, ТаблицаПоиска) Экспорт

	// _Демо начало примера
	
	// Регистр сведений _ДемоРаботникиОрганизаций добавлен в исключения поиска ссылок, необходимо выполнить замену в нем.
	Фильтр = Новый Структура("Метаданные", Метаданные.РегистрыСведений._ДемоРаботникиОрганизаций);
	Если ТаблицаПоиска.НайтиСтроки(Фильтр).Количество() > 0 Тогда
		РегистрыСведений._ДемоРаботникиОрганизаций.ЗаменитьСсылки(Результат, ПараметрыВыполнения, ТаблицаПоиска);
	КонецЕсли;	
	// _Демо конец примера

КонецПроцедуры

// Вызывается при обновлении информационной базы для учета переименований подсистем в конфигурации.
// В противном случае, возникнет рассинхронизация между метаданными конфигурации и 
// элементами справочника ИдентификаторыОбъектовМетаданных, что приведет к различным ошибкам при работе конфигурации.
// Переименования задаются с помощью процедуры ОбщегоНазначения.ДобавитьПереименование.
//
// Если в конфигурации предусмотрен переход с предыдущей версии, в которую включена библиотека версии 
// 3.1.5 и меньше, то также необходимо указывать переименования ролей.
//
// Переименования остальных объектов метаданных задавать не следует, т.к. они обрабатываются автоматически.
// См. также ОбщегоНазначения.ИдентификаторОбъектаМетаданных, ОбщегоНазначения.ИдентификаторыОбъектовМетаданных.
//
// Параметры:
//  Переименования - Структура - сведения о переименованиях, которые требуется заполнить с помощью процедуры 
//                               ОбщегоНазначения.ДобавитьПереименование.
//
// Пример:
//	ОбщегоНазначения.ДобавитьПереименование(Переименования, "2.1.2.14",
//		"Подсистема.СлужебныеПодсистемы", "Подсистема.СервисныеПодсистемы");
//
Процедура ПриДобавленииПереименованийОбъектовМетаданных(Переименования) Экспорт
	
	// _Демо начало примера
	_ДемоСтандартныеПодсистемы.ПриДобавленииПереименованийОбъектовМетаданных(Переименования);
	// _Демо конец примера
	
КонецПроцедуры

// Позволяет отключать подсистемы, например, для целей тестирования.
// Если подсистема отключена, то функции ОбщегоНазначения.ПодсистемаСуществует и 
// ОбщегоНазначенияКлиент.ПодсистемаСуществует вернут Ложь.
//
// В реализации этой процедуры нельзя использовать функцию ОбщегоНазначения.ПодсистемаСуществует, 
// т.к. это приводит к рекурсии.
//
// Параметры:
//   ОтключенныеПодсистемы - Соответствие из КлючИЗначение:
//     * Ключ - Строка - имя отключаемой подсистемы
//     * Значение - Булево - Истина
//
Процедура ПриОпределенииОтключенныхПодсистем(ОтключенныеПодсистемы) Экспорт
	
	// _Демо начало примера
	_ДемоСтандартныеПодсистемы.ПриОпределенииОтключенныхПодсистем(ОтключенныеПодсистемы);
	// _Демо конец примера
	
КонецПроцедуры

// Вызывается перед загрузкой приоритетных данных в подчиненном узле РИБ
// и предназначена для заполнения настроек размещения сообщения обмена данными или
// для реализации нестандартной загрузки приоритетных данных из главного узла РИБ.
//
// К приоритетным данным относятся предопределенные элементы, а также
// элементы справочника ИдентификаторыОбъектовМетаданных.
//
// Параметры:
//  СтандартнаяОбработка - Булево - начальное значение Истина; если установить Ложь, 
//                то стандартная загрузка приоритетных данных с помощью подсистемы
//                ОбменДанными будет пропущена (так же будет и в том случае,
//                если подсистемы ОбменДанными нет в конфигурации).
//
Процедура ПередЗагрузкойПриоритетныхДанныхВПодчиненномРИБУзле(СтандартнаяОбработка) Экспорт
	
	// _Демо начало примера
	
	Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
		Если Не ПолучитьФункциональнуюОпцию("ИспользоватьСинхронизациюДанных") Тогда
			// Конвертировать настройки транспорта обмена, как возможно.
			// Включить синхронизацию данных.
		КонецЕсли;
	Иначе
		СтандартнаяОбработка = Ложь;
		// Загрузить приоритетные данные из сообщения обмена
		// (предопределенные элементы, идентификаторы объектов метаданных).
	КонецЕсли;
	
	// _Демо конец примера
	
КонецПроцедуры

// Определяет список версий программных интерфейсов, доступных через web-сервис InterfaceVersion.
//
// Параметры:
//  ПоддерживаемыеВерсии - Структура - в ключе указывается имя программного интерфейса,
//                                     а в значениях - массив строк с поддерживаемыми версиями этого интерфейса.
//
// Пример:
//
//  // СервисПередачиФайлов
//  Версии = Новый Массив;
//  Версии.Добавить("1.0.1.1");
//  Версии.Добавить("1.0.2.1"); 
//  ПоддерживаемыеВерсии.Вставить("СервисПередачиФайлов", Версии);
//  // Конец СервисПередачиФайлов
//
Процедура ПриОпределенииПоддерживаемыхВерсийПрограммныхИнтерфейсов(ПоддерживаемыеВерсии) Экспорт
	
КонецПроцедуры

// Задает параметры функциональных опций, действие которых распространяется на командный интерфейс и рабочий стол.
// Например, если значения функциональной опции хранятся в ресурсах регистра сведений,
// то параметры функциональных опций могут определять условия отборов по измерениям регистра,
// которые будут применяться при чтении значения этой функциональной опции.
//
// См. в синтакс-помощнике методы ПолучитьФункциональнуюОпциюИнтерфейса,
// УстановитьПараметрыФункциональныхОпцийИнтерфейса и ПолучитьПараметрыФункциональныхОпцийИнтерфейса.
//
// Параметры:
//   ОпцииИнтерфейса - Структура - значения параметров функциональных опций, установленных для командного интерфейса.
//       Ключ элемента структуры определяет имя параметра, а значение элемента - текущее значение параметра.
//
Процедура ПриОпределенииПараметровФункциональныхОпцийИнтерфейса(ОпцииИнтерфейса) Экспорт
	
КонецПроцедуры


// Вызывается при запуске сеанса для получения списка оповещений
// которые необходимо отправить с сервера на клиент (из регламентного задания).
// Смотри СтандартныеПодсистемыСервер.ПриОтправкеСерверногоОповещения
// и СтандартныеПодсистемыКлиент.ПриПолученииСерверногоОповещения.
//
// Параметры:
//  Оповещения - Соответствие из КлючИЗначение:
//   * Ключ     - Строка - смотри СерверныеОповещения.НовоеСерверноеОповещение.Имя
//   * Значение - см. СерверныеОповещения.НовоеСерверноеОповещение
//
// Пример:
//	Оповещение = СерверныеОповещения.НовоеСерверноеОповещение(
//		"СтандартныеПодсистемы.ЗавершениеРаботыПользователей.БлокировкаСеансов");
//	Оповещение.ИмяМодуляОтправки  = "СоединенияИБ";
//	Оповещение.ИмяМодуляПолучения = "СоединенияИБКлиент";
//	Оповещение.ПериодПроверки = 300;
//	
//	Оповещения.Вставить(Оповещение.Имя, Оповещение);
//
Процедура ПриДобавленииСерверныхОповещений(Оповещения) Экспорт
	
КонецПроцедуры

// Вызывается из глобального обработчика ожидания по необходимости, но не чаще раза в 60 сек,
// для получения данных с клиента, а также возврате результата на клиент, если нужно.
// Например, для передачи статистики о количестве открытых окон и
// возврате признака дальнейшей передачи статистики с клиента на сервер.
//
// Для получения данных клиента на сервере они должны быть заполнены в параметре Параметры процедуры
// ОбщегоНазначенияКлиентПереопределяемый.ПередПериодическойОтправкойДанныхКлиентаНаСервер.
//
// Для возврата данных с сервера на клиент заполните параметр Результаты,
// который затем будет передан в процедуру
// ОбщегоНазначенияКлиентПереопределяемый.ПослеПериодическогоПолученияДанныхКлиентаНаСервере.
//
// Параметры:
//  Параметры - Соответствие из КлючИЗначение:
//    * Ключ     - Строка       - имя параметра, полученного с клиента.
//    * Значение - Произвольный - значение параметра, полученного с клиента.
//  Результаты - Соответствие из КлючИЗначение:
//    * Ключ     - Строка       - имя параметра, возвращаемого на клиент.
//    * Значение - Произвольный - значение параметра, возвращаемого на клиент.
//
// Пример:
//	МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
//	Попытка
//		Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
//			МодульЦентрМониторингаСлужебный = ОбщегоНазначения.ОбщийМодуль("ЦентрМониторингаСлужебный");
//			МодульЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере(Параметры, Результаты);
//		КонецЕсли;
//	Исключение
//		СерверныеОповещения.ОбработатьОшибку(ИнформацияОбОшибке());
//	КонецПопытки;
//	СерверныеОповещения.ДобавитьПоказатель(Результаты, МоментНачала,
//		"ЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере");
//
Процедура ПриПериодическомПолученииДанныхКлиентаНаСервере(Параметры, Результаты) Экспорт
	
КонецПроцедуры

#Область ОбработчикиОтправкиИПолученияДанныхДляОбменаВРаспределеннойИнформационнойБазе

// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если отправка элемента данных была проигнорирована ранее.
//
// Параметры:
//  Источник                  - ПланОбменаОбъект - узел, для которого выполняется обмен.
//  ЭлементДанных             - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
//  ОтправкаЭлемента          - ОтправкаЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
//  СозданиеНачальногоОбраза  - Булево - см. описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриОтправкеДанныхПодчиненному(Источник, ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза) Экспорт
	
КонецПроцедуры

// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если отправка элемента данных была проигнорирована ранее.
//
// Параметры:
//  Источник          - ПланОбменаОбъект - узел, для которого выполняется обмен.
//  ЭлементДанных     - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
//  ОтправкаЭлемента  - ОтправкаЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриОтправкеДанныхГлавному(Источник, ЭлементДанных, ОтправкаЭлемента) Экспорт
	
КонецПроцедуры

// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если получение элемента данных было проигнорировано ранее.
//
// Параметры:
//  Источник          - ПланОбменаОбъект - узел, для которого выполняется обмен.
//  ЭлементДанных     - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
//  ПолучениеЭлемента - ПолучениеЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
//  ОтправкаНазад     - Булево - см. описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриПолученииДанныхОтПодчиненного(Источник, ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) Экспорт
	
КонецПроцедуры

// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если получение элемента данных было проигнорировано ранее.
//
// Параметры:
//  Источник          - ПланОбменаОбъект - узел, для которого выполняется обмен.
//  ЭлементДанных     - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
//  ПолучениеЭлемента - ПолучениеЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
//  ОтправкаНазад     - Булево - см. описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриПолученииДанныхОтГлавного(Источник, ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) Экспорт
	
КонецПроцедуры

// Позволяет изменить признак того, что версия программы является, либо не является базовой.
//
// Параметры:
//  ЭтоБазовая - Булево - признак того, что версия программы является базовой. По умолчанию Истина, если в имени
//                        программы есть слово "Базовая".
// 
Процедура ПриОпределенииПризнакаЭтоБазоваяВерсияКонфигурации(ЭтоБазовая) Экспорт 
	
КонецПроцедуры

#КонецОбласти

#КонецОбласти
{"contextData":{},"contextMarkers":[]}

Публикация кода

Размещая информацию на сайте, Вы подтверждаете согласие со всеми пунктами Пользовательского соглашения

Замечание к коду:

  • Загрузить конфигурацию
    • ERP 2.4
    • Управление торговлей 10.3
    • Управление торговлей 11.4
    • Бухгалтерия 2.0
    • Бухгалтерия 3.0
    • ЗУП 3.1
    • Розница 2.3
    • УНФ 1.6
    • БСП 3.1
  • Тема
    • Светлая
    • Светлая c подсветкой запросов
    • Темная
    • Темная с подсветкой запросов
  • Режим запроса
  • Поделиться
Код:
БСП демо 3.1.11.189

© Александр Шкураев 2026