Шаблон внешней обработки с историей изменений и сохранением параметров

23.10.25

Разработка - Инструментарий разработчика

При использовании внешних отчетов и обработок иногда бывает полезно знать, что именно было изменено в текущей версии отчета или обработки по отношению к предыдущим. Версионный контроль, GIT и все подобное - это, конечно, хорошо, но это доступно только разработчику, да и не всегда используется, в принципе. Почему бы не добавить эту информацию в саму обработку, чтобы пользователь тоже получил к ней доступ? Для себя я выработал следующее решение, и оно показало себя достаточно удобным. Шаблон внешней обработки с описанием, историей изменений, и сохранением настроек обработки, который можно использовать при разработке собственных внешних обработок.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Шаблон внешней обработки с описанием, историей изменений, и сохранением настроек
.epf 14,14Kb
12 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Шаблон внешней обработки с описанием, историей изменений, и сохранением настроек обработки, который можно использовать при разработке собственных внешних обработок. Суть его в следующем.

В БСП в справочнике Дополнительные отчеты и обработки есть вкладка Дополнительная информация.

 

Вкладка "Дополнительная информация"

 

Как правило, на ней выводят наименование внешней обработки, которое повторяет ее же название в самом справочнике. Это в лучшем случае. Почему бы не выводить сюда же историю версий?

Итак, поехали.

Создаем внешнюю обработку, заполняем Имя и Синоним, а текущую версию указываем в поле Комментарий.

В метаданные внешней обработки добавляем два макета: Описание и ИсторияИзменений.

 

Метаданные внешней обработки

 

В макете Описание (тип макета: ТекстовыйДокумент) размещаем краткое или подробное описание внешней обработки, её назначение, особенности использования и т.д. Кому как нравится.

 

Макет "Описание"

 

В макете ИсторияИзменений (тип макета: ТабличныйДокумент) создаем таблицу, в которую будем добавлять информацию о вносимых нами изменениях.

 

Макет "ИсторияИзменений"

 

В модуле объекта размещаем функции, для получения данных из этих макетов:

// Получает из макета Описание данные с описанием обработки.
// 
// Возвращаемое значение:
//  Строка - описание внешней обработки.
//
Функция ПолучитьОписаниеОбработки()
	
	Возврат ПолучитьМакет("Описание").ПолучитьТекст();
	
КонецФункции

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

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

В функции ПолучитьИсториюИзмененийОбработки, вместо того, чтобы обходить таблицу значений в цикле и формировать для каждой записи структуру, можно использовать процедуру из БСП:

ОбщегоНазначения.ТаблицаЗначенийВМассив(ДанныеИсторииИзменений, ИсторияИзменений);

 

Добавляем функцию, которая соберет полученные данные и преобразует их в строковое представление:

// Формирует описание и историю изменений внешней обработки.
// Используется для отображения информации на вкладке "Дополнительная информация" справочника ДополнительныеОтчетыИОбработки.
// и для вывода на странице формы обработки "О программе".
//
// Параметры:
//  НеСокращать	 - Булево - сокращать длину описания обработки, либо выводить полностью
//                   *Истина - сокращать длину описания обработки;
//                   *Ложь   - не сокращать длину описания обработки;
// 
// Возвращаемое значение:
//  Строка - описание обработки.
//
Функция СоздатьОписание(НеСокращать = Ложь) Экспорт
	
	Если НеСокращать Тогда
		МаксДлина = 100000;
	Иначе
		Информация = Метаданные.НайтиПоПолномуИмени("Справочник.ДополнительныеОтчетыИОбработки").Реквизиты.Найти("Информация");
		МаксДлина = Информация.Тип.КвалификаторыСтроки.Длина;
	КонецЕсли;
	
	Описание = ПолучитьОписаниеОбработки();
	
	ДополнительнаяИнформация = Новый Массив;
	ДополнительнаяИнформация.Добавить("Описание:" + Символы.ПС);
	ДополнительнаяИнформация.Добавить(Описание);
	ДополнительнаяИнформация.Добавить("");
	ДополнительнаяИнформация.Добавить("История изменений:");
	
	ПределДлины = МаксДлина - СтрДлина(СтрСоединить(ДополнительнаяИнформация));
	
	Для каждого ЗаписьИстории Из ПолучитьИсториюИзмененийОбработки() Цикл
		
		Если ПределДлины <= 0 Тогда
			Продолжить;
		КонецЕсли;
		
		ТекстЗаписи = СтрШаблон("версия %1 от %2 г. (%3): %4.",
						ЗаписьИстории.НомерВерсии,
						ЗаписьИстории.ДатаВерсии,
						ЗаписьИстории.АвторИзменений,
						ЗаписьИстории.ОписаниеИзменений);
																
		ДлинаЗаписи = СтрДлина(ТекстЗаписи);
		ПределДлины = ПределДлины - ДлинаЗаписи;
		
		Если ПределДлины > ДлинаЗаписи Тогда
			ДополнительнаяИнформация.Добавить(ТекстЗаписи);
		КонецЕсли;
		
	КонецЦикла;
	
	Возврат СтрСоединить(ДополнительнаяИнформация, Символы.ПС);
	
