Новый сервис обновлений от 1С. Описание

Публикация № 1317652 28.10.20

Разработка - БСП (Библиотека стандартных подсистем)

Обновление обновление конфигурации сервис обновлений скачивание

Краткое описание основных методов нового механизма обновления от "1С", в новых БСП.

Ранее, долгое время, существовал инструмент для получения оглавления обновлений и сведений об их расположении. Это было описано и показано на примерах, реализовано в множестве интересных разработок, всяких обновляторов да интеграторов. Разумеется, не считая механизмов парсинга самих страниц сайтов 1С. На ИС такого предостаточно.

Но в конфигурациях с использованием современной БСП применён другой механизм, http-сервис, описания для которого мне найти не удалось нигде. Буквально в одном месте в скрипте было упомянуто

Покопавшись в типовой механике, выявил кое-что про этот сервис.

1. Обновление, как сущность, значительно жёстче привязано к конкретной ИБ, а не к конфигурации вообще. Потому, что в механизмах фигурирует UID базы и UID обновления (VersionUin). Вероятно, это связано с контролем легальности получения обновлений, подпиской и т.д. Отсюда следует, что утрата UID обновления - это проблема, т.к. не позволит получить следующее за ним.

2. Полная история (оглавление) версий обновлений недоступна. Можно скачать лишь актуальное, самое свежее, обновление, и сведения о нём, но нельзя получить данные о старом годичной давности. Вероятно, это вопрос оптимизации (старое нужно десяткам, а свежий релиз - миллионам систем, стучащимся на сервер).

3. Обновление конфигурации и скачивание-установка-применение патчей явно разделены, и для патчей сделан свой метод сервиса. О патчах подробнее, например, тут.

 

Большинство непосредственно работающего функционала реализовано в общем модуле ПолучениеОбновленийПрограммы.

 

Обращение к серверу

Сервер: update-api.1c.ru (или update-api.1c.eu)
Порт: 443
Прокси: не требуется
Авторизация: логин и пароль можно оставлять пустыми
Таймаут: 30 (обычно этого хватает)

Для ЗащищенноеСоединениеOpenSSL указывается "СертификатыУдостоверяющихЦентровОС"

В заголовках запросов для методов желательно в явном виде указывать Content-Type, равный "application/json".

Для проверки работоспособности можно применять метод "ping" (адрес вызова /update-platform/programs/update/ping), пример можно посмотреть в ИнтернетПоддержкаПользователей.ПроверитьURLДоступен.

 

Для методов используется набор дополнительных параметров "additionalParameters", описывающий конкретную ИБ и её конфигурацию. Получить его можно функцией ИнтернетПоддержкаПользователей.ДополнительныеПараметрыВызоваОперацииСервиса(), и уточнить разрядность системы (ключ "platform64Supported") функцией ПолучениеОбновленийПрограммыКлиентСервер.Это64РазрядноеПриложение().

Пример дополнительных параметров:

key value
"ConfigLanguage" "ru"
"Vendor" "Фирма "1С""
"ClientPlatformType" "Windows_x86_64" (в старых БСП отсутствует!)
"ConfigName" "ЗарплатаИУправлениеПерсоналом"
"ClientOSVersion" "Microsoft Windows 10 version 10.0  (Build 14393)"
"ConfigMainLanguage" "ru"
"LibraryVersion" "2.3.3.34"
"PlatformVersion" "8.3.16.1224"
"ConfigVersion" "3.1.10.78"
"IBID" "ea55f9bc-e011-43e4-a249-d42408ab0ef1"
"CurLocalizationCode" "ru_RU"
"SystemLanguage" "ru"
"ClientTimeOffsetGMT" "10800"
"countryId" ""
"IBIsSeparated" "false"
"IBUserName" "Администратор"
"DomainZone" "ru"
"platform64Supported" "true"
   

 

Данные передаются и получаются в json, преобразуются из/в коллекции 1С штатными глобальными ЗаписатьJSON/ПрочитатьJSON. При этом важно, что входные параметры должны быть представлены структурой, а не соответствием, т.к. видимо, в объявлении модели данных сервиса указан строгий порядок следования ключей в теле запроса, а соответствие порядок ключей при сериализации теряет. А вот выходные параметры следует десериализовывать в соответствие.

Возможны ситуации, например, неверные входные параметры, при которых ошибки выдано не будет, метод вернёт код состояния 200, но все возвращаемые данные окажутся пусты. Вероятно, это связано с малой проработанностью системы диагностики ошибок при работе с сервисом.

 

Метод "info"

Метод POST. Полный адрес для http-запроса: update-platform/programs/update/info

Назначение: Получение сведений о текущем актуальном обновлении для ИБ.

