Форум OlegON > Программы и оборудование для автоматизации торговли > Маркировка

Добавил интеграцию с ЭДО СБИС в свою УС.... : Маркировка

18.04.2024 16:32


30.01.2024 09:20
jokerpnz
 
Цитата:
MWWRuza Служба поддержки ответили.
Там ошибка в синтаксисе у меня.
Подчиненный этапу список влжений - это должен быть массив, т.е. в квадратных скобках.
Без этого, якобы он воспринимает только первый элемент этого списка.
В программе переделал, вроде формирует 1 в 1 с тем файлом, что они прислали мой исправленый(во вложении).
Сегодня проверю, пока не могу - там оператор работает, не хочу мешать.
а я чего-то и не заметил, что это не массив, не обратил внимание на отсутсвие [ ]. у меня на этапе компиляции ошибку бы c# выкинул, либо при сериализации класса в json
30.01.2024 12:12
MWWRuza
 
Ну, да у меня в 1с77 нет штатных средств для работы с JSON, приходится пользоваться функциями, написанными на том-же 1с77, а там не учитывается проверка синтаксиса, просто на входе список значений с вложенными списками, по сути дерево списков, а на выходе строка... А проверить ОнЛайн валидатором, мне что-то и в голову не пришло. Сейчас проверил старый файл - действительно невалиден, ругается на повтор ключей "Идентификатор"(ну правильно, 4 вложения и у каждого есть идентификатор). Впредь буду внимательнее
30.01.2024 12:41
MWWRuza
 
Фрагмент функции преобразования объекта в JSON:

Функция ЗначениеВJSON(Объект,Форматированный="") Экспорт

Тип = ТипЗначенияСтр(Объект);
Если Тип = "СписокЗначений" Тогда
//то определим с ключами или без
Если Объект.РазмерСписка() = 0 Тогда
Тип = "СписокЗначенийбезКлючей";
Иначе
Ключ = "";
Значение = Объект.ПолучитьЗначение(1,Ключ);
Если ПустоеЗначение(Ключ) = 1 Тогда
Тип = "СписокЗначенийБезКлючей";
КонецЕсли;
КонецЕсли;
КонецЕсли;

По сути, "СписокЗначенийбезКлючей" здесь и есть массив... Это просто список значений. А когда с ключами, это 1Совский семерошный изврат, список из пар "Значение/Представление"... В восьмерке для этого отдельные типы добавили.
31.01.2024 10:41
jokerpnz
 
MWWRuza, случайно нигде не попадалось как сделать расхождение? в ЛК СБИС можно его делать. как сделать средствами Апи, не понятно(




(0.14Мб)
31.01.2024 13:02
MWWRuza
 
Нет. К сожалению, полноценного примера нигде не видел.
Но отсюда:



Есть ссылка на формат документа.
А этап, как я полагаю, будет отправка.

PS Мои пока не требуют этого, просто посылают "Отклонить" с комментарием почему, на что поставщик высылает новый док. с исправлением. Но, как я понимаю, это не совсем правильно.
31.01.2024 13:05
MWWRuza
 
То, что это не в разделе API, а в СБИС.Коннект, я думаю не принципиально, должно быть одинаково или как минимум похоже.
31.01.2024 13:30
jokerpnz
 
Цитата:
MWWRuza Нет. К сожалению, полноценного примера нигде не видел.

Есть ссылка на формат документа.
А этап, как я полагаю, будет отправка.

PS Мои пока не требуют этого, просто посылают "Отклонить" с комментарием почему, на что поставщик высылает новый док. с исправлением. Но, как я понимаю, это не совсем правильно.

CorrIn - это УКД от поставщика, а CorrOut я думаю УКД от нас, если мы отправители УПД. Акт расхождения я видел тип документа, через СБИС Коннект даже подкидывал его, но через Api не понятно где его можно применить
31.01.2024 17:12
MWWRuza
 
Тогда, можно задать вопрос СП... Вроде корректно отвечают.
Часовой пояс GMT +3, время: 16:32.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.