Публикация

подписчиков: 4 Подписаться
2
Avatar

Не работает привязывание документов

Согласно документации: "Для того чтобы привязать к уже существующему документу другой документ нужно передать meta привязываемого документа в коллекцию связанных документов этого типа." 

Делаю запрос:

Запрос проходит успешно, но счет к заказу не привязывается

Виталий Макеев

Войдите в службу, чтобы оставить комментарий.

Комментариев: 15

0
Avatar

Виталий, проверим. Но скорее всего ошибка в документации, т.к. после создания документа управление связями доступно только на стыке платёжный документ - операция - аналогично тому, как в UI нельзя связать между собой заказ и счёт - только при создании одного из другого.

Михаил 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Другой пример запроса на привязку отгрузки от одного заказа покупателя к другому:

Запрос успешный. Привязка отгрузки не меняется. PUT запрос тоже не меняет привязку.

 

Виталий Макеев 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

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

Михаил 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Михаил, не понял вашего ответа. Если вы имеете ввиду, что привязка работает только для платежного документа, то это явно не так. Привязку других документов можно менять (заказ поставщику, счет, входящий платеж). Собственно, как это и было в старом API. Нельзя было задать привязку через родительский документ. В текущей документации описано, что это возможно, а по факту можно изменить только из дочернего, как и было раньше.

Виталий Макеев 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Если такой функциональности нет в UI, разве это означает, что она невозможна?

Зачем в UI менять привязку связанных заказов поставщику, к примеру? А вот через API эта функция важна при создании функционала объединения документов, когда общий документ получает не только позиции объединенных, но и их связанные документы.

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

Виталий Макеев 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

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

Кузьмин Илья Леонидович 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Через старый АПИ (XML API) было много чего можно делать, а потом возникали проблемы в данных по той причине, что там было минимум ограничений. Проверим, что должно работать, а что - нет.

Михаил 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Я проверил - да, для большинства поддерживается связывание. Но работает оно только для тех операций, для которых есть шаблон (/new) - для заказа покупателя такого шаблона нет. И это соответствует UI. В обратную сторону сработает - т.е. в счёт можно привязать заказ через поле customerOrder. Документацию дополним, чтобы было понятно.

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

Михаил 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Спасибо. Но всё равно не ясно на счет отгрузки. Для demand есть шаблон /new, но привязка к заказу не работает.

Привязка документов из заказа не столь критична (просто, из заказа было бы проще и за один запрос), важнее наличие самой возможности связывать разные документы через API.

Виталий Макеев 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

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

Например, у нас за день создается несколько заказов поставщику (на каждый заказ клиента), а приемка от поставщика на следующий день только одна. В интерфейсе нет возможности привязывать приёмку к заказам поставщику, только из заказа можно создавать приемку. Поэтому на одну фактическую поставку поставщика у нас сейчас несколько приемок из заказов создается.

Денис 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

В том числе, заметил следующий баг (судя по всему). Если изменить привязку входящего платежа (из одного заказа покупателя привязать к другому через API). То в прежнем заказе покупателя не обнуляется payedSum. Это отражается и в списке заказов покупателей в UI, в колонке оплачено значится сумма платежа как для нового родительского заказа, так и для прежнего.

Прежний родительский заказ (нет связанных платежей, но payedSum не обнулилось):

Новый родительский заказ:

 

В UI:

Виталий Макеев 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Коллеги, я вас услышал. Действительно, наблюдаю некоторую неоднозначность в части связывания документов. Обсудим у себя в компании, по каким причинам принимались те или иные решения. Отпишусь в этой теме как только будет понятно, в какую сторону будем двигаться.

Михаил 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Даже если заказ проведен, ситуация не меняется.

Помогает пересохранение заказ в UI или обновление через API:

P.S. Хотя можно и пустой объект отправить, тоже помогает.

Виталий Макеев 0 проголосовали
Действия с комментариями Постоянная ссылка