Параметры:

    programName // строка, служебное имя: Accounting, HRM, регистр букв не важен. В коде упоминается значение "Unknown", и передача такого параметра приводит к правильному, но пустому ответу (возможно, нужно было для тестирования)
    versionNumber // строка, в формате "4 точки"
    platformVersion // строка, в формате "4 точки"
    programNewName // строка, обычно пуста
    redactionNumber // строка, обычно пуста
    updateType // строка, допустимые значения: NewConfigurationAndOrPlatform (рабочее обновление), или NewPlatform (только платформа), или NewProgramOrRedaction (переход на другую программу/редакцию)    
    additionalParameters // массив структур вида key (строка), value (строка), см.выше

Возвращаемые данные:

    platformUpdateResponse // обычно пуст
    errorName // строка, служебное имя ошибки (например, "ConnectError"), при ряде ошибок пуста
    errorMessage // строка, подробное описание ошибки, может быть непуста при пустой errorName
    configurationUpdateResponse // если всё верно, содержит результатное соответствие, см.ниже
    additionalParameters // насколько я понял, пуст, возможно, зарезервирован на будущее

Сведения об обновлении содержит configurationUpdateResponse, имеющий следующие ключи (для примера, с содержанием)

Для случая updateType, равного "NewConfigurationAndOrPlatform"

"updateInfoUrl" "https://dl03.1c.ru/content//AutoUpdatesFiles/HRM/3_1_15_96/82/News1cv8.htm"
"configurationVersion"  "3.1.15.96" (самая актуальная версия на момент вызова)
"howToUpdateInfoUrl"  
"platformVersion" "8.3.14.1976" (минимально необходимый релиз платформы)
"size" 861 419 004 (понять, что это за размер, мне не удалось)
"upgradeSequence" Массив строковых ID обновлений, с которых возможен переход на текущее
"programVersionUin" "b260aef3-4e79-47da-9042-275b9cae3122" (ID обновления)

 

Из updateInfoUrl можно получить гипертекстовое описание изменений по сравнению с предыдущим релизом. Это надёжнее, чем, например, обращение по адресу https://its.1c.ru/db/content/updinfo/src/<Имя>/<НомерВерсии>/index.htm (где "Имя", например, "hrm30", а "НомерВерсии" 3.1.15.96).

Из howToUpdateInfoUrl можно получить гипертекстовое описание порядка обновления. Впрочем, они обычно редко меняются и всем давно известны.

Метод вызывается, например, в функции ПолучениеОбновленийПрограммы.ИнформацияОДоступномОбновленииСлужебная

 

Метод "update"

Метод POST. Полный адрес для http-запроса: update-platform/programs/update/

Назначение: Получение сведений о файлах обновления и связанных данных, пригодных для скачивания и применения.

Параметры:

    programVersionUin // строка, VersionUin нужного обновления
    upgradeSequence // массив строковых VersionUin, с которых возможен переход на нужное; если пуст или внутренне противоречит заявленным совместимостям обновлений, то метод не сработает
    platformDistributionUin // строка, обычно пуста    
    login // строка, учётная запись пользователя ИТС
    password // строка, пароль учётной записи ИТС
    additionalParameters // массив структур вида key (строка), value (строка), см.выше

Возвращаемые данные:

    platformDistributionUrl // обычно пуст
    errorName // строка, служебное имя ошибки, при ряде ошибок пуста
    errorMessage // строка, подробное описание ошибки, может быть непуста при пустой errorName
    configurationUpdateDataList // если всё верно, содержит результатный массив соответствий, см.ниже
    additionalParameters // обычно пуст

Сведения о файлах содержит configurationUpdateDataList, каждый элемент массива - соответствие, данные об отдельном файле обновления, последним идёт запись о текущем (актуальном) обновлении. Соответствие имеет следующие ключи (для примера, с содержанием)

"executeUpdateProcess"  Ложь
"templatePath" "1c\hrm\3_1_10_111"
"updateFileUrl" "https://dl03.1c.ru/public/file/tmplts/get/46303814-0a6f-4f64-982f-40d5fd733fe7"
"updateFileFormat" "ZIP"
"updateFileName" "1cv8.cfu"
"size" 69 680 085 (это размер zip-архива обновления)
"hashSum" "K8y/Ag384Pq2x5BYYZSwhg=="

 

Из updateFileUrl можно получить уникальный путь для скачивания. Время жизни и актуальности этой ссылки не изучал. Может, это временно генерируемый "на лету" путь для отдачи файла, а может, она стабильна долгое время. На всякий случай, лучше такое не хранить, а сразу качать нужные данные.

