|
Odata, достать реквизиты вместе с объектами | ☑ | ||
---|---|---|---|---|
0
alex115
21.09.20
✎
10:48
|
Добрый день.
Делаю следующую задачу: 1. внешняя система создает в 1с СчетаПокупателям (тут все ок) 2. внешняя система периодически загружает СчетаПокупателям обратно и выставляет статус оплаты в "Оплачено" когда в 1с счет отмечают как оплачено. Проблема возникла со второй частью. Я ожидал увидеть поле "статус оплаты" в обьектах по апи /odata/standard.odata/Document_СчетНаОплатуПокупателю , однако там ничего подобного нет. Как я понял - они хранятся в /odata/standard.odata/InformationRegister_СтатусыДокументов Однако из InformationRegister_СтатусыДокументов нельзя выгрузить статусы оплаты счетов за последнюю неделю например. надо загружать все. В итоге единственное решение которое я вижу - делать кучу запросов, доставая по "СчетНаОплатуПокупателю.id" обьекты из "СтатусыДокументов". но это сотни запросов попусту. Подскажите, может есть красивый способ просто получить список последних счетов во статусами их оплаты? |
|||
1
acht
21.09.20
✎
10:51
|
Сделай свой web/http сервис и не имей людям мозг.
|
|||
2
nicxxx
21.09.20
✎
11:28
|
В "InformationRegister_СтатусыДокументов" надо добавить ресурс "Дата изменения статуса" и отбирать по нему записи. Ну и само собой, добавить программный код, который этот ресурс будет менять.
|
|||
3
Cthulhu
21.09.20
✎
13:11
|
(1) накуа если есть одата, которой "снаружи" можно записать-вытянуть что надо без изменений в конфигурации и с использованием ее функциональности?
(2) ну или в рс добавить реквизит "ДатаИзмененияСтатусаДокумента" - тогда только код проведения поправить гораздо меньше, чем прочий программный код в документе для варианта с реквизитом.. |
|||
4
acht
21.09.20
✎
14:49
|
(3)
> надо без изменений в конфигурации ... > в рс добавить реквизит "ДатаИзмененияСтатусаДокумента" Я в восхищении. |
|||
5
alex115
22.09.20
✎
13:31
|
Я надеялся что можно сделать хитрый запрос просто (добавить expand или filter по связанным терез такую странную связь) обьектам.
И в итоге обойтись тем же обычным запросом через odata к InformationRegister_СтатусыДокументов или Document_СчетНаОплатуПокупателю. Неужели там нет такой возможности? odata же и создавался чтобы не писать код для типового общения с 1с. П.С. У нас нет человека который разбирается в 1с, поэтому мы и не совсем понимаем как там модели эти править, и слышали что все что там написал - надо поддерживать. Поэтому хотели обойтись стандартными средствами. Вообще не ожидали что поле которое явно относится к обьекту будет тяжело достать стандартными средствами. |
|||
6
nicxxx
22.09.20
✎
17:50
|
(5) Дело не в 1С. В любой другой системе "поле которое явно относится к обьекту" может храниться отдельно от объекта. Решение в (0) вы видите правильное. Если в целевой таблице нет поля LogMoment, другого решения и не будет, 1С это или webApp Django/Php.
|
|||
7
alex115
24.09.20
✎
18:02
|
Да, поле относящееся к таблице не обязательно в ней хранится, но для полей которые явно хранятся существует метод expand.
Здесь я так понимаю эта связь реализована как "generic Foreign Key" который может ссылаться на объекты разных типов. И expand в этой ситуации либо не работает, либо я не понял просто как его применить... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |