1С:Проверка блокировки документа перед его изменением

Ошибка: в высоко нагруженном приложении с бекендом на 1С, возникают ситуации с одновременным изменением части данных одного из документов. Соответственно возникала ошибка

Решение: перед изменением документа, ждем его разблокировки:

JavaScript: добавить лидирующий 0 к числу

Задача: добавить к числу лидирующий 0, если число однозначное, и не добавлять соответственно, если двухзначное.

Решение: есть два способа, старый, работающий во всех браузерах, и новый — для браузеров 2018 года и новее.

Способ 1:

Способ 2:

Чудесатые чудеса с выгрузкой заказов между 1С и Bitrix

Началось всё с того, что после настройки обмена мeжду Bitrix и 1С, заказы в 1С не прилетали. Посмотрел логи, подебажил код обмена и , увидел чудную ошибку «Transferred a partial file» при попытке получить файл заказов. Что при файловом варианте, что при серверном. Причем из браузера (по этой методике), файл открывался и корректно формировался. Просмотр логов сервера apache, добавил еще одну ошибку:

Гуглинг объяснил, что это возможно ошибка в настройках ngnix. Совместно с хостером, попытались пару настроек изменить, после чего хостер сказал «ничё не знаю, у нас всё нормально». Доступа к настройкам сервера к сожалению нет — только через хостера.

Чего делать? Ну для начала решил попробовать файл формировать самостоятельно, и подпихивать его как то уже готовым в 1С. Наваял скрипт вида:

Единственной задачей которого было выплюнуть уже готовый файл.

В 1С попробовал:

И получил ровно ту-же ошибку в 1С: Transferred a partial file. Шта??? Круг подозреваемых сузился. Стал винить во всем реализацию HTTPСоединение в 1С. А что если попробовать изобрести свою замену? Родил врезку в модуль обмена с сайтом:

Работает.. Заказы в 1С появились..

Ошибка Transferred a partial file при загрузке заказов с сайта bitrix

По неведомой причине, эта ошибка возникает при выполнении HTTPОтветСервера = Соединение.Получить(HTTPЗапрос);, однако! при следующем выполнении того-же самого запроса, всё чудесным образом проскакивает.

Решение: поправим чуть модуль ОбменССайтом

Bitrix: Как посмотреть содержимое файла заказа при обмене с 1С

Иногда в целях отладки полезно посмотреть формирует ли вообще файл выгрузки заказов битрикс. Это делается так:

  1. По ссылке сайт/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth получаем sessid
  2. Далее открываем сайт/bitrix/admin/1c_exchange.php?type=sale&mode=query&sessid=точтовышеполучили

В итоге получим xml выведенный в браузер с заказом.

Жизнь замечательных грибов