Из updateFileName и updateFileFormat можно получить общее понимание, что за данные.

Из templatePath можно получить относительный путь, удобный для организации раздельного развёртывания и хранения данных.

Из hashSum можно получить строку для самопроверки правильности скачивания и раскрытия zip-архива, т.к. это Base64Строка от хеша MD5 от файла cf/cfu (который updateFileName), а не хеш архива.

Метод вызывается, например, в функции ПолучениеОбновленийПрограммы.ПолучитьОписаниеФайловОбновленияКонфигурацииИПлатформы

 

Скачивание файла по этим данным желательно выполнять с другим http-соединением, нежели для предыдущих методов, и сведения берутся из предоставленной адресной строки. Для приведённого выше примера это будет:

Сервер: dl03.1c.ru
Порт: 443
Прокси: не требуется
Авторизация: логин и пароль пользователя ИТС
Таймаут: 43 200

Полный адрес для http-запроса: public/file/tmplts/get/46303814-0a6f-4f64-982f-40d5fd733fe7

Выполняется обычный GET-запрос вида хттпСоединение.Получить(хттпЗапрос, ПутьИмяСкачанногоФайла) и, если всё успешно, в означенном месте появится файл 1Сv8.zip

Это обычный архив, раскрываемый с помощью ЧтениеZipФайла, причём РежимВосстановленияПутейФайловZIP рекомендуется "Восстанавливать". В составе архива находится обычный пакет файлов - UpdInfo.txt, 1cv8upd.htm, 1cv8.mft, иногда описание версий библиотек, а также "Новое в версии" и собственно файл обновления сfu либо полноценный cf.

 

Метод "getInfo"

Метод POST. Полный адрес для http-запроса: update-api.1c.ru/update-platform/patches/getInfo

Назначение: Получение сведений об исправлениях (патчах).

Параметры:

    programVersionList // массив структур или соответствий, в каждом из которых 2 ключа: "programName" (строка), например, "HRM", и "versionNumber" (строка), например, "3.1.15.96". Типовая механика заполняет несколькими версиями (текущей, актуальной планируемой), но достаточно внести хотя бы текущую версию основной конфигурации. Номер версии можно взять, например, из доп.параметров, из ключа "ConfigVersion".
    installedPatchesList // массив строк, идентификаторов исправлений, уже установленных в системе. Может быть получен функцией ПолучениеОбновленийПрограммы.ИдентификаторыУстановленныхИсправлений(), где, кстати, сказано, что в отличие от идентификаторов обновлений, идентификаторы исправлений не являются коммерческой тайной вендора.
    additionalParameters // массив структур вида key (строка), value (строка), см.выше

Возвращаемые данные:

    errorName // строка, служебное имя ошибки, при ряде ошибок пуста
    errorMessage // строка, подробное описание ошибки, может быть непуста при пустой errorName
    patchUpdateList // если всё верно, содержит результатный массив соответствий, см.ниже

Сведения о файлах содержит patchUpdateList, каждый элемент массива - соответствие, данные об отдельном исправлении. Соответствие имеет следующие ключи (для примера, с содержанием)

"applyToVersion" Массив соответствий, определяет, к каким конфигурациям каких версий исправление применимо
"size" 6 097
"ueid" "6b259f86-b42e-4358-8c5e-b556571eebb4"
"name" "EF_30174583" (имя расширения/исправления/файла)
"description"

"В форме П-6 за 9 месяцев не проверяется условие "строки с 700 по 800 заполняются 
только в отчёте за «январь-июнь»""

"modificatedMetadata"  "ОбщийМодуль.ИнтерпретаторКонтрольныхСоотношенийРосстата.ПроверитьУсловиеНаПериод"
"buildDate" 1 603 304 005 000 (нигде не используется, возможно, будет задействовано позже)
"status" "publish"

 

Из applyToVersion можно получить, для каких конфигураций каких релизов может быть применено исправление. Каждое соответствие содержит ключи "programName" (в нотации, аналогичной входному параметру "programVersionList") и "versionNumber" (один или несколько номеров версий в формате "4 точки", и если несколько, то разделены запятой).

Из ueid можно получить, по какому пути следует обращаться для скачивания файла исправления. В самом простом случае, ссылка на скачивание будет иметь вид <ИмяСервера>/public/sso/patches/download?keys=<Идентификатор>, например, "https://dl03.1c.ru/public/sso/patches/download?keys=3e1984b1-28da-4bef-9d75-97513be91fd6"