КонецФункции

Так как полученное описание будет хранится в реквизите Информация справочника ДополнительныеОтчетыИОбработки, то его необходимо сократить до длины этого реквизита, чтобы описание не обрывалось на половине слова. Для этого получаем длину реквизита Информация из метаданных, а в функцию СоздатьОписание добавляем параметр НеСокращать, со значением по умолчанию Ложь. Таким образом сохраняем для себя возможность получения полного описания без обрезки его длины.

 

В функции СведенияОВнешнейОбработке вызываем наш код:

#Область Регистрация

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

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")

	НоваяКоманда = ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление        = Представление;
	НоваяКоманда.Идентификатор        = Идентификатор;
	НоваяКоманда.Использование        = Использование;
	НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
	НоваяКоманда.Модификатор          = Модификатор;

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

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

#Область ДополнительнаяИнформация

Функция ДанныеВнешнейОбработки()
	
	МетаданныеОбъекта = ЭтотОбъект.Метаданные();
	
	ДанныеОбработки = Новый Структура;
	ДанныеОбработки.Вставить("Имя",         МетаданныеОбъекта.Имя);
	ДанныеОбработки.Вставить("Синоним",     МетаданныеОбъекта.Синоним);
	ДанныеОбработки.Вставить("Комментарий", МетаданныеОбъекта.Комментарий);
	
	Возврат ДанныеОбработки;
	
КонецФункции

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

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

Устанавливаем внешнюю обработку в базу и получаем наглядное описание и историю версий:

 

Внешняя обработка в справочнике

 

Так как внешняя обработка не всегда устанавливается в базу, то выведем это же описание на форму обработки.

Добавляем страницу формы О Программе и строковый реквизит формы Описание.

 

Форма обработки

 

В модуле формы вызываем заполнение этого реквизита из модуля объекта:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Заполнение страницы "О программе".
	ЗаполнитьОписаниеНаСервере();
	
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьОписаниеНаСервере()
	
	МодульОбработки = РеквизитФормыВЗначение("Объект");
	Описание = МодульОбработки.СоздатьОписание(Истина);
	
КонецПроцедуры

Здесь как раз и пригодится добавленный ранее в функцию СоздатьОписание параметр НеСокращать.

 

В итоге, получаем страницу О программе с описанием и историей изменений.

 

Страница О программе

 

Перейдем к хранению настроек.

Выбор места для хранения будет зависеть от того, установлена обработка в справочник ДополнительныеОтчетыИОбработки или нет. Если установлена, то будем хранить настройки в реквизите ДополнительнаяОбработка.ХранилищеНастроек , если не установлена - то в ХранилищеОбщихНастроек текущего пользователя.

Добавляем процедуру в модуль объекта:

Процедура СохранитьНастройки() Экспорт
	
	Настройки = ПодготовитьНастройкиДляСохранения();
	
	// СОХРАНЕНИЕ НАСТРОЕК ОБРАБОТКИ.
	ДополнительнаяОбработка = СсылкаНаДополнительнуюОбработку();
	
	// Если обработка добавлена в справочник ДополнительныеОтчетыИОбработки, то загружаем настройки из справочника,
	// если нет - то в ХранилищеОбщихНастроек конфигурации для текущего пользователя.
	Если Не ДополнительнаяОбработка = Неопределено Тогда
		ДополнительныеОтчетыИОбработки.СохранитьНастройки(ДополнительнаяОбработка, Настройки);
	Иначе
		КлючНастроек = КлючНастроекОбработки();
		ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(КлючНастроек, КлючНастроек, Настройки,, ПараметрыСеанса.ТекущийПользователь);
	КонецЕсли;
	
КонецПроцедуры

// Возвращает ссылку на обработку в справочнике ДополнительныеОтчетыИОбработки по имени обработки.
// 
// Возвращаемое значение:
//  Неопределено, СправочникСсылка - ссылка на элемент справочника ДополнительныеОтчетыИОбработки.
//
Функция СсылкаНаДополнительнуюОбработку()
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	ДополнительныеОтчетыИОбработки.Ссылка КАК Ссылка
	               |ИЗ
	               |	Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
	               |ГДЕ
	               |	ДополнительныеОтчетыИОбработки.ИмяОбъекта = &ИмяОбъекта";
	
	Запрос.УстановитьПараметр("ИмяОбъекта", ДанныеВнешнейОбработки().Имя);
	
	Результат = Запрос.Выполнить();
	
	Выборка = Результат.Выбрать();
	Выборка.Следующий();
	
	Возврат Выборка.Ссылка;
	
КонецФункции

