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 1277 04.01.19 18:08 Сейчас в теме
(2)Вариантов масса. Можно и в ПрочитатьJSON указать тип
4. user805602 16.04.19 12:49 Сейчас в теме
На Java работа с Web-сервисами проще. А в 1С, после ваших статей, я выберу для обмена Com.
Обмен через блокнот, выглядит проще.
5. dsdred 1277 16.04.19 13:11 Сейчас в теме
(4)
На Java работа с Web-сервисами проще.

Чем проще?

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

Это только выглядит. Чем Вас так напугали http-сервисы?
6. user805602 17.04.19 04:27 Сейчас в теме
(5) Статья мне понравилась.
На первый взгляд я не увидел шаблонизаторов, помогающих делать веб-страницу. У вас данные возвращаются в текстовом виде.
А в самом 1с много чего не хватает. Например, коллекций, приходится в основном всё пихать в таблицу значений.
Про выгрузку в текстовый документ я упомянул потому, что результат будет такой же, только не надо разворачивать IIS/Apache
7. dsdred 1277 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 1277 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 1277 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 2036 02.12.19 14:10 Сейчас в теме
Добрый день. Спасибо за цикл статей. Скажите, а вы не сталкивались с вопросом авторизации в http-сервисе и выхода из режима авторизации? Скажем так: если при работе с Http-сервисом ввести логин и пароль пользователя, то для того, чтобы выйти из этого режима и снова попросить авторизацию необходимо перезапустить apache/IIS.
Если сталкивались поделитесь решением. Сейчас это нигде не освещено.
13. dsdred 1277 03.12.19 11:32 Сейчас в теме
(12)Честно говоря не сталкивался. Можно будет поэкспериментировать.
Оставьте свое сообщение

См. также

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

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

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

13.09.2019    4614    dsdred    24       

Перенос данных БП 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-сервис в мире 175

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

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

12.09.2019    9283    YPermitin    26       

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

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

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

1 стартмани

03.07.2019    11287    1    m-rv    79       

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

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

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

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

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

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

1 стартмани

30.06.2019    4539    1    vadim1980    0       

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

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

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

1 стартмани

25.03.2019    17505    8    tormozit    44       

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

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

29700 руб.

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

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

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

1 стартмани

31.01.2019    30982    279    bonv    117       

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

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

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

2 стартмани

23.01.2019    11949    154    ROL32    28       

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

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

29700 руб.

Конструктор мобильного клиента 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    24750    225    informa1555    174       

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

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

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

3 стартмани

28.10.2018    18375    200    ROL32    47       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

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

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

1 стартмани

13.09.2018    10690    10    RocKeR_13    16       

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

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

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

1 стартмани

27.08.2018    18362    32    dsdred    13       

Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо

На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.

777 рублей

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

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

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

1 стартмани

13.08.2018    19236    20    dsdred    0       

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

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

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

5 стартмани

09.08.2018    17308    23    informa1555    26       

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

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

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

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

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

1 стартмани

17.07.2018    24152    14    kalyaka    15       

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

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

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

1 стартмани

15.07.2018    42803    17    dsdred    22       

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

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

4500/9500 рублей

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

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

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

1 стартмани

01.06.2018    20946    86    m-rv    57       

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

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

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

1 стартмани

10.05.2018    29427    28    dsdred    34       

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

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

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

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

2 стартмани

08.05.2018    19057    10    wowik    3       

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

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

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

1 стартмани

24.04.2018    30266    75    kalyaka    34       

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

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

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

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

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

1 стартмани

06.04.2018    12949    77    dsdred    0       

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

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

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

10 стартмани

15.03.2018    11810    28    33lab    0       

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

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

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

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

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

1 стартмани

08.02.2018    18841    20    mvxyz    17       

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

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

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

1 стартмани

01.02.2018    26525    62    rpgshnik    46       

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

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

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

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

1 стартмани

29.12.2017    24788    21    agent00mouse    0       

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

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

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

1 стартмани

06.12.2017    19498    52    kwazi    6