Из name можно получить, каково имя исправления на сайте, файла в архиве и расширения этого исправления в конфигурации. Следует иметь в виду, что по ссылке находится zip-архив вида patches_<Код>, причём этот "Код" не коррелирует с ИД патча (например, patches_281020201714). В нём вложенный zip-архив, уже с ID патча, например, 90ae5713-81a0-4c3b-b472-3a83d5441eae.zip. В свою очередь, в этом вложенном архиве находятся собственно файл манифеста и файл расширения (например, EF_30174583.cfe).

Из status можно получить, каков текущий статус исправления. Значение "publish" (доступно) или "revocation" (отозвано). Отозванные исправления недоступны для скачивания в интерфейсе https://releases.1c.ru/patches, однако могут быть прочитаны и потому следует учитывать этот ключ при каждом обращении.

Файл манифеста Manifest.xml содержит сведения, в целом дублирующие основной набор, а именно:
<Name>EF_30174583</Name>
<Description>В форме П-6 за 9 месяцев не проверяется условие "строки с 700 по 800 заполняются 
только в отчёте за «январь-июнь»"</Description>
<UUID>90ae5713-81a0-4c3b-b472-3a83d5441eae</UUID> - это ИД патча
<ModifiedMetadata>ОбщийМодуль.ИнтерпретаторКонтрольныхСоотношенийРосстата.ПроверитьУсловиеНаПериод</ModifiedMetadata>
и несколько тегов, описывающих применимость, вида
<AppliedFor>
<ConfigurationName>УправлениеНебольшойФирмой</ConfigurationName> - т.е. тут уже нотация не служебное "Accounting", а "БухгалтерияПредприятия"
<Versions>1.6.22.75</Versions> - если несколько, будут через запятую
</AppliedFor>

Метод вызывается, например, в функции ПолучениеОбновленийПрограммы.ИнформацияОДоступныхИсправленияхКонфигураций

 

Скачивание файла по этим данным желательно выполнять с другим http-соединением, нежели для предыдущих методов. Логин и пароль для соединения не требуются, таймаут достаточно 30.

Метод "getFiles"

Метод POST. Полный адрес для http-запроса: https://update-api.1c.ru/update-platform/patches/getFiles

Назначение: Получение сведений о файлах исправлений, пригодных для скачивания и применения.

Параметры:
    patchUinList (массив строковых гуидов, чьи данные о файлах требуется получить к скачиванию)
    login // строка, учётная запись пользователя ИТС
    password // строка, пароль учётной записи ИТС
    additionalParameters // массив структур вида key (строка), value (строка), см.выше (и кстати, необходимость таких параметров в таком методе означает, что работа с исправлениями также привязана к конкретной ИБ, для которой скачиваем, т.к. требуется передача, например, параметра IBID).

Возвращаемые данные:

    errorName // строка, служебное имя ошибки, при ряде ошибок пуста
    errorMessage // строка, подробное описание ошибки, может быть непуста при пустой errorName
    patchDistributionDataList // если всё верно, содержит результатный массив соответствий, см.ниже

Сведения о файлах содержит patchDistributionDataList , каждый элемент массива - соответствие, данные об отдельном файле исправления, т.е. cfe-расширении. Соответствие имеет следующие ключи (для примера, с содержанием)

"size" 21 977
"patchUeid" "aee7a554-09a6-4837-98ec-b96507613f79"
"patchFileUrl" "https://dl03.1c.ru/public/patches/download/aee7a554-09a6-4837-98ec-b96507613f79"
"patchFileName"   "aee7a554-09a6-4837-98ec-b96507613f79.zip"
"hashSum" "fDFpyPaJYZ4GHJcaDCXIgQ=="


Метод вызывается, например, в функции ПолучениеОбновленийПрограммы.ОписаниеФайловИсправлений

 

P.S. Имя конфигурации в служебной нотации, т.е. "HRM", можно получить с помощью ИнтернетПоддержкаПользователей.СлужебнаяИмяПрограммы()

 

Пока на этом всё. Если в меня кинут ссылкой, где этот рест-сервис нормально описан, или если кто дополнит эту весьма краткую статейку, буду премного благодарен. Ну а если баян, то готов к тухлым помидорам.

Всё изложенное скорее всего актуально на релизах платформы 8.3.14 и выше.