// Формирует ключ для сохранения настроек обработки в общем хранилище.
// 
// Возвращаемое значение:
//  Строка - ключ настроек для обработки.
//
Функция КлючНастроекОбработки()
	
	Возврат СтрШаблон("ВнешняяОбработка.%1", ДанныеВнешнейОбработки().Имя);
	
КонецФункции

Функция ПодготовитьНастройкиДляСохранения()
	
	// Добавить те реквизиты обработки, которые необходимо сохранять в настройках.
	Настройки = Новый Соответствие;
	Настройки.Вставить("Реквизит1", Реквизит1);
	
	Возврат Настройки;
	
КонецФункции

 

Аналогичным образом загружаем ранее сохраненные настройки:

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

Функция ВосстановитьНастройкиПослеЗагрузки(Настройки)
	
	Результат = Истина;
	
	// Заполнить значения реквизитов обработки значениями, полученными из сохраненных в настройках.
	Если ТипЗнч(Настройки) = Тип("Соответствие") Тогда
		Реквизит1 = Настройки.Получить("Реквизит1");
		
		// Проверка корректности восстановления настроек.
		Если Не ЗначениеЗаполнено(Реквизит1) Тогда
			Результат = Ложь;
		КонецЕсли;
	Иначе
		Результат = Ложь;
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции

 

Работать будет везде, где есть БСП, но при необходимости можно допилить под любую конфигурацию без БСП.

На этом все. Осталось приучить себя не забывать заполнять макет ИсторияИзменений.

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.323
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.181.10
  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.35.48
  • 1С:Управление холдингом 3.2 (русский и английский интерфейсы), релизы 3.2.10.42
  • Управление нашей фирмой, редакция 3.0, релизы 3.0.12.185
  • Управление торговлей, редакция 11, релизы 11.5.24.62

Вступайте в нашу телеграмм-группу Инфостарт

внешняя обработка история версий история изменений сохранение настроек внешней обработки

См. также

Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)

Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.

50000 руб.

10.09.2026    13395    115    0    

79

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    83249    432    171    

362

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    285625    1606    423    

1220

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    16746    63    62    

73

Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    44172    122    54    

135

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    76848    147    41    

154

Разработка Инструментарий разработчика Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Pilot 1C превращает задачу, поставленную обычными словами, в техническое задание, код на встроенном языке и сценарии проверки. Прежде чем что-то предложить, он сверяется с устройством вашей конфигурации через граф Analyzer 1C: существует ли объект, из чего он состоит, кто его вызывает, какие роли дают права. Чего найти не удалось – спрашивает, а не выдумывает. Готовый код проходит более полутора сотен проверок по справочнику языка и стандартам разработки, который приезжает вместе с продуктом. Модель – ваша: любой сервер, совместимый с программным интерфейсом OpenAI, в том числе локальный. Правки в конфигурацию Pilot не вносит – их применяет разработчик.

18300 руб.

11.09.2026    3708    5    0    

10

Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    28732    103    46    

107
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Duplex 2 25.11.25 16:58 Сейчас в теме
Функция ПолучитьОписаниеОбработки()
Возврат ПолучитьМакет("Описание").ПолучитьТекст();
КонецФункции

Почему-то на ПолучитьТекст() ругается ...
2. OzzY 73 25.11.25 21:51 Сейчас в теме
Тип макета должен быть "Текстовый документ"
3. Duplex 2 26.11.25 06:56 Сейчас в теме
(2) Да спасибо, разобрался.
4. Pryanishnikov_Vladimir 04.06.26 08:24 Сейчас в теме
Зачем все это? в БСП же все есть

Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.0.0.0");

    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = "03.06.2026";
	ПараметрыРегистрации.Информация = "08.05.2026 Реализоване метод /v1/products/sku/list Получение товаров
	|12.05.2026 Реализован метод v1/orders/list/unprocessed Получение необработанных заказов
	|13.05.2026 Реализован методы v1/orders/parcels разбивка заказов на отправления. /v1/parcels/list получение отпралений по заказу
	|14.05.2026 Реализован метод v1/parcels/get-labels получение этикеток для отправлений
	|19.05.2026 Реализован метод v1/shipments/list получение этикеток для отправлений и v1/shipments/confirm подтверждение отгрузки
	|20.05.2026 Реализован метод v1/shipments/get-documents получение файлов документов для отгрузки
	|25.05.2026 При делении на отправления отлкючено автоподтверждение
	|26.05.2026 Реализованы методы v1/orders/complete, v1/shipments/confirm, post_v1_parcels_list
	|03.06.2026 Добавлена команда ""Отправить нулевые остатки"" ";
	
    ПараметрыРегистрации.БезопасныйРежим = Ложь;  
	
	ДобавитьКоманды(ПараметрыРегистрации);
	
	Возврат ПараметрыРегистрации;
	
КонецФункции 
Показать
VyacheslavShilov; +1 – Ответить
5. OzzY 73 04.06.26 17:17 Сейчас в теме
(4) Можно и так, но мне не нравится размещать подобную информацию в коде.
Для отправки сообщения требуется регистрация/авторизация