Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

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

Администрирование - Производительность и оптимизация (HighLoad)

бекенд веб-сервис postgre SQL postgrest http мобильная разработка SimpleUI

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

 

Продолжение тут: //infostart.ru/public/1234475/

и вот тут: //infostart.ru/public/1264771/

 

Начну с описания проблем, которые стали для меня критическими при использовании веб-сервисов на базе 1С:Предприятия и что в конечном итоге заставило меня отказаться от 1С и забыть ее как страшный сон.

Для начала я рассматриваю ситуацию с непосредственным подключением через веб-сервис как на картинке ниже:

 

Проблема №1 Время реакции веб-сервиса

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

Некоторой помощью в этом является т.н. переиспользование сеансов – т.е. удержание сеансов через токены в заголовках запросов и увеличенное время жизни, но это порождает другую проблему – большое количество висящих соединений с веб сервисом и по каким то причинам зависшие «мертвые сеансы»

Также или еще хуже дела обстоят и с OData. В описании 1С так и говорится – первый раз нужно подождать. Я добавил в SimpleUI работу с OData но работать с ним можно если ваши пользователи готовы немного подождать.

Проблема №2 Высоконагруженный веб-сервер

Я не берусь ничего утверждать и не могу привести конкретные цифры но на практике при около 300 ТСД подключенных к 1С через HTTP сервис начинают доставлять некоторые неудобства в виде подвисающих и отваливающихся запросов. Могу предположить что если на сервис 1С повесить тот уровень нагрузки котрый рассчитан на то, что в мире разработки (уточню, не 1С-разаработки) называется «высоконагруженный веб-сервис» , то это закончится лавинообразным падением запросов.

Проблема №3 «Данные наружу»

Никто не хочет выставлять свою 1Ску и сервер на котором она стоит во внешний интернет. Тут начинаются всякие решения от VPNов до промежуточной базы (опять же на 1С).

Проблема №4 Доступность 24/7

Это проблема возникает если мобильные приложения вешают к основной базе где периодически требуется регл обслуживание или например изменение конфигурации данных которое в 1С почему то делается монопольно

Проблема №5 Производительность запросов к данным и масштабирование

На самом деле эту причину наверное надо было ставить на 1-е место, просто она не всегда актуальна. В некоторых случаях запросики простые – положить что то в табличку или взять из нее, а в табличках пару тысяч записей. И это просто не критично. Но есть задачи в которых это критично. Пример – WMS. Проблема возникает тогда, когда надо быстро посчитать итоги по табличкам в которых записей побольше - миллионы. На тему как раскочегарить 1С чтобы она работала чуть быстрее написано немало трактатов и есть даже специально обученные люди, которые занимаются не автоматизацией собственно бизнес-процессов а делают так, чтобы эта автоматизация не тормозила уж очень сильно. И для создателей например WMS-систем этот вопрос стоит очень остро. Настолько остро что они придумывают различные интересные архитектурные решения, например расчет и выдачу заданий распараллеленным способом в нескольких потоках. Ну и много чего еще. Какую часть времени разработчик тратит аспекты, связанные с производительностью? 1С это конструктор, на котором можно было быстро разрабатывать автоматизацию с простым языком программирования без ООП и типизации… Так вроде задумывалось? Но если решение проблем занимает больше времени чем сама разработка, может нужно эту ситуацию изменить?

А теперь главный вопрос: возможно ли предположить (в порядке бреда) что запрос в 2-х звенной системе (клиент-SQL сервер) на чистом SQLе выполнится быстрее чем такой же запрос в 3-х звенной системе (клиент-сервер бизнес-логики с интерпретатором-SQL сервер)? Как так получается что в облачных WMS элементарный поиск по штрихкоду в базе с 500 тыс. штрих-кодов выполняется за считанные мс, а чтобы 1C показала такой же результат нужно дорогостоящее оборудование и специальный человек который это оптимизирует.

Я занимаюсь 1С с 2002 года, с тех времен когда еще встречалась 7.5, но в основном была 7.7 и мы для регистрации чеков на кассе не испытывали судьбу (задержка кассы могла обернуться проблемами, бизнесмены тогда были суровыми), а просто писали их в SQL таблицу через ADO, а потом читали. Прошло 18 лет, 1С выпустила 8.3 и конфигурации которые весят Гигабайты,  а я не могу придумать ничего лучше для решения проблем сейчас.

Я еще вернусь к проблеме производительности в разделе «Тестирование»

Путь к решению

Итак, что я должен был сделать чтобы решить все эти проблемы? Из Проблемы №5 вытекает что я должен использовать реляционную СУБД как промежуточное звено между фронтом и 1С. Но в чистом виде это вещь в себе, для того чтобы к ней цеплялись и клиенты и 1С нужно какое то API. SQL сервера сами по себе имеют API в виде драйверов ODBC и 1C может цепляться через них. А клиенты? А если эта база в облаке?