UPD: Дописал про исправления.

 

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4069 28.10.20 15:56 Сейчас в теме
Курсив в статье - глюк редактора ИС, он НЕ планировался и смысловой нагрузки не несёт. Надеюсь, модератор в ближайшее время поправит.
2. malikov_pro 730 29.10.20 09:30 Сейчас в теме
Могу сделать коллекцию postman (ссылка) для самостоятельного тестирования HTTP, прикрепите к статье с комментарием?
Aleskey_K; +1 Ответить
4. Yashazz 4069 29.10.20 10:39 Сейчас в теме
(2) Можно и так, прикреплю, конечно. Я своей обработкой тыркаю, хотя и постман рулит.
3. malikov_pro 730 29.10.20 09:32 Сейчас в теме
Так же хочу разборать тему с мониторингом внешних обращений сервера 1С (куда лезет используя фоновые задания), если интересно можем согласовать усилия.
Fox-trot; nixel; Риник; +3 Ответить
5. Yashazz 4069 29.10.20 10:39 Сейчас в теме
(3) Не совсем понял - речь о том, куда лезет в рамках инфраструктуры 1С, всякие там календари бухгалтера, юрконсульты и прочая?
6. Yashazz 4069 29.10.20 10:41 Сейчас в теме
(3) Вообще да, давно пора сделать эдакий сниффер для 1С-овских лазаний. Я "за" ))
7. malikov_pro 730 29.10.20 10:41 Сейчас в теме
(6) "куда лезет в рамках инфраструктуры 1С" да, HTTP можно завернуть в прозрачный прокси, как TCP мониторить не знаю.
23. Angel_19 6 30.10.20 10:46 Сейчас в теме
(7)
как TCP мониторить не знаю

Использую: Wireshark
8. malikov_pro 730 29.10.20 10:48 Сейчас в теме
По общей теме обновлений,
1. есть мысль организовать сервис по доставке обновлений своих разработок до клиентов, вариант переиспользовать данный сервис, на запрос к администрации IS ответ не получил.
2. можно сделать мониторинг обновлений, вывести итог админу на панель управления, к спсику баз с релизами список патчей и расширений с их версиями.
2.1 договорится о требованих к патчам/расширениям и порядке их распространения, статьи по теме из мира node.js
https://habr.com/ru/company/domclick/blog/515848/
https://habr.com/ru/company/domclick/blog/516792/
https://habr.com/ru/company/domclick/blog/518502/
9. Yashazz 4069 29.10.20 11:00 Сейчас в теме
(8) По патчам у 1С всё явно "в процессе" и ещё переделываться будет, я там на такие перлы работы сервиса натыкался, что ой.

Насчёт п.2 ведь уже сделано, в БСП есть и довольно симпатично даже. Я это сейчас к своей базе-обновлятору прикручиваю, а в типовых уже.
10. Yashazz 4069 29.10.20 11:04 Сейчас в теме
Текучку раскидаю - дополню статью материалом по патчам.
11. malikov_pro 730 29.10.20 11:21 Сейчас в теме
(9) Проблема глубже, проблемно использовать наработки между расширениями. Активно использую КоннекторHTTP, но вынужден копипастить его с префиксами во все расширения. Сделают механизм переиспользования - будет развитие подобное npm.

(4) Добавил коллекцию https://github.com/malikov-pro/update_service_1c, по формату тела запроса не доконца понял, сделал в виде JSON, принимается критика, после доведу до ума.
Могу OpenAPI описание сделать, мне для практики по конвертации OpenAPI в Postman.
12. Yashazz 4069 29.10.20 11:33 Сейчас в теме
(11) я и сам ещё не до конца понял, копаюсь
Я например пока не уверен, как они будут даты преобразовывать, по идее ISО, а то пока даты строками идут...
Возможно, имеет смысл погодить, пока сервис устаканится, и тогда делать описания.
13. malikov_pro 730 29.10.20 11:41 Сейчас в теме
(12) В JSON нет типа "Дата", передается строкой, на уровне окументации определяется в каком формате.
"Возможно, имеет смысл погодить" - если есть информация для анализа, то сделать доку и коллекцию для меня относительно просто.
Варианты запросов со скриптами на уровне коллекции уже сделал https://infostart.ru/1c/articles/1282851/

Постепенно набираюсь опыта для цепочки
* Документация RAML с конвертацией OpenAPI
* Создании коллекции из OpenAPI
* Создание плана тестирования в Postman
* Кодогенерация клиента 1С, у Postman под другие языки есть и код открыт, нужно в структуре объектов разобраться и JS подкачать
14. Yashazz 4069 29.10.20 11:50 Сейчас в теме
(13) Так я про формат даты и говорю. Сейчас там где-то идёт просто в виде "ДД.ММ.ГГГГ", что под стандарты не особо подходит, а где-то в JS-виде.
15. Yashazz 4069 29.10.20 11:54 Сейчас в теме
(13) Например, patches/getInfo отдаёт поле "buildDate", что кагбэ намекает на дату выпуска патча, и в ней нечто похожее на js-дату, но сами они нигде в БСП это поле не применяют, в интерфейсах конфиги и сайта релизов его нет... Вот и хз, то ли потом добавят, то ли вовсе уберут...
16. malikov_pro 730 29.10.20 12:02 Сейчас в теме
(15) Предположу что это часть их CI/CD которую они опубликовали. Сначала использовали для внутренних нужд, после перенесли в БСП.
На документацию не рассчитываю, потому что на сервисы связанные с ИТС их не видел, пр этом обратной совместимости нет, с этим сталкивался при работе в старых конфигурациях УТ 11 (сервис ИТС недоступен).

