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

Публикация № 305854

Разработка - Практика программирования

REST XML AJAX JavaScript OData

166
Небольшой обзор 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.

 

 

166

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

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

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
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 98 09.10.14 14:53 Сейчас в теме
Я совсем не разбираюсь в вебе, но страдаю паранойе. Пожалуйста объясните для таких как я как происходит безопасность. Судя по примеру любой желающий может уничтожить базу на корню послав правильный rest запрос.
5. vano-ekt 527 09.10.14 15:15 Сейчас в теме
(4) курите метод глобального контекста УстановитьСоставСтандартногоИнтерфейсаOData
где-то на ИС попадалась обработка, которая как раз в режиме предприятия задает перечень доступных объектов конфигурации
+ думаю также можно ролями разрулить, хотя не пробовал.
10. Dragonim 98 10.10.14 09:40 Сейчас в теме
(5) УстановитьСоставСтандартногоИнтерфейсаOData покурил мельком, разграничений прав доступа не нашёл, разговор идёт о разрешения доступа к определённым объектам конфигурации, в случае если доступ к объекту разрешен, то с ним можно делать что угодно, в вашем примере можно изменить или удалить справочник организации и документы РТиУ.

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

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

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

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

Это надо чуток мат часть почитать?
есть ссылко?
8. vano-ekt 527 09.10.14 18:34 Сейчас в теме
(7) я делал в текстовом редакторе,если хочется поковырять пример - почитать можно что то вроде JavaScript для чайников :)
9. Yashazz 2907 09.10.14 22:55 Сейчас в теме
Пока совершенно не нужная мне фича, да и недоступная (ввиду отсутствия работы на 8.3), но плюс ставлю. За UPD с цитатой из "Сектора". Потому что это исчерпывающе описывает концепт нынешних действий 1С - в каждом релизе что-то такое, что надо до половины кода/интерфейса переписывать, а то и больше.
Зеленоград; AllexSoft; newgluk; +3 Ответить
12. oleg_km 15.10.14 09:39 Сейчас в теме
А разве авторизацию клиента на входе нельзя прикрутить?
13. vano-ekt 527 15.10.14 09:47 Сейчас в теме
(12) можно, причем больше вопросов задают как её убрать :-D
убираешь - вопрос как её вернуть :-D
21. shoy 19 30.10.14 10:56 Сейчас в теме
(13) и каковы ваши рекомендации?
22. vano-ekt 527 30.10.14 11:24 Сейчас в теме
(21) я бы вообще не стал давать клиентским приложениям (каким является эта разработка на Jscript/AJAX) доступ без авторизации.
Если все же есть потребность работы с 1С внешних пользователей, то всю логику работы с REST я бы утащил в серверное приложение (например, в скрипты php), где доступ к REST был бы полным, но обработка данных выполнялась со всевозможными проверками и фильтрами.
18. xzorkiix 32 17.10.14 09:09 Сейчас в теме
(12) oleg_km, при публикации сервисов на стороне Веб сервера мы можем:
1. явно задать Логин/Пароль, тогда все обращения к сервису(ам) ИБ будут из под одного пользователя 1С.
2. использовать аутентификацию 1С по логин/пароль
3. использовать доменную аутентификацию
vano-ekt; +1 Ответить
29. Программулькин 287 07.11.14 11:49 Сейчас в теме
(18) xzorkiix, есть пример как явно указать логин и пароль?
14. oleg_km 15.10.14 10:56 Сейчас в теме
Ну я то просто спросил, для общего развития.
15. uzhelas 69 15.10.14 13:27 Сейчас в теме
Как на счет лицензий? Есть ли возможность разработать альтернативный веб-интерфейс не используя лицензий 1с?
17. xzorkiix 32 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 527 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 527 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. Программулькин 287 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 174 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 527 20.11.14 09:19 Сейчас в теме
Документ: Не выбрано (см скрин)
34. vano-ekt 527 20.11.14 09:20 Сейчас в теме
35. IfYouWant_YouCan 20.11.14 09:26 Сейчас в теме
(33) на картинке результат после нажатия кнопки "Сохранить"! До нажатия там все выбрано, яж не дурак чтоб отправлять XML без данных ))
36. vano-ekt 527 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 527 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 2 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 527 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 Сейчас в теме
А как получить данные измененные или добавленные за период??
Оставьте свое сообщение

См. также

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.

19700 руб.

Вам нравятся запросы в 1С? 14

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::Запросы 1cv8.cf Абонемент ($m) Практика программирования Разработка

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    11412    1    m-rv    79       

Безопасная работа с транзакциями во встроенном языке 190

Статья Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    17731    8    tormozit    44       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 562

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    31358    281    bonv    117       