Вообще решения по бекендам для мобильных приложений  на текущий момент такие (имеется ввиду если не использовать 1С):

  • Собственно, взять и написать свой бекенд, т.е. свой сервер с каким то API. Если вы не фуллстек разработчик то придётся привлекать бекендщика который это сделает. Отсюда вытекает минус: бекенд пишется под конкретное решение/внедрение и его нужно поддерживать. Со временем это превращается в т.н. легайси, специалисты которые это писали уходят на другие проекты и знания теряются. Их надо добывать по новой. Но учитывая какая карусель со стеками технологий происходит в последнее время, скорее всего в нагрузку придется изучать «старый» стек технологий. Да, да в мире за пределами 1С творятся страшные вещи.
  • Облачные бекенды  от Гугл, Майкрософт, Амазон и менее известные например Backedless. Вроде бы плати деньги каждый месяц и наслаждайся готовым решением. Но нет и тут есть проблемы. Вкратце они такие:
    • Они почему-то No-SQL т.е.  нереляционные субд. Видимо считается что так проще для разработчика но во-первых множество вещей типа агрегатных функций в NoSQL базе сделать нельзя, во вторых вместо стандартного SQL нужно изучать местный стек технологий и вроде бы это и просто но есть нюансы
    • Ты не хозяин сервера и от тебя ничего не зависит. Однажды одна из вышеперечисленных компаний решила сменить версию своего решения допустим с 4 на 5 в результате, многое из того что было сделано в решении перестало работать, требовалось разобраться в новых доках и пились новую интеграцию. А да, и сделали они это с 1 января)) С утра мне стали поступать письма пользователей. Но коммент)
    • Не смотря на то что это вроде как технологические гиганты подобные облачные сервисы выглядят настолько сырыми что вызывают недоумение. Косяки и неочевидные решения, ради которых надо сидеть на формах и перечитывать кучу доков. Да и функционал убогий.
  • Собственно сторонний OData либо RESTful API для различных SQL-серверов т.е. решение которое прицепляет к SQL серверу API которое сделали уже за Вас, нужно только поставить и пользоваться. Сочетаний много есть такие, которые работают с разными серверами. Например DreamFactory. Ничего не могу сказать про него потому что он платный и довольно недешевый. Но это почти то что нужно.

 

Решение

Пришло время раскрыть карты. Формула решения всех проблем – это перенос высоконагруженных операций в отдельный SQL на том же сервере или в облаке,  а для связи использовать REST API со стороны фронта(клиентов) и тотже REST API либо ODBC со стороны 1С. Либо можно посадить на брокер сообщений типа RabbitMQ но со стороны 1С не так уж это важно.

И это очень, очень просто!  Все гораздо проще чем можно себе представить. Потому что есть PostgREST . Именно так пишется. Смысл: это бесплатный опенсорс REST API для Postgre SQL который организует веб интерфейс для CRUD и некоторых других операций для вашего PostgreSQL. Точнее таких API два – есть еще pREST (они говорят что они лучшие, а PostgREST -… ну вы поняли).

Таким образом мы имеем: бесплатную современную СУБД PostgreSQL 12, бесплатный открытый веб сервер к ней PostgREST через который можно простыми запросами хоть даже в браузере просматривать, создавать, удалять и т.д.  Но ведь эта штука еще и ставится на Линукс! А это значит что можно арендовать VPS сервер за пару евро в месяц, поставить туда  PostgreSQL c PostgREST и мы получим облако которое будет работать 24/7! И еще которое можно легко масштабировать по производительности – поменять конфигурацию на вирт. сервере при необходимости.  

Таким образом у вас в облаке организуется сервер который может делать такие вещи:

  • Запросы на запись, обновление (upsert) в том числе в Bulk-режиме (POST). 5000 записей принимаются и сохраняются за 50 мс
  • Различные запросы на выборку данных из таблиц и views (GET). Самый простой запрос аналог запроса Select * from goods выглядит так: /goods далее при необходимости к строке прибавляются условия, упорядочивание и т.д.
  • Выполнять хранимые процедуры и функции
  • Работать с бинарными данными. Это актуально для мультимедиа и больших документов.
  • Удаления
  • Работает через JSON но может выгружать и в дргом формате, через текст с разделителями. Это настраивается в заголовках

Т.е. организации бекенда нужно зайти в БД через pgAdmin, создать таблицы, вьюшки при необходимости остальные элементы. Дать права и все – дальше можно взаимодействовать с базой через веб-сервис. Примерно тоже самое нужно сделать в люом другом варианте бекенда, в т.ч. на 1С.

Вот инструкция как поставить и как начать пользоваться: http://postgrest.org/en/v6.0/tutorials/tut0.html

Я сам ставил это и на виндовс и на CentOS 7. В инструкции для линукс я не использовал Докер. Больше всего времени я потратил на то чтобы подключить pgAdmin к базе на VPS сервере точнее сделать так чтобы к самому Postgre можно было цепляться извне. Ну я не линуксоид, вообще профан в этих делах, а так как проект экспериментальный все делал своими силами. Остальное проще.  

Связь с 1С

Если PostgreSQL доступен через драйвера ODBC то можно подключаться через них. Хорошей возможностью является использование Внешних источников данных. С ними потом легко стоить отчеты СКД.

Ну и конечно 1С может работать через REST интерфейс. Т.е. точно через то же API что и клиенты.

Вот пример отправки товаров через HTTP - запрос:

	АдресТерминала =Константы.АдресБекенда.Получить();
		Соединение = Новый HTTPСоединение(АдресТерминала);
		Заголовки = Новый Соответствие();
		Заголовки.Вставить("Content-Type","application/json");
		Заголовки.Вставить("Prefer","resolution=merge-duplicates");
		Запрос = Новый HTTPЗапрос("/goods", Заголовки);
		
		З = Новый Запрос;
		З.Текст =  "ВЫБРАТЬ
			           |	ШтрихКоды.Штрихкод КАК Штрихкод,
			           |	ШтрихКоды.Владелец.Наименование КАК Наименование,
			           |	ШтрихКоды.Владелец.Артикул КАК Артикул
			           |ИЗ
			           |	РегистрСведений.ШтрихКоды КАК ШтрихКоды" ;

			
		ТаблицаДанных = З.Выполнить().Выгрузить();
		CтpoкaJSON = "[";
		Для каждого строкаТаблицы из ТаблицаДанных Цикл
				CтpoкaJSON = CтpoкaJSON+?(СтрДлина(CтpoкaJSON)>1,",","")+"{"+"""name"":"+""""+СокрЛП(строкаТаблицы.Наименование)+""""+","+"""article"":"+""""+СокрЛП(строкаТаблицы.Артикул)+""""+","+"""barcode"":"+""""+СокрЛП(строкаТаблицы.Штрихкод)+""""+"}";
		КонецЦикла;	
			
		CтpoкaJSON =CтpoкaJSON+ "]";
		Запрос.УстановитьТелоИзСтроки( CтpoкaJSON,КодировкаТекста.UTF8);
		
		Ответ = Соединение.ОтправитьДляОбработки(Запрос).ПолучитьТелоКакСтроку();

 

А вот пример отчета  на СКД и модуль его заполнения:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь; 

	Настройки = КомпоновщикНастроек.ПолучитьНастройки(); 
	
	
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;  
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; 
	
	СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, 
							Настройки, ДанныеРасшифровки);
							
							
	ВнешниеДанные.Очистить();
	
	АдресТерминала = Константы.АдресБекенда.Получить();
	Соединение = Новый HTTPСоединение(АдресТерминала,3000,,,,,);
	Заголовки = Новый Соответствие();
	Заголовки.Вставить("Content-Type","application/json");
		
   
    Запрос = Новый HTTPЗапрос("/bal");
        Результат = Соединение.Получить(Запрос);
	СтрокаJSON = Результат.ПолучитьТелоКакСтроку();	
	Чтение = Новый ЧтениеJSON;
 	Чтение.УстановитьСтроку(СтрокаJSON);
 	Данные = ПрочитатьJSON(Чтение, Ложь);
	Если типЗнч(Данные) = Тип("Структура") Тогда
		НовСтр = ВнешниеДанные.Добавить();
		ЗаполнитьЗначенияСвойств(НовСтр,Данные);

	ИначеЕсли типЗнч(Данные) = Тип("Массив") Тогда
		для каждого стр из Данные Цикл
			НовСтр = ВнешниеДанные.Добавить();
			ЗаполнитьЗначенияСвойств(НовСтр,стр);
		КонецЦикла;	
		
	КонецЕсли;	
	
 	Чтение.Закрыть();	

							
							
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,
		Новый Структура("ВнешниеДанные", ВнешниеДанные.Выгрузить()), 
		ДанныеРасшифровки);	

	 
	ДокументРезультат.Очистить();
	
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);	
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);


КонецПроцедуры

 

 

Тест производительности

Для экспериментов я нашел в сети самый слабый вариант какой только смог найти: VPS за 45р/мес: 1 проц Athlon, 1Гб ОЗУ, 5 ГБ HDD (не SSD) на CentOS. И сравнивал с 1С файловый вариант на i5 ,SSD, 16ГБ ОЗУ, Windows.

Методика у меня конечно примитивная, но некоторые выводы можно сделать. Для проведения сравнительных тестов я встроил в SimpleUI возможность измерять время исполнения команд. Так, я помещаю на экран определенную  группу команд и выполняю и в 1С и в бекенде. Потом сравниваю результат. На экраны я поместил следующие команды:

  • Поиск по штрихкоду – 1 штрихкод
  • Вывод списка номенклатуры в таблицу
  • Запись в базу (или в бекенд) 1й операции

Примерно так выглядят результаты теста, теперь их можно организовывать самим – возможности для этого есть:

 

Еще я не создавал индексы в Postgre, а в 1С они есть.

Вот такие получились результаты:

Сначала я провел тест при заполненности таблицы товаров  в р-не 20 строк:

:  1-й запрос – 330 мс, запросы после первого запроса – 19-20 мс в среднем

Postgre: 1-й запрос - 38 мс, последующие запросы – 32 мс

Т.е. сервис 1С может работать быстро, если его раскочегарить. Но давайте проверим что будет на реальном справочнике:

Я добавил 5000 товаров в обе базы, кстати это заняло у меня:

  • 150,34с  в 1С (в режиме транзакции)
  • 1,05с в Postgre (в Bulk режиме)

И после этого я снова замерил результаты:

:  1-й запрос – 480 мс, запросы после первого запроса – 230 мс в среднем

Postgre: 1-й запрос - 40 мс, последующие запросы – 33 мс

Вывод который я сделал: Postgre проглотил справочник и не заметил, разница в обработке запросов на уровне погрешности. 1С - заметно погрустнел. К слову сказать это очень маленький справочник по сравнению с тем, с чем приходится сталкиваться.

 

Связь с Simple UI и новые фишки

Я развиваю собственную платформу-конструктор мобильных приложений - Simple UI. Конечно же я пустился на поиски замены 1С не от хорошей жизни и очень рад что нашел Postgre. Сложно переоценить важность этого инструмента для моих проектов. Теперь легко можно собрать себе свой бесплатный бекенд в максимально упрощенном режиме, прицепить к нему бесплатные клиенты на Simple UI и полноценная система готова.

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

В Simple UI я добавил возможности для CRUD- операций и выполнения процедур:

Вот так например выглядит  запрос типа Select..Where:

А вот так запрос на добавление строки в таблицу:

И конечно же теперь на своем сервере можно организовать свой облачный магазин приложений. Магазин не в смысле продавать за деньги – а просто место, куда можно выкладывать конфигурации, чтобы на клиентах их скачивать/обновлять. Конфигурация в Simple UI – это XML-строка. Вот так выглядит отправка конфигурации из 1С:

А вот так сам магазин в приложении:

Кстати, теперь можно не скачивая демо базу проверить работу с оборудованием – одна из конфигураций позволяет в off-line режиме (не через бекенд) протестировать работу оборудования штрихкодов и распознавания текста (которое тоже кстати улучшено в последнем релизе).

Ну и коротко, что можно посмотреть в тестовой конфе для работы с бекендом, которую тоже можно скачать из магазина без скачивания базы 1С: показан пример где можно ввести в справочник в бекенде свою номенклатуру. Потом, в проекте есть процесс, в котором имитируется приемка: сканируется либо вводится артикул номенклатуры, она идентифицируется, показываются текущие остатки, вводится количество которое отправляется в облако и, соотвественно меняет остаток. Это можно увидеть в приложении, можно в 1С. Можно отправить/получить данные из 1С. Основная статья, где демо база, доки и остальное тут: //infostart.ru/public/1153616/

Для Pro-версии доступны также дополнительные возможности:

Можно отсылать и получать данные в фоновом потоке (не UI-потоке приложения) – т.е. если надо скачать или закачать большой объем данных программа будет выполняться без торможения. При этом само приложение может взаимодействовать чисто с собственным SQL полностью автономно (без связи) и при необходимости обмениваться с бекендом в фоне.

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

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user609151_work 01.04.20 13:27 Сейчас в теме
А дело не в конкатенации? Просто если сравнить 2 идентичных куска кода, то разница во времени выполнения минимум 15 раз. И это всего 5000 строк.

&НаСервере
Процедура КонкатенацияНаСервере()
З = Новый Запрос;
З.Текст = "ВЫБРАТЬ первые 5000
| АЗС.КлиентВладелец.Наименование как наименование,
| АЗС.КлиентВладелец.Код как код,
| АЗС.ЭлПочта как элпочта
|ИЗ
| Справочник.АЗС КАК АЗС";

ТаблицаДанных = З.Выполнить().Выгрузить();
CтpoкaJSON = "[";
для каждого строкаТаблицы из ТаблицаДанных цикл
CтpoкaJSON = CтpoкaJSON+?(СтрДлина(CтpoкaJSON)>1,",","")+"{"+"""name"":"+""""+СокрЛП(строкаТаблицы.Наименование)+""""+","+"""article"":"+""""+СокрЛП(строкаТаблицы.код)+""""+","+"""elpochta"":"+""""+СокрЛП(строкаТаблицы.элпочта)+""""+"}";
конеццикла;
CтpoкaJSON =CтpoкaJSON+ "]";
сообщить(стрдлина(CтpoкaJSON));
КонецПроцедуры

&НаКлиенте
Процедура Конкатенация(Команда)
КонкатенацияНаСервере();
КонецПроцедуры

&НаСервере
Процедура джейсонНаСервере()
З = Новый Запрос;
З.Текст = "ВЫБРАТЬ первые 5000
| АЗС.КлиентВладелец.Наименование как наименование,
| АЗС.КлиентВладелец.Код как код,
| АЗС.ЭлПочта как элпочта
|ИЗ
| Справочник.АЗС КАК АЗС";

ТаблицаДанных = З.Выполнить().Выгрузить();
Массивчик=новый массив;
для каждого строкаТаблицы из ТаблицаДанных цикл
Структурка=новый структура;
Структурка.Вставить("name",СокрЛП(строкаТаблицы.Наименование));
Структурка.Вставить("article",СокрЛП(строкаТаблицы.код));
Структурка.Вставить("elpochta",СокрЛП(строкаТаблицы.элпочта));
Массивчик.Добавить(Структурка);
конеццикла;
ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( ,Символы.Таб);
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Массивчик, Новый НастройкиСериализацииJSON);
CтpoкaJSON=ЗаписьJSON.Закрыть();

сообщить(стрдлина(CтpoкaJSON));

КонецПроцедуры

&НаКлиенте
Процедура джейсон(Команда)
джейсонНаСервере();
КонецПроцедуры
Показать

2. informa1555 1549 01.04.20 16:03 Сейчас в теме
(1) Вы имеете ввиду тот кусок где я товары на сервер отправляю? Не, я мерил от момента отправки PUSH до получения результата запроса. Не, BULK - операции в SQL все таки реально быстрые))
3. user609151_work 01.04.20 16:35 Сейчас в теме
(2) Конечно быстрее,тут даже сравнивать нечего. Проблема в том, что очень часто нужны не просто select или insert а именно пред- или пост- обработка данных.
4. informa1555 1549 01.04.20 16:52 Сейчас в теме
(3) Да, я Вашу мысль понял. Но дело в том что во-первых на примере облачных WMS там простые сущности (т.е. там где требуется быстрота там нет всего что есть в типовых конфах 1С) соответственно и проверки, обработки при транзакциях они проще чем в 1С, во-вторых если это вешается на хранимые процедуры, триггеры, поддержание целостности на уровне БД - ну это еще быстрее работает. Я сравнивал производительность в режиме ОбменДанными.Загрузка =Истина.
5. saa@kuzov.org 01.04.20 19:53 Сейчас в теме
Получается, чтобы 1С узнала об изменениях в базе postgres, мне нужно ее регулярно опрашивать?

Или можно как-то организовать типа триггеров, но через rest?
6. informa1555 1549 01.04.20 20:17 Сейчас в теме
(5) там в хранимых процедурах несколько языков можно использовать. Но я не уверен что Postgre может запросы отправлять. Интересный вопрос. Обычно интеграции с sql делают через опрос. И в случае с интеграцией с wms например это совершенно нормально. Там некуда торопиться. Распоряжения отправил, периодически факт забираешь и все.
9. mixsture 02.04.20 13:20 Сейчас в теме
(5) визуально, такой функционал есть у самого постгреса есть. Так что теоретически это возможно. Возможно через эту реализацию rest не пролезет и придется написать свой промежуточный сервис для доставки уведомлений.
https://tapoueh.org/blog/2018/07/postgresql-listen-notify/#postgresql-notifications
7. Chelper 5 02.04.20 12:44 Сейчас в теме
Насчет "в первый раз нужно подождать" - это точно.
Разработал систему для проведения теннисных соревнований, на бэке - 1С.
Первое получение данных - достаточно долгое, в дальнейшем - страницы генерируются достаточно быстро.
Вот ссылка на сайт.
Планирую переписать весь фронт на Vue.js
Вот основная страница сайта:
https://odinservice.asuscomm.com/fntm/
8. mixsture 02.04.20 13:09 Сейчас в теме
Имхо, могут вылезать проблемы 2х-звенной архитектуры:
1) сложности с поддержанием консистентности. Когда появится много связей между таблицами - в 2х звенной придется либо
а) это решать на фронтэнде, что прям очень странный подход. При нем по сути только фуллстэк разработчик может заниматься фронтом, потому что понимает, что там в базе происходит. Выдать этот кусок фронтэнд-разработчикам не выйдет.
либо
б) на уровне базы данных, что посложнее и требует отдельной области знаний. И все равно база может выкидывать глубоко системные сообщения об ограничениях на фронт, что опять же - нетипично для фронтэнд-разработчиков.

2) сложности с контролем прав доступа. Доступ к таблицам базы приходится выдавать заметно более широкий (по сути по-таблично), а само приложение может работать в недоверенных средах.
10. informa1555 1549 02.04.20 14:07 Сейчас в теме
(8) Частично согласен
консистентность на уровне базы в Postgre поддерживается ничего сложного там нет - все виды есть: удаление, запреты, очистка.Как и везде. Частично проверки на уроне фронта. Да, согласен, и я об этом пишу что в принципе тот кто делает фронт сам себе делает и базу. И он частично бекндщик. Но! Одно дело сделать таблички, дать права и т.д. в стандарнтном SQLе, другое дело писать еще к этому RESTful интерфейс. Просто если это делали бы бекендщики они сделали бы какие то функции типа Добавить Товар там которое бы все делала, потом поди разберись что там эта функция делает. А тут все на чистом SQLе, который все знают. Я знаю несколько "облачных" WMS на чистом SQLе - люди как то это сделали. У них нет фронта либо они используют SimpleUI, а раньше использовали веб-интерфейс.
11. maxx 911 05.04.20 20:53 Сейчас в теме
Спасибо за то, что делитесь таким опытом.

Похоже нужно выводить новое понятие

фулстэк русский разрабочик
это веб + 1с + мобильный технологии + субд
12. informa1555 1549 05.04.20 21:30 Сейчас в теме
(11) спасибо. Ну ещё там интеграции всякие, кролик и т.д. Да в кризис чем шире стек тем лучше...
13. Kondratenko.as 454 06.04.20 17:01 Сейчас в теме
День добрый. А elasticsearch не рассматривали? Там скорость на get запросы максимальная. Сам продукт создан для быстрой записи и отдачи + сама структура хранения базы NoSQL в формате JSON.

https://www.elastic.co/elasticsearch/service?baymax=rtp&elektra=home&storm=sub1&rogue=default&iesrc=ctr
14. informa1555 1549 06.04.20 17:19 Сейчас в теме
(13) Добрый день! Так нет, мне NoSQL не нужен, я больше WMS и т.д. занимаюсь - мне нужны итоги, триггеры, целостность - вот это вот все. Простейшие учетные задачи. Понятно что NoSQL пишет быстрее, но мне надо еще быстро получать например остатки в ячейках (которые нужно быстро пересчитывать)
15. Region102 30.04.20 15:09 Сейчас в теме
Кстати тоже уперся в 350+ соединений с HTTP сервисом в 1С, при большем количестве лезли уже ошибки или вообще не было ответа, но тут проблема скорее в Apache из коробки. Когда я провел нагрузочное тестирование на автономном сервере 1С, то он уже спокойно держал 15000+ одновременных соединений. Скоро выложу на канале тесты.
16. Xershi 1021 13.05.20 22:53 Сейчас в теме
Я так понял это тоже самое, что одата в 1с.
Таблички сделал в СУБД. СУБД опубликовал на веб-сервере, далее ашттп запросы к БД?
17. informa1555 1549 14.05.20 07:20 Сейчас в теме
(16) Да. Очень похоже. Даже синтаксис похож.
18. Xershi 1021 14.05.20 09:07 Сейчас в теме
(17) и выдумывать ничего не нужно. Шикарное решение!
Уровень вхождения практически нулевой. В крайнем случае админа подключить для настройки софта.
o.nikolaev; informa1555; +2 Ответить
19. informa1555 1549 14.05.20 09:41 Сейчас в теме
20. o.nikolaev 201 22.05.20 15:45 Сейчас в теме
Шикарная статья.
informa1555; +1 Ответить
21. informa1555 1549 22.05.20 16:17 Сейчас в теме
22. qazaz2 17 22.07.20 14:26 Сейчас в теме
Подскажите, если помните, в чем были трудности с pgAdmin и как их решили. Уперся в него, возвращает:
{"info":"","success":0,"result":null,"errormsg":"'Request' object has no attribute 'is_json'","data":null}

Спс
23. informa1555 1549 22.07.20 14:49 Сейчас в теме
24. qazaz2 17 22.07.20 15:08 Сейчас в теме
(23) Пробую, спасибо за подсказку
25. VVi3ard 50 28.07.20 13:00 Сейчас в теме
Как вы решаете вопросы доступа к данным и аутентификации?

Т.е. я же правильно понимаю что ваш сервер с PostgREST доступен в интернет всем желающим?

Как вы разграничиваете доступы?

И как вообще происходит аутентификация и авторизация пользователей (мобильных приложений)?
26. informa1555 1549 28.07.20 13:25 Сейчас в теме
(25) конкретно мой - да)) Его можно ломать не жалко. А так там есть и ограничения доступа на уровне публикации сервиса(типа по IP и т.д.) и на уровне уже внутри API : http://postgrest.org/en/v7.0.0/auth.html
27. ITSolncev 02.08.20 22:39 Сейчас в теме
Прекрасное решение, спасибо за статью!+
informa1555; +1 Ответить
28. informa1555 1549 03.08.20 08:14 Сейчас в теме
29. malikov_pro 516 23.09.20 07:11 Сейчас в теме
(8)
"1) сложности с поддержанием консистентности." - на сколько понимаю реализуется через хранимые процедуры
"б) на уровне базы данных, что посложнее и требует отдельной области знаний." - в этом правы, нужно повышать свой уровень владения PG.

"Доступ к таблицам базы приходится выдавать заметно более широкий (по сути по-таблично)" - не правы
http://postgrest.org/en/v7.0.0/auth.html
"Anyone accessing the generated API endpoint for the chat table will see exactly the rows they should, without our needing custom imperative server-side coding."
"Любой, кто обращается к сгенерированной конечной точке API для таблицы чата, увидит именно те строки, которые они должны видеть, без необходимости в пользовательском императивном кодировании на стороне сервера."
30. TODD22 19 23.09.20 15:10 Сейчас в теме
Они почему-то No-SQL т.е. нереляционные субд.

У гугла можно развернуть PG, разве нет? С AWS не работал, но и там мне кажется можно развернуть PG.

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

sql и nosql каждая для своих задач.
31. informa1555 1549 23.09.20 15:50 Сейчас в теме
(30) Не, я имел в виду такой класс сервисов котрый есть у Гугла, Амазон, backendless и т.д. как "облачный бекенд" а не просто хостинг для СУБД. Там смысл в том что без программирования, SQL создается документоориентированное хранилище со свои API котрый можно юзать через REST и другими способами. Т.е. как бы готовый бекенд для тех, кто не хочет делать свой бекенд (не заморачиваться с бекенд разработкой) т.е. сделал приложение например и надо где то хранить данные - ты арендуешь это и с этим работаешь
Оставьте свое сообщение

См. также

Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо

Администрирование данных 1С Мобильная разработка v8 Бесплатно (free)

Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.

14.04.2017    61187    user700211_a.straltsou    27    

Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

WEB v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса (часть вторая). Передача параметра в http сервис.

22.09.2020    2641    hpi    5    

Формирование HTTP запроса формата multipart/form-data с двоичными данными, используя ПотокВПамяти

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант формирования запроса

11.09.2020    1955    malikov_pro    11    

Описание почти всех событий технологического журнала

Технологический журнал v8 Бесплатно (free)

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

19.08.2020    5316    YPermitin    22    

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция v8 1cv8.cf Бесплатно (free)

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

03.09.2019    12193    m-rv    1    

Интеграция с Трелло. Готовый код

Обмен данными 1С Интеграция Agile (XP, SCRUM, Канбан) v8 Бесплатно (free)

Код основных действий, интеграция с API Трелло.

19.08.2020    2156    Yashazz    14    

SQL для 1С: пишем правильно, красиво, сложно

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Многие программисты боятся работать с Null, считая, что от этих данных в запросах нужно избавляться. О том, как с помощью Null-полей в запросе решать востребованные в учете задачи по выборке данных, на конференции Infostart Event 2019 Inception рассказал ведущий разработчик ГК WiseAdvice Дмитрий Дудин.

14.08.2020    8781    dmurk    30    

Загрузка или обновление файла на яндекс диске через rest-api

Практика программирования Файловые протоколы обмена, FTP WEB v8 Бесплатно (free)

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

12.08.2020    1456    pavelpribytkin96    10    

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    55774    Serginio    33    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    4310    YPermitin    18    

Загрузка или обновление файла на гугл диске

Практика программирования Файловые протоколы обмена, FTP WEB v8 1cv8.cf Бесплатно (free)

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

06.08.2020    1140    pavelpribytkin96    0    

Чат и задачи с интерактивными объектами через PostgREST. Новый подход к управлению бизнес-процессами и интерфейсу

Мобильная разработка v8 Бесплатно (free)

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

17.07.2020    2267    informa1555    8    

Фитнес – твой личный тренер в зале и дома Промо

Пользователю системы Мобильная разработка v8 Развлечения, искусство, спорт Бесплатно (free)

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

15.04.2016    36706    Baksheev-Nikita    54    

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    6077    malikov_pro    0    

Автоматическая классификация ошибок технологического журнала

Технологический журнал v8 1cv8.cf Бесплатно (free)

В статье обсудим пример практической настройки конфигурации «Мониторинг производительности» для автоматической классификации ошибок по группам/кластерам на данных текстов описания ошибок. Используем механизм векторной модели текстов и косинусное сходство между ними.

25.06.2020    2640    ivanov660    12    

1C# – 1С моей мечты

Интеграция v8 Бесплатно (free)

Встроенных в платформу 1С возможностей не всегда хватает для построения сложных интеграционных схем между различными 1С и не-1С-решениями на базе MS SQL Server. Как сделать интеграцию между SQL-базами более гибкой с помощью платформы 1С# на конференции Infostart Event 2019 Inception рассказал Дмитрий Жичкин.

01.06.2020    10792    zhichkin    33    

Исследование технологического журнала 1С при помощи регулярных выражений в блокноте Промо

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Все из тех, кто пробовали сдать на сертификат "Эксперт по технологическим вопросам 1С", сталкивались с методикой ЦКТП - разбор файлов технологического журнала при помощи консоли bash. Я, в свою очередь,внёс изменения в данную методику. Мне хотелось достичь более понятного вида и сфокусироваться на Perl, в качестве предпочтительного средства обработки файлов ТЖ. Вот что из этого вышло:

30.10.2017    29564    MrWonder    42    

История создания успешной системы чат-ботов на 1С

WEB v8 Бесплатно (free)

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

21.05.2020    6865    CyberCerber    14    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    3511    zhichkin    19    

"Микро-WMS": базовая WMS с упрощенной архитектурой, открытым кодом на PostgreSQL и клиентами на SimpleUI

Учет ТМЦ Оптовая торговля Терминал сбора данных УУ Бесплатно (free)

В статье приведен обзор простой, но функциональной SQL-ориентированной WMS с открытым кодом, базирующейся на бесплатных платформах от инфраструктуры СУБД и до клиентов, которая может послужить базой для своих разработок и внедрений. Решение можно развернуть на своем сервере или облаке(развернуть как «облачную WMS»). Статья может быть полезна с той точки зрения, что показывает "анатомию" WMS - как все устроено.

12.05.2020    2895    informa1555    8    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    25860    ruha    14    

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Интеграция v8 1cv8.cf Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    4863    chernenko_vv    25    

Синхронизация БИТ:СКУД 8 с Parsec.Net 2.5

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Настройка синхронизации БИТ:СКУД 8 с Parsec.Net.2.5, выгрузка данных из внешней системы контроля доступа.

04.05.2020    3891    RPGrigorev    0    

Измерительная лаборатория с использованием 1С+Ардуино

Периферийные устройства Интеграция v8 Россия Бесплатно (free)

1С в автоматизации "научных" и около... экспериментов.

02.05.2020    4226    maxlab    15    

Отладка конфигураций на мобильной платформе Промо

Мобильная разработка v8 Бесплатно (free)

Настройка и подключение отладчика для отладки конфигураций на мобильной платформе.

25.09.2016    47359    spezc    47    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

WEB v8 Россия Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    4169    osivv    23    

Выразительный Web API

WEB v8 Бесплатно (free)

Теория разработки Web API с ожидаемым поведением, за который не будет стыдно за пределами мира 1С.

27.04.2020    6047    nbeliaev    22    

Интеграция БИТ:СКУД с типовой конфигурацией

Интеграция v8 1cv8.cf Россия Бесплатно (free)

Интеграция БИТ:СКУД с типовой конфигурацией, обновление БИТ:СКУД в составе конфигурации и отдельно. Обновление системы защиты.

26.04.2020    5027    RPGrigorev    0    

Долго открывается конфигуратор Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

В ОС Windows Server 2012 бывает полезно выключать службу Dynamic Fair Share Scheduling (DFSS позволяет балансировать и распределять ресурсы между пользователями), чтобы повысить производительность 1С:Предприятие 8 в ряде случаев.

22.04.2015    40870    Gilev.Vyacheslav    1    

Интеграция УАТ с топливными сервисами

WEB v8 1cv8.cf Автомобили, автосервисы Бесплатно (free)

Интеграция конфигурации Управление автотранспортом с топливными веб-сервисами.

21.04.2020    7203    RPGrigorev    2    

Интеграция 1С с веб-сервисами Лукойл ЛИКАРД

WEB v8 1cv8.cf Россия Бесплатно (free)

Описание интерфейса взаимодействия сервиса Лукойл- ЛИКАРД с информационной системой 1С.

20.04.2020    3887    RPGrigorev    0    

Эти занимательные временные таблицы

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 Бесплатно (free)

Кое-что интересное о временных таблицах и работе платформы 1С с ними.

06.04.2020    11459    YPermitin    0    

Как можно "положить" SQL сервер с помощью обычной консоли запросов 1С Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Описано как из 1С, с помощью безобидной на первый взгляд обработки, можно сделать неработоспособным SQL сервер. Предложены меры, позволяющие избежать этого.

22.01.2014    67235    yuraos    112    

Многострочный контекст событий

Производительность и оптимизация (HighLoad) Технологический журнал v8 Бесплатно (free)

Разбор технологического журнала с группировкой событий по первой или последней строке многострочного контекста.

31.03.2020    3113    vasilev2015    9    

Анализ взаимоблокировок

Производительность и оптимизация (HighLoad) Технологический журнал v8 Бесплатно (free)

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

20.03.2020    4775    vasilev2015    24    

Многопоточность

Практика программирования Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Увеличиваем скорость загрузки данных в 20 раз. Как следует использовать многопоточность и готовый модуль для внедрения.

18.03.2020    7069    kaliuzhnyi    43    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    41273    YPermitin    41    

Пошаговая инструкция по установке веб-сервера Apache и завязка с 1С

Администрирование данных 1С Администрирование веб-серверов v8 1cv8.cf Россия Бесплатно (free)

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

10.03.2020    6059    dy4amaks    9    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    5810    RPGrigorev    3    

Ускоряем списание партий УПП 1.2 / 1.3 / УТ 10.3 Промо

Производительность и оптимизация (HighLoad) v8 УТ10 УПП1 Бесплатно (free)

Не секрет, что многие пользователи, использующие партионный учет (а таких очень много, даже среди огромных холдингов, несмотря на пропаганду РАУЗ) при больших нагрузках сталкиваются с резким замедлением списания партий.

21.06.2013    54335    Антон Ширяев    117    

Мобильная платформа 1С 8.3: чтение СМС, журнала звонков и т.д. и т.п.

SMS рассылки Мобильная разработка v8 v8::Mobile Россия Бесплатно (free)

Пишем приложение по учету личных финансов с загрузкой СМС от банков на основе мобильной платформы 8.3.15.62 ...

27.02.2020    4657    kras_71    7    

Получение html-кода страницы. JS из 1С

Практика программирования WEB v8 Бесплатно (free)

Получение исходника страницы, выполнение произвольного js-кода. Теперь с WebKit от 1С.

18.02.2020    6199    Yashazz    1    

Оптимизатор запросов. Вторая часть

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

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

23.01.2020    6384    darkdan77    59    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    30446    anig99    6    

Улучшаем производительность 1С. Рекомендации

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Бесплатно (free)

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

23.01.2020    7762    Kaval88    26    

Простой пример работы с аутентификацией OpenID на IIS

Администрирование веб-серверов v8 Бесплатно (free)

OpenID, аутентификация, HTTPS, получение сертификата SSL, веб-сервер IIS, Internet Information Server, самоподписанный сертификат, самозаверенный сертификат.

26.12.2019    5845    budidich    15    

Мониторим производительность с помощью 1С RAS

Инструментарий разработчика Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    11187    ivanov660    16    

Сравнение скорости работы 1C+MSSQL и файлового варианта Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Бесплатно (free)

На форумах постоянно задается один и тот же вопрос: почему 1C+MSSQL медленнее обрабатывает запросы чем файловая? Затем обычно идет «флуд» на несколько десятков страниц. Есть два популярных «течения» в таких форумах — одни говорят что для клиент-серверного варианта это нормально, файловый вариант всегда должен работать быстрее, другие говорят что 1С плохо работает с субд. В результате «баталий и выяснения отношений» на форумах люди расходятся при своих мнения.

19.02.2013    54704    Gilev.Vyacheslav    46    

Simple UI: простой конструктор мобильных приложений для устройств на Android. Самый быстрый способ создания рабочего места на смартфоне или ТСД. Обновление от 15.07.2020: чат и задачи с объектами

Мобильная разработка v8 УУ Абонемент ($m)

Simple UI – это полностью бесплатная платформа для создания мобильных рабочих мест на Android. Конструктор позволяет создавать мобильные клиенты для учетных систем и самостоятельные приложения на телефонах, ТСД (терминалах сбора данных), планшетах, электронных киосках и других устройствах. При этом не нужно разбираться в мобильной разработке, Android SDK ведь основная цель платформы – максимально упростить процесс разработки и поддержки, сделать его визуальным, собирать приложения из готовых блоков с минимумом кода. Причем код обработчиков можно писать на языке учетной системы либо задавать логику обработки событий с помощью команд REST, SQL и визуального конструктора. Проект постоянно развивается изыскивая новые способы упрощения разработки и повышения функционала и является пожалуй самым быстрым способом как создать MVP-проект так и продакшн-систему под конкретное внедрение или тиражный продукт.Тестировалось на 1С: Предприятие 8.3 релиз 8.3.13.1865.

1 стартмани

14.11.2019    13925    135    informa1555    83    

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

WEB Облачные сервисы, хостинг v8 1cv8.cf Бесплатно (free)

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    11603    uno-c    27    

Обслуживание баз данных. Не так просто, как кажется

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 1cv8.cf Бесплатно (free)

Считаете, что обслуживание индексов и статистик дело простое? Что ж, это не всегда так.

14.10.2019    17625    YPermitin    28    

Мониторинг высоконагруженной системы

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Высоконагруженной системе (более 8000 клиентских сессий) мониторинг необходим. Про опыт использования инструментов для мониторинга – самописной системы информирования, написанной на C#, и конфигурации «Центр контроля качества» в связке с системой отображения данных Grafana, на конференции Infostart Event 2018 Education рассказал Олег Репников.

13.09.2019    8970    Repich    5