HTTP Сервисы: Путь к своему сервису. Часть 4

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

Разработка - Инструментарий разработчика

HTTP-сервис API JSON IIS http web apache сервис Публикатор Линк PAPI Pretty API atom-xml XML OData Код состояния СКД БСП Длительные операции

107
Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 3». В предыдущих частях мы уже о многом поговорили. В этой части поговорим про размер сообщений, о файлах, о порциях и немножко, о регламентах.
  • В первой части мы создали каркас для Get метода в расширении конфигурации. 
  • Во второй части мы поработали с OData и создали обработку, получающую через HTTP-Сервис используя метод Get данные сформированные при помощи СКД.
  • В третьей части мы поработали со всеми методами. Сделали пример формирующий данные при помощи СКД, работающий как через Get, так и через Post. Также поработали с длительными операциями.

В этой части поговорим о такой важной вещи как порционная передача данных. Работать будем в основном с методами GET и POST, немножко затронем OData.

HTTP-сервис будет в расширении конфигурации БСП 3.0.1.231 на платформе 8.3.12.1595.

Начнем.

Немножко про OData и порции.

Есть у OData сильный недостаток, если хотите его испытать сделайте запрос к самому большему объекту в вашей боевой базе, ну и попробуйте поработать. Вскоре пользователи прибегут к вам сами.

Для того чтобы такого не происходило нужно делать следующие вещи:

  1. Делайте выборку только по тем реквизитам, которые вам нужны. Для этого используйте $select.
  2. Перед тем как делать запрос уточните количество записей. Для этого используйте $count.
  • count - Позволяет получить в качестве результата запроса размер выборки. При успешном выполнении, тело ответа должно содержать только число элементов коллекции, отформатированное как обычное число.
  1. Если записей много забирайте их порциями через $top и $skip.
  • top - Ограничивает количество записей, возвращаемых при обращении к ресурсу.
  • skip - Позволяет исключить из результата запроса первые несколько записей. Если параметры $top и $skip указываются одновременно, то параметр $skip будет применен раньше, чем параметр $top. Приоритет применения параметров не зависит от порядка их указания в теле запроса.
  1. Я бы еще рекомендовал использовать JSON, так как меньше весит, но тут на вкус и цвет…

Предлагаю сделать небольшую обработку, которая будет забирать порциями данные из справочника КлассификаторБанков, он самый большой в БСП. Порция по умолчанию будет равна 1000 элементов.

Воспользуемся обработкой Доступный состав стандартного интерфейса OData и дадим доступ к нужному нам справочнику.

Узнаем сколько в справочнике элементов. Наш запрос будет таким: http://127.0.0.1/DemoSSL3_0_1_231/odata/standard.odata/Catalog_КлассификаторБанков/$count?$select=Ref_Key,Description,Code,DeletionMark,IsFolder&$format=json;odata=nometadata

4774 элемента. Далее набросаем обработку.

Создаем реквизиты:

  • КоличествоСтраниц – Число. Получаем путем округления в большую сторону количество элементов\Порцию
  • КоличествоЭлементов – Число. Количество элементов полученных по OData.
  • ОбъектКонфигурации – Строка. Представление элемента в OData.
  • Порция – Число. Количество элементов на странице.
  • Результат – Строка.
  • ТекущаяСтраница – Число.
  • Селект - Строка. Кусок запроса с параметрами выборки. В нашем примере "$select=Ref_Key,Description,Code,DeletionMark,IsFolder&"

Создаем Команды:

  • НачальнаяЗагрузка – Загружаем количество элементов и рассчитываем количество страниц.
  • Вперед – Загружаем следующую порцию.
  • Назад – загружаем предыдущую порцию.

 
 Модуль формы
 
 Результат

Таким образом мы организовали порционное считывание данных по OData.

Ограничения по размеру файлов\данных. Дробление и порции.

В третьей части мы вскользь уже говорили о том, что по средствам метода POST можно передавать большие объемы данных, но ограничение в объеме все же есть и у данного метода. Настройка ограничения по умолчанию в IIS равна 30000000(байт) или 28,61(мегабайт) и находится тут:

Для Apache по ограничениям не скажу, не использую его более 5-ти лет, поэтому не знаю, что там за это время изменилось.

 
 Пример дробления файла

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

Что делать, если нам нужно получить некий объем данных, невзирая на ограничения, но с возможностью чтения данных по частям?

Естественно речь идет про некую структуру данных в формате JSON или XML (есть варианты и других форматов, но нам это сейчас неинтересно). Будем использовать порции.

Предлагаю сделать через методы POST и GET нечто подобное, что мы сделали выше по OData.

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

1 Вариант. Через запрос.

 
 Суть метода

Для начала давайте нарисуем сервис возвращающий количество элементов и массив последних ссылок в порциях. При этом массив с последними ссылками оставим на стороне сервера хранящего данные в справочнике PAPI_ХранилищеРезультатов, созданном в предыдущей статье (Часть 3). Сервис будет называться «ПолучитьКоличествоЭлементовВариантЗапрос», наименование объекта будем подавать параметром ItemName, количество объектов в порции будем подавать параметром top. Затем создадим метод «ПолучитьПорциюЭлементовВариантЗапроса» и будем подавать в него те же параметры, что и в предыдущем методе и номер страницы (порции) параметром page.

Правим справочник PAPI_ХранилищеРезультатов.

Добавляем реквизиты:

  • МетодЗапроса – Строка(200).
  • ПараметрыЗапроса – Строка(200).
  • ДатаЗапроса – Дата и время. Будем считать, что данные актуальны в течение дня

Правим модуль PAPI_ОбщиеПроцедурыИФункции. Добавим в него несколько функций и процедуру по получению элементов. И вынесем в него часто встречающийся код по преобразованию в формат JSON.

 
 Код модуля PAPI_ОбщиеПроцедурыИФункции

Правим модули PAPI_ОбработкаМетодовGET и PAPI_ОбработкаМетодовPOST и PAPI_ОбработкаУниверсальныхМетодов. Добавляем в него наши методы.

 
 Код модуля PAPI_ОбработкаМетодовGET
 
 Код модуля PAPI_ОбработкаМетодовPOST
 
 Код модуля PAPI_ОбработкаУниверсальныхМетодов

Правим обработку, которую делали ранее для примера с OData. 

Создаем реквизит:

  • МетодСервиса – Строка. Будет хранить список значений (Пример 1 - OData(1_1), Пример 1 - Get(1_2), Пример 1 - Post(1_3))

Добавляем декорацию (ДекорацияРазмерОтвета) для вывода "Content-Length" из заголовка ответа и меняем модуль формы.

 
 Модуль формы
 
 Результат
  • На самом деле можно еще было бы создать регламент при помощи дополнительной обработки по очистке старых результатов.
  • Или создать механизм, который собирал бы количество обращений в день в разрезе параметров запроса и метода, а далее с утра регламентом подготавливал результаты для самых "горячих запросов".
  • Так же можно было создать, например регистр сведений, который хранил порции по результатам и тогда вычисления на сервере сводились бы к минимуму по данным запросам.

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

2 Вариант. Через Планы обмена.

Тут все просто. Регистрируем все на узле и бьем на сообщения в зависимости от порции.

Давайте нарисуем сервис возвращающий количество элементов и регистрирующий элементы справочника на узле. Будет использован план обмена _ДемоАвтономнаяРабота из БСП. Сервис будет называться «ПолучитьКоличествоЭлементовВариантПланОбмена», наименование объекта будем подавать параметром ItemName, количество объектов в порции будем подавать параметром top. Затем создадим метод «ПолучитьПорциюЭлементовВариантПланОбмена» и будем подавать в него те же параметры, что и в предыдущем методе и номер страницы (порции) параметром page.

Правим модуль PAPI_ОбщиеПроцедурыИФункции. Добавим в него Область РаботаСПланОбмена и Вспомогательную процедуру.

 
 Код модуля PAPI_ОбщиеПроцедурыИФункции

Правим модули PAPI_ОбработкаМетодовGET и PAPI_ОбработкаМетодовPOST и PAPI_ОбработкаУниверсальныхМетодов. Добавляем в него наши методы.

 
 Код модуля PAPI_ОбработкаМетодовGET
 
 Код модуля PAPI_ОбработкаМетодовPOST
 
 Код модуля PAPI_ОбработкаУниверсальныхМетодов

Правим обработку. Реквизиту МетодСервиса добавляем 2 значения Пример 2 - Get(2_1) и Пример 2 - Post(2_2)
Меняем модуль формы.

 
 Модуль формы
 
 Результат

Посмотрим запросом, что лежит на узле:

ВЫБРАТЬ
	КлассификаторБанковИзменения.Ссылка КАК Ссылка,
	КлассификаторБанковИзменения.НомерСообщения КАК НомерСообщения
ИЗ
	Справочник.КлассификаторБанков.Изменения КАК КлассификаторБанковИзменения
ГДЕ
	КлассификаторБанковИзменения.Узел = &Узел

УПОРЯДОЧИТЬ ПО
	НомерСообщения
ИТОГИ
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка)
ПО
	НомерСообщения

  • В методе «ПолучитьКоличествоЭлементовВариантПланОбмена» я чищу узел и перезаполняю его, но лучше нарисовать регламент и все новые элементы распределять на новые сообщения либо прямо в методе проверять есть ли новые элементы без номеров сообщений.

Метод с узлами более правильный, чем метод запросом!

Четвертую часть заканчиваю. Мы рассмотрели с Вами методы порционной передачи данных на примере OData и методов GET и POST. Файлы мы рассмотрели вскользь, по крайней мере у меня потребность передачи файлов встречается очень редко.

Надеюсь данные примеры будут полезны в Вашей работе!

Статьи из данного цикла:

HTTP Сервисы: Путь к своему сервису. Часть 1

HTTP Сервисы: Путь к своему сервису. Часть 2

HTTP Сервисы: Путь к своему сервису. Часть 3

107

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

Наименование Файл Версия Размер
Расширение с рассмотренными примерами сервисов. (Под 8.3.12)
.cfe 36,66Kb
10.10.18
9
.cfe 0.0.5 36,66Kb 9 Скачать
Внешняя обработка созданная по ходу статьи (HTTP-сервисы часть4)
.epf 9,75Kb
10.10.18
8
.epf 0.1 9,75Kb 8 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. apostal86 216 03.10.18 11:18 Сейчас в теме
Сейчас пока добавил в избранное. Но подсказывает интуиция, что "не за горой" момент, когда опыт, изложенный в данной публикации, может пригодиться.
eeeio; dsdred; +2 Ответить
2. nicxxx 236 02.01.19 19:29 Сейчас в теме
Вместо метода ПолучитьДатуВремяИзСтроки() можно применить платформенный XMLЗначение():
XMLDate = СтруктураЗапроса.ПараметрыЗапроса.Получить("Date");
Date = XMLЗначение(Тип("Дата"), XMLDate);
3. dsdred 1278 04.01.19 18:08 Сейчас в теме
(2)Вариантов масса. Можно и в ПрочитатьJSON указать тип
4. user805602 16.04.19 12:49 Сейчас в теме
На Java работа с Web-сервисами проще. А в 1С, после ваших статей, я выберу для обмена Com.
Обмен через блокнот, выглядит проще.
5. dsdred 1278 16.04.19 13:11 Сейчас в теме
(4)
На Java работа с Web-сервисами проще.

Чем проще?

А в 1С, после ваших статей, я выберу для обмена Com.
Обмен через блокнот, выглядит проще.