Пользуя коллекцию Postman можно запускать автотесты c помощью Newman
https://learning.postman.com/docs/running-collections/using-newman-cli/command-line-integration-with-newman/

Могу исходя из текущих "раскопок" написать статью по организации тестирования, относительно простой API, public, и связанный с 1С.
17. qwinter 636 29.10.20 17:22 Сейчас в теме
Занимательно, но какое в этом практическое применение?
18. Yashazz 4069 29.10.20 19:14 Сейчас в теме
(17) А из первого абзаца статьи не ясно? Всякие группповые-пакетные скачивания обновлений для массового обслуживания многих ИБ. Вещь, нужная многим позарез.
Fox-trot; +1 Ответить
19. Yashazz 4069 29.10.20 21:15 Сейчас в теме
Upd: дописал про патчи, хотя бы вкратце.
20. Bassgood 1153 29.10.20 23:28 Сейчас в теме
Можно скачать лишь актуальное, самое свежее, обновление, и сведения о нём, но нельзя получить данные о старом годичной давности

Интересно, а если я пропустил пару обновлений, и решил обновится спустя, допустим, пару месяцев - сведения об обновлениях актуальных для моей немного устаревшей версии конфигурации я уже получить не смогу?
А как же в этом случае тогда сейчас обновляются текущие типовые конфигурации - их же можно без проблем обновить до актуального релиза, не обновляясь при этом несколько месяцев?
Или речь в данном предложении идет немного о другом?
21. Yashazz 4069 30.10.20 08:41 Сейчас в теме
(20) Насколько я понял, метод info возвращает актуальную версию, самую свежую. А вот update, теоретически, должен возвращать пути к файлам, исходя из переданных исходных данных, особенно исходя из upgradeSequence-массива. Но мне, ввиду отсутствия под рукой нужных ID обновлений, не удалось смоделировать так, чтоб заставить его передать нечто старое, не-последнее. Примерно так.
Логически-то очевидно, что подобные ситуации должны обрабатываться, но экспериментально пока не осилил. Самому интересно. Смогу скачать не-последнее - отпишу, как.
Bassgood; +1 Ответить
22. Bassgood 1153 30.10.20 10:45 Сейчас в теме
(21)
но экспериментально пока не осилил

Я так понимаю, это можно воспроизвести и понять порядок отработки этих методов путем обновления какой-нибудь старой конфигурации, БП например
26. Yashazz 4069 30.10.20 11:27 Сейчас в теме
(22) Вот пытаюсь. У меня задача скачивания промежуточных и старых обновлений, пропущенных, стоит крайне остро. Почему, собственно, и занялся вопросом.
24. malikov_pro 730 30.10.20 10:52 Сейчас в теме
(23) Wireshark это уровень ПК, у меня задача на уровне сети, при этом с выводом в сторону системы логирования. Нужно поднять pfSense и разобраться.
25. malikov_pro 730 30.10.20 10:53 Сейчас в теме
(18) По идее можно сделать локальный репозиторий и из баз обращаться к нему, что-то похожее на WSUS.
27. Yashazz 4069 30.10.20 11:27 Сейчас в теме
28. malikov_pro 730 01.11.20 21:08 Сейчас в теме
(12) Написал статью по описанию в OpenAPI https://infostart.ru/public/1319857/, с утра пройдет модерацию.
Буду рад конструктивной критике и PR в репо с описанием.
29. Yashazz 4069 02.11.20 12:45 Сейчас в теме
(28) а почему методы для патчей - невалидные? я там дополнил статью, всё сам тестировал, работает...
30. malikov_pro 730 02.11.20 12:55 Сейчас в теме
(29) "он валидный, но не рабочий" не описывал их методы, дошел только до POST /programs/update/info, но с точки зрения структуры документ OpenAPI валиден.
Оставьте свое сообщение

См. также

Библиотека стандартных подсистем (Механизм БСП) Промо

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Конфигурации в 1С пишутся для пользователей и по их «правилам» (клиент всегда прав), поэтому в основном все конфигурации разные, но достаточно часто в них используются одни и те же объекты, которые незначительно отличаются друг от друга. Действительно, сложно представить конфигурацию, где не фигурировали бы такие сущности как номенклатура, контрагенты, пользователи, валюта. И некоторые задачи являются типичными: возможность базового разграничения прав, работа с электронной почтой, задачи пользователям и т.д. Но...!

