Простая работа с JSON в 1C
Два метода, которые любые данные преобразуют в json и прочитают из json (проверено на передаче и чтении типа Структура):
Два метода, которые любые данные преобразуют в json и прочитают из json (проверено на передаче и чтении типа Структура):
Функция ПолучитьТекстJSON(Данные) Экспорт
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб));
ЗаписатьJSON(ЗаписьJSON, Данные);
Возврат ЗаписьJSON.Закрыть();
КонецФункции
Функция ПрочитатьJSONвСтруктуру(Текст) Экспорт
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Текст);
Результат = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Возврат Результат;
КонецФункции
@yellow_pad | #интеграция #листингПолучение измененных и удаленных данных узла плана обмена
К таблицам изменений планов обмена можно строить запросы. И если данные удалить, то в таблице изменений ссылка будет заполнена (<Объект не найден ...>), а в данных этой ссылки не будет (NULL). Пример запроса:
К таблицам изменений планов обмена можно строить запросы. И если данные удалить, то в таблице изменений ссылка будет заполнена (<Объект не найден ...>), а в данных этой ссылки не будет (NULL). Пример запроса:
ВЫБРАТЬ
НоменклатураИзменения.Ссылка КАК Ссылка,
НоменклатураИзменения.Ссылка.Ссылка КАК Ссылка1
ИЗ
Справочник.Номенклатура.Изменения КАК НоменклатураИзменения
ГДЕ
НоменклатураИзменения.Узел = &Узел
//И НоменклатураИзменения.Ссылка.Ссылка ЕСТЬ NULL
Результат:Первый - Первый
<Объект не найден> (92852:832900155d00f10711eb173504f418ec) - <NULL>
Четвертый - Четвертый
@yellow_pad | #ПланОбмена #интеграция #РегистрацияИзменений #запросыСинхронизация даты и времени при интеграциях
Если обмены привязаны ко времени, а мы не учли при разработке разницу в часовых поясах, может происходить смещение и часть данных может быть "утеряна". Например, мы хотим получить все изменения за "сегодня". Но находимся мы в Хабаровске, и при запросе за
Самый простой вариант решения проблемы - все даты значений и отборов привести к единому часовому поясу. Платформа начиная с версии 8.2 поддерживает методы преобразования с учетом системного часового пояса. Пример перевода в универсальное время и обратно (UTC), работает и на клиенте и на сервере:
Если обмены привязаны ко времени, а мы не учли при разработке разницу в часовых поясах, может происходить смещение и часть данных может быть "утеряна". Например, мы хотим получить все изменения за "сегодня". Но находимся мы в Хабаровске, и при запросе за
[00:00:00-23:59:59]
получим данные только с 7:00
местного времени (если сервер работает по МСК).Самый простой вариант решения проблемы - все даты значений и отборов привести к единому часовому поясу. Платформа начиная с версии 8.2 поддерживает методы преобразования с учетом системного часового пояса. Пример перевода в универсальное время и обратно (UTC), работает и на клиенте и на сервере:
ДатаВремяСервера = УниверсальноеВремя(ТекущаяДатаСеанса());@yellow_pad | #1С #УниверсальноеВремя #Интеграция #ДатаВремя
ДатаВремяМестное = МестноеВремя(ДатаВремяСервера);