Автоматический REST-сервис в «1С:Предприятии». OData. Пример работы из Jscript/AJAX

Программирование - Практика программирования

REST XML AJAX JavaScript OData

153
Небольшой обзор REST-сервиса в «1С:Предприятии». Рассмотрен механизм работы c REST-сервером 1С:Предприятия из внешнего приложения - веб-страницы с использованием языка JavaScript и технологии AJAX.

 

Общая информация 

REST (сокр. от англ. Representational State Transfer — «передача  репрезентативного состояния») — метод взаимодействия компонентов распределённого приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (обычно GET или POST; такой запрос называют REST-запрос), а необходимые данные передаются в качестве параметров запроса. Этот способ является альтернативой более сложным методам, таким как SOAP, CORBA и RPC.

Open Data Protocol (OData) — это открытый веб-протокол для запроса и обновления данных. Протокол позволяет выполнять операции с ресурсами, используя в качестве запросов HTTP-команды, и получать ответы в форматах Atom, JSON или XML.

Ajax (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее.

В 1С Предприятие 8.3 появилась поддержка автоматического REST-сервиса. Для доступа к данным используется протокол OData версии 3. Поддерживается единственный формат представления данных: atom-xml. Для доступа к данным, при публикации, автоматически генерируется REST-сервис, который позволяет читать данные «1С:Предприятия», изменять их, создавать новые объекты данных и удалять существующие. Прикладное решение на базе «1С:Предприятия» может выступать как клиентом, так и сервером при работе с REST-сервисами. Для работы сервером практически никаких дополнительных действий осуществлять не надо (эта возможность предоставляется автоматически), для того, чтобы стать клиентом REST-сервиса, необходимо в прикладном решении реализовать программный слой, который будет использовать данные сервера REST с использованием стандартных интерфейсов «1С:Предприятия», например объекта HTTPСоединение.

В публикации рассмотрен механизм работы c REST-сервером 1С:Предприятия из внешнего приложения - веб-страницы с использованием языка JavaScript и технологии AJAX.

Теория и подробное описание - по ссылкам ниже.

 

REST-сервер

В качестве сервера будет выступать опубликованная на веб-сервере БД (Демо-база "Управление торговлей 11")

В режиме "Конфигуратор" переходим по меню "Администрирование" - "Публикация на веб-сервере..."

Теперь прикладное решение выступает как REST-сервер и мы можем получать и изменять данные, отправляя http-запросы, сформированные соответствующим образом.

Проверим работу сервиса. Для обращения REST-сервису используется последовательность
http://{АдресВебСервера}/{ИмяПубликации}/odata/standard.odata/{Ресурс}?{Параметры},где

АдресВебСервера - адрес веб-сервера, на котором опубликован сервис

ИмяПубликации - имя, указанное при публикации решения

Ресурс - идентификатор ресурса или предопределенные ресурсы. Например, $metadata - метаданные решения,

Catalog_Организации - справочник Организации.

Параметры - параметры ресурса. Используются, например, для отбора, в принятом для HTTP-запросов: ?ключ=значение&ключ2=значение2

В зависимости от того, какая операция выполняется, используется соответствующий HTTP-метод:

  •  Получение данных – метод GET;
  •  Создание объекта – метод POST;
  •  Обновление данных:
  •  метод PATCH – в этом случае можно указывать только те свойств, которые необходимо обновить;
  •  метод PUT – в этом случае необходимо указывать все свойства сущности;
  •  Удаление данных – метод DELETE.

Итак, получим список организаций
http://localhost/DemoTrd/odata/standard.odata/Catalog_Организации

$filter - описание отбора

Получим список накладных с отбором по организации

http://localhost/DemoTrd/odata/standard.odata/Document_РеализацияТоваровУслуг?$filter=Организация_Key eq guid'87ec13fb-f611-11df-aeca-0015e9b8c48d


Как видно из предыдущего изображения, отбор начинается с ключевого слова $filter, а для использования в отборе ссылочного реквизита к имени реквизита добавлен суффикс _Key

Логические операции отбора

  • Равно eq
  • Не равно ne
  • Больше gt
  • Больше или равно ge
  • Меньше lt
  • Меньше или равно le
  • Логическое ИЛИ or
  • Логическое И and
  • Отрицание not

 

Чтение объекта

Для чтения объекта необходимо отправить сформированный определенным способом запрос к сервису(URL сущности), используя метод GET
http://mysite/DemoTrd/odata/standard.odata/Document_РеализацияТоваровУслуг(guid'c019c02d-5462-11e0-af18-0015e9b8c48d')

Гет можем отправить и из браузера - посмотрим на XML-документ из Chrome, введя соответствующий URL в адресной строке:

 

 

Обновление объекта

Для обновления объекта необходимо выполнить PUT-/PATCH-запрос с использованием канонического URL сущности (аналогично запросу GET для получения сущности), передав в теле запроса XML-документ (в формате atom), который содержит значения свойств сущности.

В случае PATCH-запроса пропущенные свойства сущности будут проигнорированы, т. е. будут изменены только те свойства, которые переданы в запросе на изменение. Для PUT-запроса необходимо указывать значения всех свойств обновляемой сущности. 

PUT-/PATCH-запрос просто так из строки браузера отправить не получиться, поэтому приступим к написанию мини-клиента для REST-сервиса

 

REST-Клиент

Клиент будет представлять собой обычную html-страницу, с подключенными к ней js-скриптами. Это в первую очередь библиотека JQuery, также пригодятся скрипты для удобной работы с форматами дат и календарем

На странице реализуем следующие функции:

  • получение списка организаций
  • отбор РТиУ по выбранной организации за заданный период
  • изменение реквизита "Комментарий" у выбранного документа

Листинг js-процедур.

 

В результате наш мини-клиент выглядит так:

Изменим несколько документов и проверим результат в УТ:

 

Объекты конфигурации

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

  • Справочник
  • Документ
  • Журнал документов
  • Константа
  • План обмена
  • План счетов
  • План видов расчета
  • План видов характеристик
  • Регистр сведений
  • Регистр накопления
  • Регистр расчета
  • Регистр бухгалтерии
  • Бизнес-процесс
  • Задача

Механизм позволяет читать и записывать данные, работать с виртуальными таблицами (например, срезы регистров), выполнять функции и действия описанные в конфигурации с передачей параметров.

 

Ссылки

http://its.1c.ru/  - в первую очередь изучаем руководство разработчика на ИТС

http://www.odata.org/ - страничка протокола OData, там же есть ссылки на готовые библиотеки, для работы с одата на разных языках

 

Что в архиве

В архиве сам REST-клиент: html страница, js-скрипты, файл стилей css

 

Как настроить

  1. Опубликовать демо-базу УТ 11 (как на первом скрине)
  2. Настроить доступ – запустить web-сервер под пользователем ОС, настроить в конфигураторе ОС-аутентификацию пользователя(админа) 
  3. Разместить в корневом каталоге веб-сервера файлы из архива (ajax в дефолте не поддерживает кроссдоменные запросы, поэтому скрипты должны быть в одном домене с REST-сервисом)
  4. Открыть главную страницу сайта в браузере.

PS

Как работает клиент? При открытии страницы загружается список организаций в список выбора.

После загрузки выбираем для отбора организацию, интервал дат, жмем кнопку "Обновить". На страницу выводится список документов, одновременно заполняется список выбора внизу страницы.
Выбираем документ из списка, заполняем поле "Комментарий", жмем кнопку "Сохранить". После сохранения список документов обновится и изменения документа станут видны в нем:)
Подгрузка данных в страницу бывает работает не очень быстро (особенно в файловой версии, и/или при первом запуске :-) )
Поэтому  список организаций при открытии страницы в браузере заплняется спустя некоторое время. По хорошему, можно сделать, чтобы отображались картинка ожидания во время подгрузки ajax (часики или крутился кружок). Этот прием даёт пользователю понять, что страница не просто висит, а нужно немного подождать. Он используется на многих сайтах, в т.ч. на Инфостарте :)



UPD 

 

Из Заметок из зазеркалья стало ясно, что автоматический REST скоро будет доступен также в формате JSON.

 

 

153

Скачать файлы

Наименование Файл Версия Размер
RESTClient JavaScript
.zip 159,17Kb
10.12.16
115
.zip 159,17Kb 115 Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. baloo 09.10.14 06:32 Сейчас в теме
Отлично! Веб-расширение - давай, до свидания!
3. gimalaj 16 09.10.14 14:05 Сейчас в теме
(1) Необходимость в веб-расширении давно отпала с появлением веб-сервисов.
2. tindir 09.10.14 11:18 Сейчас в теме
Отлично. сейчас начинаю читать по ЖаваСкрипту и думал уходить из 1с. Но если можно бизнес-логику рисовать в "родной" эСке, а на клинет дергать только оттуда данные то видимо мои отношения с 1с еще не кончены совсем=)
Gang031; Lo1jke; Sitex; okulus; baloo; Solovyeff; +6 Ответить
43. ineshyk 09.02.16 00:27 Сейчас в теме
(2) tindir, жаль только по лицензионному соглашению на каждое соединение вам нужна будет 1-а лицензия.
И если взять такое решение для коммерческого продукта - то конкуренту достаточно дернуть 100 соединений, все новые по таймауту будут падать. Такой себе ДДОС для 1С )
4. Dragonim 88 09.10.14 14:53 Сейчас в теме
Я совсем не разбираюсь в вебе, но страдаю паранойе. Пожалуйста объясните для таких как я как происходит безопасность. Судя по примеру любой желающий может уничтожить базу на корню послав правильный rest запрос.
5. vano-ekt 1110 09.10.14 15:15 Сейчас в теме
(4) курите метод глобального контекста УстановитьСоставСтандартногоИнтерфейсаOData
где-то на ИС попадалась обработка, которая как раз в режиме предприятия задает перечень доступных объектов конфигурации
+ думаю также можно ролями разрулить, хотя не пробовал.
10. Dragonim 88 10.10.14 09:40 Сейчас в теме
(5) УстановитьСоставСтандартногоИнтерфейсаOData покурил мельком, разграничений прав доступа не нашёл, разговор идёт о разрешения доступа к определённым объектам конфигурации, в случае если доступ к объекту разрешен, то с ним можно делать что угодно, в вашем примере можно изменить или удалить справочник организации и документы РТиУ.

Если инструмент заложенный в платформу даёт право удалённо испортить бузу данных, то приводя пример использования данного инструмента нужно как минимум писать об этом большими красными буквами в самом начале. Одно дело когда вы сами работая с 1С исковеркали базу, а совсем другое, когда дали доступ из вне и кто-то другой её грохнул.

Если использовать данный сервис только со стороны веб сервера, то нужно распределять права доступа на самом веб сервере, на доступ к приложению с которым будет общаться это веб сервер и прописывать различные правила на стороне сервера 1С чтобы никто кроме веб сервера не смог обратиться к нему из вне или по локальной сети, в общем ещё больше гемороя.

Лично я считаю что инструмент REST запросов в 1С не доделан со стороны безопасности базы данных и пользоваться им вредно для психологического и материального здоровья, о чём хотел бы предупредить читателей.
11. vano-ekt 1110 10.10.14 10:15 Сейчас в теме
(10) вопросы безопасности решаемы, а убить базу пользователь может и без rest-сервиса :)
Трактор; +1 Ответить
16. xzorkiix 29 17.10.14 08:56 Сейчас в теме
(10) Dragonim, аутентификация по логин/пароль, в тч и по доменной аутентификации. Сеанс при обращении целиком и полностью в рамках Внешнего соединения. Полномочия - какие дадите, такие и будут.
vano-ekt; +1 Ответить
6. vano-ekt 1110 09.10.14 15:20 Сейчас в теме
ну и если таки не хотите давать доступ с клиента, можно этот же REST использовать только в серверных приложениях и тогда ни один враг не пройдёт :)
публикация не о том, чтобы всему миру открыть полный доступ к записи ИБ, а о новых возможностях платформы :)
7. Makushimo 152 09.10.14 16:19 Сейчас в теме
Отлично.

я вот тоже ни разу не Веб программист.
А как эту страничку с нуля создать? и куда там эти функции писать?
Как их вообще строить, функции эти?

Это надо чуток мат часть почитать?
есть ссылко?
8. vano-ekt 1110 09.10.14 18:34 Сейчас в теме
(7) я делал в текстовом редакторе,если хочется поковырять пример - почитать можно что то вроде JavaScript для чайников :)
9. Yashazz 2295 09.10.14 22:55 Сейчас в теме
Пока совершенно не нужная мне фича, да и недоступная (ввиду отсутствия работы на 8.3), но плюс ставлю. За UPD с цитатой из "Сектора". Потому что это исчерпывающе описывает концепт нынешних действий 1С - в каждом релизе что-то такое, что надо до половины кода/интерфейса переписывать, а то и больше.
Зеленоград; AllexSoft; newgluk; +3 Ответить
12. oleg_km 15.10.14 09:39 Сейчас в теме
А разве авторизацию клиента на входе нельзя прикрутить?
13. vano-ekt 1110 15.10.14 09:47 Сейчас в теме
(12) можно, причем больше вопросов задают как её убрать :-D
убираешь - вопрос как её вернуть :-D
21. shoy 19 30.10.14 10:56 Сейчас в теме
(13) и каковы ваши рекомендации?
22. vano-ekt 1110 30.10.14 11:24 Сейчас в теме
(21) я бы вообще не стал давать клиентским приложениям (каким является эта разработка на Jscript/AJAX) доступ без авторизации.
Если все же есть потребность работы с 1С внешних пользователей, то всю логику работы с REST я бы утащил в серверное приложение (например, в скрипты php), где доступ к REST был бы полным, но обработка данных выполнялась со всевозможными проверками и фильтрами.
18. xzorkiix 29 17.10.14 09:09 Сейчас в теме
(12) oleg_km, при публикации сервисов на стороне Веб сервера мы можем:
1. явно задать Логин/Пароль, тогда все обращения к сервису(ам) ИБ будут из под одного пользователя 1С.
2. использовать аутентификацию 1С по логин/пароль
3. использовать доменную аутентификацию
vano-ekt; +1 Ответить
29. Программулькин 276 07.11.14 11:49 Сейчас в теме
(18) xzorkiix, есть пример как явно указать логин и пароль?
14. oleg_km 15.10.14 10:56 Сейчас в теме
Ну я то просто спросил, для общего развития.
15. uzhelas 68 15.10.14 13:27 Сейчас в теме
Как на счет лицензий? Есть ли возможность разработать альтернативный веб-интерфейс не используя лицензий 1с?
17. xzorkiix 29 17.10.14 08:59 Сейчас в теме
(15) uzhelas, соединение через REST = внешнее соединение. 1 REST запрос = 1 пользовательский сеанс в ИБ.
19. AllaSN 30.10.14 09:51 Сейчас в теме
Не работает обращение к REST-сервису, если параметр с длинными GUID (например, "041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97"). Кто-нибудь сталкивался? Как решить?
20. vano-ekt 1110 30.10.14 10:10 Сейчас в теме
(19) это какой такой объект с таким guid'ом в базе? может сам запрос некорректно сформирован? весь запрос напишите
23. AllaSN 30.10.14 12:55 Сейчас в теме
(20)
/UTworkWeb/odata/standard.odata/Document_%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1­%86%D0%B8%D1%8F%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2%D0­%A3%D1%81%D0%BB%D1%83%D0%B3?$filter=%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%­86%D0%B8%D1%8F_Key%20eq%20guid%27041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97%27
25. vano-ekt 1110 30.10.14 13:16 Сейчас в теме
24. AllaSN 30.10.14 13:10 Сейчас в теме
(20)
С отбором по организациям с коротким GUID выводится список реализаций. С длинным GUID - нет.
26. AllaSN 30.10.14 13:54 Сейчас в теме
GUID дублировался из контактной информации. В результате получалась строка:
<option value="041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97041df8ef-8871-11e1-b201-20cf30c8da97">ООО «Организация»</option>
вместо
<option value="041df8ef-8871-11e1-b201-20cf30c8da97">ООО «Организация»</option>