Это только выглядит. Чем Вас так напугали http-сервисы?
6. user805602 17.04.19 04:27 Сейчас в теме
(5) Статья мне понравилась.
На первый взгляд я не увидел шаблонизаторов, помогающих делать веб-страницу. У вас данные возвращаются в текстовом виде.
А в самом 1с много чего не хватает. Например, коллекций, приходится в основном всё пихать в таблицу значений.
Про выгрузку в текстовый документ я упомянул потому, что результат будет такой же, только не надо разворачивать IIS/Apache
7. dsdred 1278 17.04.19 21:20 Сейчас в теме
(6)
Про выгрузку в текстовый документ я упомянул потому, что результат будет такой же, только не надо разворачивать IIS/Apache


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

Одно скажу, Com уже более 4-х лет не использую. Показываю только для того чтобы оценили их тормознутость и согласились идти другими способами. Показывал как то один тестовый пример, обходил справочник используя Com проверяя реквизит на определенное значение. Тоже самое делал по OData.
В итоге Com молотил 30 с чем то минут, OData около 3 минут. Удивленные лица многого стоят.
user805602; +1 Ответить
8. newbigrator 20.04.19 21:58 Сейчас в теме
Я вот что не понял в варианте с планом обмена - вы понаписали кучу функций и кода, ок.
Но ведь подразумевается что при использовании OData 1C просто открывает свои объекты, доступные по этому интерфейсу. А тут получается что все равно нужно дописывать функции.
То есть я всегда воспринимал OData как вариант, когда ничего делать не надо. А тут получается надо и только тогда взлетает.
Чем тогда он отличается от веб сервисов то..
9. dsdred 1278 21.04.19 11:10 Сейчас в теме
(8)Odata показывал только вариант с использованием $top и $skip напрямую к справочнику без использования плана обмена. Соответственно код был только для организации порционного вывода в обработке.
Если вы откроете Результат, то увидите там непосредственно ссылки которые формируются для получения данных.

Запрос: http://127.0.0.1/DemoSSL3_0_1_231/odata/standard.odata/Catalog_КлассификаторБанков/$count?$select=Ref_Key,Description,Code,DeletionMark,IsFolder&$format=json;odata=nometadata

Запрос: http://127.0.0.1/DemoSSL3_0_1_231/odata/standard.odata/Catalog_КлассификаторБанков?$top=1000&$skip=0&$select=Ref_Key,Description,Code,DeletionMark,IsFolder&$format=json;odata=nometadata
...
Запрос: http://127.0.0.1/DemoSSL3_0_1_231/odata/standard.odata/Catalog_КлассификаторБанков?$top=1000&$skip=4000&$select=Ref_Key,Description,Code,DeletionMark,IsFolder&$format=json;odata=nometadata

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


Вариант с планом который я показал, был через http-сервис. (Не по OData)
Поясню:
По Odata мы открываем объекты, можем даже план обмена открыть, но в плане есть атворегистрация и программная регистрация. Чаще всего авторегистрация не годится для нормального обмена с разными складами\магазинами\организациями, так как нужна некая фильтрация данных в разрезе Склада\организации\магазина и тут в принципе без программного вмешательства не обойтись чтобы раскидывать по узлам.
10. newbigrator 21.04.19 16:37 Сейчас в теме
(9) Теперь понял.
Но хочу уточнить, все таки при OData не годится для случая когда нужно вычитать какую то Изменившуюся порцию.
Вы согласны?

Ваш пример про top и skip хорош и в целом позволяет читать порции, но это количественные порции.
А прочитать изменившуются порцию через OData как я понимаю не получится, ну то есть подключить функционал плана обмена и через него соединится с таблицами изменениями.. или все таки можно?
11. dsdred 1278 21.04.19 21:58 Сейчас в теме
(10)Можно по ODate получать из Плана изменившуются порцию -> https://its.1c.ru/db/v8314doc#bookmark:dev:TI000001394

Пробовал года 2 назад через postman с бухгалтерии получать, вот пример запроса:
http://127.0.0.1/BuhObmenVesi/odata/standard.odata/SelectChanges?DataExchangePoint='http://127.0.0.1/BuhObmenVesi/odata/standard.odata/ExchangePlan_ПоОрганизации(guid'1c95d6bd-4942-11e7-8430-d897ba0899c9')'&MessageNo=0&$format=json;odata=nometadata