Проверка VAT номеров 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    5244    wtlz    0       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Работа с публикациями "Инфостарт" 14

Инструменты и обработки Программист Архив с данными v8 УУ Абонемент ($m) Практика программирования О сообществе WEB

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    10772    10    RocKeR_13    16       

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 65

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    17409    23    informa1555    26       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Работа с данными выбора 41

Инструменты и обработки Программист Архив с данными v8 Россия Абонемент ($m) Практика программирования Работа с интерфейсом

В управляемом интерфейсе заложена мощная возможность описывать связи реквизитов формы через параметры. Установка параметров связей позволяет ограничить выбор данных так, чтобы целостность данных была обеспечена на этапе ввода. Однако без дополнительного программирования задать можно только самые простые связи. Такие условия связи, как зависимость от реквизита через точку или зависимость через дополнительное отношение, заданное в регистре сведений - уже задать без программирования не получится.

1 стартмани

17.07.2018    24445    14    kalyaka    15       

Пример использования REST API Яндекс Диска 36

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    14494    23    MKFreeUser    12       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Обмен файловыми базами данных через Yandex диск 7

Инструменты и обработки no Приложение (exe) v8 Россия Windows Абонемент ($m) WEB

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    11172    6    slimper    1       

Конфигурация для просмотра публичных телеграм каналов 10

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) WEB

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

1 стартмани

02.06.2018    11314    7    DO_WHILE_LOOP    7       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") 105

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::Запросы 1cv8.cf Абонемент ($m) Практика программирования

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    21019    86    m-rv    57       

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному 242

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования БСП (Библиотека стандартных подсистем)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    29628    28    dsdred    34       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Как выполнить отчет на СКД через COM и получить данные отчета? 86

Статья Программист Архив с данными v8 УПП1 Россия Windows Абонемент ($m) Практика программирования

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    19140    10    wowik    3       

Работа со схемой запроса 176

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    30406    75    kalyaka    34       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

Внешняя компонента для работы по Web-socket протоколу 22

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент WEB

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

5 стартмани

30.03.2018    15013    9    Ditron    63       

Построение маршрута доставки с расчётом расстояния для любой базы УФ 57

Инструменты и обработки Руководитель проекта Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Оптовая торговля Абонемент ($m) Универсальные обработки WEB

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    21846    36    KorotkovRV    16       

Новогодние скидки на авторское ПО Промо

В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.

Заполняем по шаблону (по умолчанию) 69

Инструменты и обработки Программист Архив с данными v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования

Простой в подключении, универсальный и достаточно удобный механизм заполнения реквизитов произвольных документов/справочников значениями по умолчанию. Реализован в расширении, но может быть и непосредственно включен практически в любую конфигурацию на управляемых формах простым копированием одной формы и двух команд. Весь код в статье.

1 стартмани

08.02.2018    18891    20    mvxyz    17       

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов 124

Статья Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    26596    62    rpgshnik    46       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула 8

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Печатные формы документов Практика программирования Универсальные функции

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    24901    21    agent00mouse    0       

Сервер push сообщений “Push0k“ 18.05 13

Инструменты и обработки no Архив с данными v8 1cv8.cf Абонемент ($m) WEB

Аналог других “мессенджеров“. Позволяет практически все то же самое, что и другие решения. За исключением смайлов, эмодзи, голосовой и видео связи. Основное отличие от других решений, открыта и доступна для изменения серверная и клиентская часть месенджера. Общедоступной серверной части нет, за серверную часть отвечаете вы сами.

1 стартмани

19.12.2017    11598    13    PloAl    20       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП 26

Инструменты и обработки Программист Расширение (cfe) v8 БП3.0 Абонемент ($m) Практика программирования Универсальные печатные формы

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    19548    52    kwazi    6       

Подсистема Вики - интеграция 1С и сайта под управлением MediaWiki 91

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) WEB

Редактирование статей сайта Mediawiki из 1С. Формирование функционального описания конфигурации на сайте Вики.

1 стартмани

19.09.2017    21947    32    shmalevoz    18       

Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо

Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).

29700 руб.

Расширения конфигураций 1С: учимся перехватывать методы 115

Инструменты и обработки Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования

В этой статье я на примерах разберу некоторые механизмы расширений конфигураций 1С. А именно «перехваты» методов модуля объекта и «перехваты» событий формы и элементов формы. Данная статья написана с учебными целями, чтобы показать, как при помощи расширений конфигурации можно делать такие доработки, ради которых раньше приходилось снимать конфигурацию с поддержки.

1 стартмани

30.05.2017    89044    14    signum2009    45       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 178

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    40430    168    DarkAn    86