03.03.2017    80363    V.Stavinsky    22    

Подключение нового справочника к подсистемам БСП (дополнительные реквизиты, файлы, запрет редактирования)

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

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

17.08.2021    1776    maraty    8    

Добавление нового вида доступа в конфигурациях, построенных на БСП

БСП (Библиотека стандартных подсистем) Роли и права v8::Права 1cv8.cf Бесплатно (free)

Прочитаете и решите: надо оно вам или лучше по старинке. Рассмотрен простой вариант без групп доступа.

05.08.2021    1057    xrrg    2    

Префиксация объектов - полезный типовой функционал БСП

Универсальные функции БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия БУ УУ Бесплатно (free)

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

21.06.2021    4173    quazare    4    

Особенности online-обмена между старыми и новыми типовыми

Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем) v8 8.3.14 8.3.6 8.3.8 КА1 КД ДО Бесплатно (free)

Столкнулся с неприятной особенностью потери части данных при обмене УСО (УПП) - ДО.

01.06.2021    2823    echo77    7    

Обзор полезных методов БСП 3.1.4. Часть 2

БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Библиотека стандартных подсистем (далее - БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.

27.04.2021    14004    rayastar    7    

Обзор полезных методов БСП 3.1.4

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Библиотека стандартных подсистем (далее - БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.

25.03.2021    34849    rayastar    51    

Печать макета MS Word в любом документе с помощью БСП

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

В данной статье рассмотрим типовой функционал вывода на печать макетов печатных форм MS Word (*.docx) для любого документа конфигурации, основанной на библиотеке стандартных подсистем. Вариант клиент-серверный.

23.02.2021    5783    quazare    3    

Базовое понимание внедрения механизма печати в любом документе конфигурации на БСП

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

В данной статье рассмотрим базовое применение методов вывода на печать макетов печатных форм с помощью БСП любых типовых или собственных документов.

17.02.2021    7433    quazare    18    

Перенос/копирование и установка отбора/периода при интерактивном переключении или смене варианта отчета/СКД в БСП 3.1 (1C ERP, УТ, БП, ...)

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

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

18.01.2021    1239    SizovE    4    

Генерация штрихкодов с помощью БСП для программистов

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия УУ Бесплатно (free)

В данной публикации рассмотрим базовый функционал библиотеки стандартных подсистем (БСП) формирования штрихкодов для вывода на печать.

09.01.2021    9149    quazare    18    

Асинхронное выполнение длительных операций

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

Демонстрация использования функционала БСП для выполнения длительных операций. Механизм может быть полезен, например, при загрузке/выгрузке больших объемов данных.

28.12.2020    2168    prog_mayskiyse    7    

Метаданные и их идентификаторы

Структура метаданных БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Идентификаторы (GUID'ы) метаданных конфигурации. Немного о том, как их получить.

05.12.2020    11154    YPermitin    27    

Сохранение настроек

Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

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

22.11.2020    4086    the1    8    

Дополнительные реквизиты формы (простой вариант взаимодействия)

Практика программирования БСП (Библиотека стандартных подсистем) Работа с интерфейсом v8 Россия Бесплатно (free)

Упрощаем взаимодействия с дополнительными реквизитами на форме с помощью фиксированного соответствия.

14.11.2020    2155    samvani    0    

Запуск почти любых процедур и функции конфигураций в асинхронном режиме - БСП - Длительные операции [Часть 2]

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

В данной статье я привожу описание рекомендуемых 1С функций к использованию в работе с длительными операциями в рамках БСП.

30.10.2020    7049    quazare    5    

Гарантированно рабочий пример использования длительных операций на БСП с отображением прогресса. [Часть 1]

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

В данной статье я предлагаю вам гарантированно действующий пример работы с длительными операциями в рамках Библиотеки стандартных подсистем. Так же рассмотрим некоторые новые функции последней версии БСП для работы с длительными операциями.

29.10.2020    9482    quazare    29    

Простой пример разработки регулярного обмена с использованием БСП на примере ERP 2.4 и УПП 1.3

БСП (Библиотека стандартных подсистем) Перенос данных из 1C8 в 1C8 v8 1cv8.cf УПП1 КД ERP2 Россия Бесплатно (free)

Данный вариант подойдет тем, кто хочет настроить "свой" регулярный обмен с добавлением "своих" планов обмена с использованием правил обмена на КД 2.1.

27.10.2020    6792    байт    20    

Вычислить РАЗНОСТЬДАТ в рабочих днях

Практика программирования БСП (Библиотека стандартных подсистем) v8::Запросы v8::СКД ERP2 БП3.0 УТ11 ЗУП3.x Бесплатно (free)

Вычисление количества рабочих днях между двумя датами в запросе.

20.10.2020    3627    antonivan    17    

Разработка функционала обмена с несколькими внешними точками

Обмен данными 1С БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

В статье приводятся несколько практических советов по организации обмена с несколькими точками, прежде всего «не 1С». Рассматривается создание плана обмена, использование параметров, программирование и настройка регламентных заданий. Доработка системы проводится без изменения конфигурации с использованием расширения и внешней обработки.

21.09.2020    1237    Sergey1CSpb    2    

Работаем с контактной информацией в конфигурациях на БСП

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

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

14.09.2020    17930    quazare    16    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

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

30.08.2020    18882    quazare    34    

Выполнение внешней обработки по расписанию для управляемого и обычного приложения

БСП (Библиотека стандартных подсистем) Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

Использование БСП для выполнения внешних обработок в управляемом и обычном приложении

06.08.2020    11482    RPGrigorev    0    

RLS добавление ограничения доступа к данным по произвольному справочнику через штатные механизмы

БСП (Библиотека стандартных подсистем) Информационная безопасность Роли и права v8 КА2 Россия УУ Бесплатно (free)

Решал задачу ограничения доступ к объектам по справочнику "Банковские счета" штатными средствами БСП. Конфигурация КА 2.2. В остальных на БСП должно работать так же. Хотел сделать инструкцию для себя на будущее, решил поделиться.

05.08.2020    3513    ER34    2    

Возможности работы со строками при помощи БСП, которые должен знать каждый программист

Практика программирования БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

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

05.07.2020    13037    quazare    37    

Мастер-класс "Ведение проектов в типовых конфигурациях 1С"

Управление проектом CI/CD БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

При адаптации типовой конфигурации под особенности учета в компании важно обеспечить возможность легкого обновления поставки. Как организовать архитектуру решения и продумать процесс быстрой и эффективной разработки без ущерба типовой функциональности, на конференции Infostart Event 2019 Inception рассказал ведущий программист компании BIA-Teсhnologies Алексей Князьков.

05.06.2020    4968    AKnyazkov    4    

Способ хранения данных расширения или дополнительной обработки

БСП (Библиотека стандартных подсистем) Практика программирования v8 Бесплатно (free)

Описание способа хранения данных расширения или дополнительной обработки в информационной базе с использованием функционала Библиотеки стандартных подсистем.

01.06.2020    5553    Sedaiko    17    

Переопределение настроек отчета на СКД. 1С: БСП

БСП (Библиотека стандартных подсистем) v8::СКД ERP2 Россия Бесплатно (free)

Изменение настроек СКД отчета без доработки модулей БСП

24.04.2020    4006    klimsrv    6    

Картинка в форме списка номенклатуры для УТ 11.4

БСП (Библиотека стандартных подсистем) Практика программирования v8 1cv8.cf Россия Бесплатно (free)

В публикации приведу код, позволяющий выводить картинку номенклатуры в форме списка.

23.03.2020    2328    malikov_pro    2    

Полезные функции БСП (Часть 2)

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

Список полезных функций из состава Библиотеки стандартных подсистем 3.1.

10.03.2020    19801    user5300    20    

Механизмы проведения документов при обмене по универсальному формату

Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.

04.03.2020    6398    partizand    6    

[БСП] Внешняя печатная форма: как перед печатью выводить форму настроек

Печатные формы документов БСП (Библиотека стандартных подсистем) v8 КА2 Бесплатно (free)

Во внешней печатной форме перед печатью нужно выводить форму настроек. Для примера рассматриваю печатную форму "Акт сверки взаимных расчетов " .

19.12.2019    13753    John_d    9    

Реализация печати QR кодов "Библиотека стандартных подсистем", редакция 3.1 (3.1.1.151)

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Рассмотрим, как реализовать печать QR кодов с помощью механизмов БСП.

16.10.2019    8085    paulis    4    

Реализация команды печати "Библиотека стандартных подсистем", редакция 3.1 (3.1.1.151)

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

В новом релизе "БСП" произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

12.10.2019    8553    paulis    4    

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм

Печать БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Постоянно приходится вспоминать, как добавить механизм печати (БСП) в новый документ. Поэтому решил написать шпаргалку.

10.10.2019    28523    John_d    19    

От чего можно отказаться при разработке расширений 1С

Практика программирования БСП (Библиотека стандартных подсистем) Расширения v8 Бесплатно (free)

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

23.09.2019    11553    independ    33