Не помню почему сделал в итоге через http-сервис... Давно было,. не вспомню.
12. Diversus 2038 02.12.19 14:10 Сейчас в теме
Добрый день. Спасибо за цикл статей. Скажите, а вы не сталкивались с вопросом авторизации в http-сервисе и выхода из режима авторизации? Скажем так: если при работе с Http-сервисом ввести логин и пароль пользователя, то для того, чтобы выйти из этого режима и снова попросить авторизацию необходимо перезапустить apache/IIS.
Если сталкивались поделитесь решением. Сейчас это нигде не освещено.
13. dsdred 1278 03.12.19 11:32 Сейчас в теме
(12)Честно говоря не сталкивался. Можно будет поэкспериментировать.
Оставьте свое сообщение

См. также

Хороший заказчик - плохой заказчик 33

Статья no Нет файла Россия Бесплатно (free) О жизни

Лайфхак о том, как стать легендарным клиентом.

13.09.2019    4654    dsdred    24       

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

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

Самый примитивный HTTP-сервис в мире 175

Статья Программист Нет файла v8 Бесплатно (free) WEB

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

12.09.2019    9480    YPermitin    26       

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

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

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

1 стартмани

03.07.2019    11462    1    m-rv    79       

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

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

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

Модель объекта 10

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

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    4700    1    vadim1980    0       

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

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

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

1 стартмани

25.03.2019    17851    8    tormozit    44       

Перенос данных БП 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 руб.

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

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

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

1 стартмани

31.01.2019    31480    283    bonv    117       

Редактор объектов информационной базы 8.3 44

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

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.37 от 14.12.2019

2 стартмани

23.01.2019    12158    157    ROL32    28       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 178

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    25146    229    informa1555    189       

Навигатор по конфигурации базы 1С 8.3 108

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

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.47 от 25.11.2019

3 стартмани

28.10.2018    18568    202    ROL32    47       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

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

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

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

1 стартмани

13.09.2018    10813    10    RocKeR_13    16       

HTTP Сервисы: Путь к своему сервису. Часть 3 138

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

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    18605    32    dsdred    13       

Перенос данных УТ 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 руб.

HTTP Сервисы: Путь к своему сервису. Часть 2 123

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf ERP2 УТ11 КА2 Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    19467    20    dsdred    0       

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

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

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

5 стартмани

09.08.2018    17465    23    informa1555    26       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

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

7500 рублей

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

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

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

1 стартмани

17.07.2018    24547    14    kalyaka    15       

HTTP Сервисы: Путь к своему сервису. Часть 1 287

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Практика программирования WEB

Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.

1 стартмани

15.07.2018    43461    17    dsdred    22       

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

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

19700 руб.

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

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

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

1 стартмани

01.06.2018    21047    86    m-rv    57       

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

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

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

1 стартмани

10.05.2018    29710    28    dsdred    34       

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

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

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

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

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

2 стартмани

08.05.2018    19178    10    wowik    3       

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

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

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

1 стартмани

24.04.2018    30473    75    kalyaka    34       

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

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

4500/9500 рублей

Доступный состав стандартного интерфейса OData 23

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

Обработка позволяет настраивать состав объектов метаданных, доступных через стандартный сервис OData API.

1 стартмани

06.04.2018    13028    77    dsdred    0       

Регистры правил [Расширение] 14

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::Права УТ11 Абонемент ($m) Инструментарий разработчика Информационная безопасность

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    11891    28    33lab    0       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

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

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

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

1 стартмани

08.02.2018    18932    20    mvxyz    17       

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

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

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

1 стартмани

01.02.2018    26630    62    rpgshnik    46       

С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо

Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.

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

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

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

1 стартмани

29.12.2017    24952    21    agent00mouse    0       

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

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

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

1 стартмани

06.12.2017    19581    52    kwazi    6