Исправление:
$('#firm_list').append($('<option value="' + $(this).find('Ref_Key:first').text() + '"></option>').html($(this).find('Description').text()));
27. AllaSN 31.10.14 07:12 Сейчас в теме
Если в списке накладных вывести наименование объекта по ссылке (например, контрагентов), то формирование списка осуществляется крайне медленно.
28. Программулькин 276 07.11.14 08:51 Сейчас в теме
эм..я что-то туплю. Но на 1м шаге затык.
1. установил апач - работает( http://localhost/ - Результат: It works! )
2. Далее создал конфу новую, создал справочник Contakts. Создал пару реквизитов и пару элементов в базе.
3. Далее Администрирование - публикация - все галки выкл. кроме:
-публиковать стандартный интерфейс OData
-Каталог C:\www\bp\
-база: bp_test
4 рестарт Апач
5. Открываю браузер и пишу:
http://localhost/bp_test/odata/standard.odata/Catalog_Contakts
Ошибка
HTTP: Not found Ошибка при работе с ресурсом /bp_test/odata/standard.odata/Catalog_Contakts

Что не так то?

платформа 1С:Предприятие 8.3 (8.3.5.1186)
режим совместимости пробывал и ничего и Версия 8.3.4.
30. AllaSN 10.11.14 12:10 Сейчас в теме
Как тот же функционал можно реализовать с использованием php вместо jQuery?
31. Puk2 170 19.11.14 13:12 Сейчас в теме
Ещё бы к этому примеру добавить вывод картинки (фотографию сотрудника или номенклатуры), было бы очень замечательно. Хочу как-нибудь сделать справочник сотрудников с фотографиями, по виду напоминающий MS Outlook. Вроде в аутлуке есть ограничение в 255 пользователей, с которыми можно поделиться контактами.
32. IfYouWant_YouCan 20.11.14 08:54 Сейчас в теме
при сохранении документа реализации сервер отвечает (см. картинку), путь к БД 100% верный, т.к. все остальное работает, ваш код не менялся кроме пути, авторизация через домен, у юзера 1С все права, но при подключении через REST почему то в активных пользователях не видно что за пользователь, что может быть в данном случае?

вот функция ваша с моим путем к БД:

function patch_doc()
{

xmldata1 = '<?xml version="1.0" encoding="UTF-8"?><entry xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="http://localhost/83_TEST/odata/standard.odata/"> <content type="application/xml"><m:properties xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><d:Комментарий>'+document.form_save.doc_comm.value+'</d:Комментарий></m:properties></content></entry>';

$.ajax({
data:xmldata1,
dataType: 'text',
url : "/83_TEST/odata/standard.odata/Document_РеализацияТоваровУслуг(guid"+document.form_save.doc_id.value+")",
type : 'PATCH',
success : function (xmldata) {
})
load_doc();

}
Прикрепленные файлы:
33. vano-ekt 1110 20.11.14 09:19 Сейчас в теме
Документ: Не выбрано (см скрин)
34. vano-ekt 1110 20.11.14 09:20 Сейчас в теме
35. IfYouWant_YouCan 20.11.14 09:26 Сейчас в теме
(33) на картинке результат после нажатия кнопки "Сохранить"! До нажатия там все выбрано, яж не дурак чтоб отправлять XML без данных ))
36. vano-ekt 1110 20.11.14 09:51 Сейчас в теме
(35) ну тогда request в студию, раз он bad
37. IfYouWant_YouCan 20.11.14 12:16 Сейчас в теме
(36) глянул через инструменты разработчика в Chrome вот что отвечает 1С:

<m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<m:code>-1</m:code>
<m:message>Ошибка инициализации библиотеки модулей</m:message>
</m:error>
38. IfYouWant_YouCan 20.11.14 12:30 Сейчас в теме
(36) вот запрос:

Request URL:http://localhost/83_TEST/odata/standard.odata/Document_%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1­%86%D0%B8%D1%8F%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2%D0­%A3%D1%81%D0%BB%D1%83%D0%B3(guid'02bef111-7070-11e4-b922-bcee7b9a5809')
Request Method:PATCH

сам XML:

<?xml version:"1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="http://localhost/83_TEST/odata/standard.odata/">
<content type="application/xml">
<m:properties xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<d:Комментарий>
123
</d:Комментарий>
</m:properties>
</content>
</entry>
39. IfYouWant_YouCan 20.11.14 12:54 Сейчас в теме
(36) вообщем для теста сменил тип документа на СчетНаОплату, сейчас другая ошибка :

<m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<m:code>-1</m:code>
<m:message>Ошибка инициализации модуля: Документ.СчетНаОплатуПокупателю.МодульОбъекта</m:message>
</m:error>

платформа 8.3.5.1248, режим совместимости Версия 8.2.13, конфа доработанная УТ 10.3, как то можно вообще узнать где проблема в модуле счета? ну соответственно это не УФ, или
возможна работа только с УФ?
40. vano-ekt 1110 20.11.14 13:04 Сейчас в теме
черт его знает, тестил на демобазе ут 11(не помню релиз) , платформа 8.3.5.1186, может режим совместимости мешает?
41. IfYouWant_YouCan 20.11.14 13:24 Сейчас в теме
(40) на ИТС написано что отличий в том что включен режим совместимости или выключен - НЕТ, разница только в ограничении состава данных, с режимом совместимости он через REST весь передается, а без - можно ограничить, лан если не получится подружится, то буду юзать HTTT-сервис, там хуть отладку можно включить из 1С
42. mxs89 3 10.12.15 14:48 Сейчас в теме
как по дате запрос написать?
44. ktu 18.02.16 23:10 Сейчас в теме
При добавлении (изменении) документов как и в какой момент отрабатывает функционал проведения? Нужно как-то намекать документу о необходимости перепроведения?
45. baracuda 3 18.03.16 14:51 Сейчас в теме
Надоумьте пожалуйста. Как мне получить номенклатуру + остатки по ней при помощи Rest. В начале получаем Guid номенклатуры потом читаем остаток. Регистры накопления тоже уже достпны в REST интерфейсе?

Как к ним обращаться? Где описание? Хочу быть в теме
korzhishe; +1 Ответить
46. eugenelo 24.03.16 17:25 Сейчас в теме
http://localhost/DemoTrd/odata/standard.odata/Document_РеализацияТоваровУслуг?$filter=Организация_Key eq guid'87ec13fb-f611-11df-aeca-0015e9b8c48d
как понять эту запись ?? где закрытие кавычек ?
У меня почему то по такой схеме не фильтрует где id вот такие как тут, как булевы значения фильтровать как все скудно расписано
47. vano-ekt 1110 24.03.16 20:54 Сейчас в теме
(46) eugenelo, кавычек?? это разве кавычка? вроде как апостроф, и что он должен закрывать? это не строка а guid
http://its.1c.ru/db/v837doc#bookmark:dev:TI000001363 вот тут и про логические и про арифметические операции (18.2.1.5. Правила формирования условия отбора)
48. maksyandra 19.10.17 17:26 Сейчас в теме
А как получить данные измененные или добавленные за период??
Оставьте свое сообщение