"Живые" картинки со Snap.SVG

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

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

Snap SVG виджеты визуализация javascript

В статье рассмотрен пример использования http-сервисов для визуализации данных

Введение

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

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

О том, что из этого получилось – читайте ниже.

Системные требования

Платформа 1С:Предприятие, версии не ниже 8.3.5

Описание механизма

Механизм не отличается большой оригинальностью и суть его заключается в том, что содержимое виджета представляет собой html-страницу,  которая возвращается при обращении к http-сервису 1С:Предприятие. В процессе отображения страницы клиент обращается к http-сервису 1С:Предприятие для загрузки изображения, которое хранится в виде макета в теле конфигурации. Через определенные промежутки времени, клиент, средствами javascript  генерирует http-запросы, возвращающие обновленное состояние виджета. Затем, производится изменение изображения в соответствии с полученным состоянием.

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

Реализация

Формирование HTML страницы

Создадим обработку ВиджетSVG, которая будет отвечать за формирования html-страницы содержимого виджета.       

Для использования в качестве основы нашей страницы создадим макет нижеследующего содержания:

 

фрагмент

<meta http-equiv="X-UA-Compatible" content="IE=11"/>

отвечает за возможность использования svg из поля html документа.

фрагмент

<script src="{{UrlБиблиотекиSnapSVG}}snap.svg-min.js"></script>

подключает библиотеку Snap.SVG. Поскольку url размещения библиотеки может отличаться от url виджета, предусмотрим возможность его настройки.

фрагмент

	<style>
		html, body { margin:0; padding:0; overflow:hidden }
		svg { position:fixed; top:0; left:0; height:100%; width:100% }
	</style>

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

Для размещения изображения на странице используется элемент

<svg id="drawing" style="width:100%;height:100%"></svg>

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

 

фрагмент

var geval = eval;

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

Объекты state и newState используются для хранения соответственно текущего и нового состояний страницы.

		// Текущее состояние параметров
		let state = {};
		// Новое состояние, полученное при обновлении
		var newState;

фрагмент

var drawing = Snap('#drawing');

создает область рисования и подключает ее к ранее созданному элементу svg, а фрагмент

		// Перед загрузкой

		// Загрузка
		Snap.load("{{UrlИзображения}}", function(f) {

			drawing.append(f.select("#{{ИмпортируемыйЭлемент}}"));
			
			// После загрузки
			
		});

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

Вместо комментариев

// Перед загрузкой

И

// После загрузки

Может быть размещен код javascript.

Фрагмент

var myVar = setInterval(myTimer, {{ПериодОбновления}});

Производит подключение обработчика, который вызывается через определенные промежутки времени, а обработчик

		function myTimer() {
	  
			xhr = new XMLHttpRequest();
			var url = "{{UrlСервисаОбновленияДанных}}";
			xhr.open("POST", url, true);
			xhr.setRequestHeader("Content-type", "application/json");
	  
			xhr.onreadystatechange = function () { 
	    
	  			if (xhr.readyState == 4 && xhr.status == 200) {
	        
	        		var json = JSON.parse(xhr.responseText);
	        		newState = json.state;
	        		geval(json.script);
				}
			}

			var data = JSON.stringify(state);
			xhr.send(data);
		}

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

Для хранения библиотеки Snap.SVG создадим макет snap_svg_min_js и поместим в него код библиотеки. Для загрузки библиотеки создадим http-сервис, обработчик которого имеет нижеследующий вид:

Функция БиблиотекаSnapSVGПолучить(Запрос)
	
	Ответ = Новый HTTPСервисОтвет(200);
	Ответ.УстановитьТелоИзДвоичныхДанных(Обработки.ВиджетSVG.ПолучитьМакет("snap_svg_min_js"));
	Возврат Ответ;
	
КонецФункции

Код модуля объекта обработки представлен ниже:

 

Для формирования результирующего содержимого страницы используется функция  ПолучитьHTML. Как можно увидеть, обработка содержит переменные с глобальной областью видимости, соответствующие параметрам html-шаблона. Значения этих переменных должны быть заполнены до вызова функции ПолучитьHTML.

Формирование обновлений

Для реализации механизма обновлений создадим обработку ОбновлениеДанныхSVG.

 

Функция ПолучитьТекущееСостояние используется для получения текущего состояния, переданного клиентом, а функция ПолучитьТелоОтвета для формирования тела ответа.

Генерация кода JavaScript

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

 

Также, для генерации элементов атрибутов и стилей создадим соответствующие общие модули

 
 

Таким образом, мы сможем генерировать фрагменты кода javascript примерно следующим образом:

 

 

Создание виджета

Создание http-сервиса

Дабы не смешивать код, относящийся к виджету с кодом, относящимся к ранее созданной библиотеки, создадим новый http-сервис ДемоВиджетыSVG (mywidgets).

Определим для него три шаблона url, соответствующие html-странице (ВиджетSVG, /sheet), изображению (СхемаSVG, /sheet.svg) и обновлению данных (ОбновлениеДанных, /update).

Создание изображения

В качестве среды, для создания изображений может быть использован любой редактор, позволяющий сохранять результаты в формате svg или в формате, который может быть конвертирован в этот формат. В качестве визуализируемого компонента, под влиянием этой публикации и доклада Юрия Мороза, была выбрана технологическая схема ректификационной установки. Для создания схемы использовался online редактор draw.io, поскольку в нем уже имеется библиотека технологического оборудования. В дальнейшем, полученный svg файл был модифицирован редактором inkscape.

В качестве хранилища исходного изображения используется общий макет СхемаSVG. Для отправки изображения на клиент используется нижеследующий код (обработчик шаблона СхемаSVG).

 

Формирование HTML страницы

Формирование html-страницы производится в обработчике шаблона ВиджетSVG.

 

Пример кода для настройки изображения представлен ниже:

 

Формирование обновлений

Формирование обновлений реализовано в обработчике шаблона ОбновлениеДанных, примерно следующим образом:

 

Тестирование

После публикации информационной базы на web-сервере, протестировать результаты можно обратившись к http-сервису из браузера, либо из обработки, содержащей поле html-документа со ссылкой на http-сервис.

 
 

Как можно увидеть, внешний вид элементов схемы динамически изменяется во времени.

Заключение

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

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

Наименование Файл Версия Размер
"Живые" картинки со Snap.SVG:
.cf 86,18Kb
24.10.19
17
.cf 86,18Kb 17 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Terve!R 01.11.19 16:48 Сейчас в теме
А где еще можно увидеть пример? Непонятно что за живые картинки)
Возможно, стоило в публикацию добавить gif этой схемы. По статичным картинкам непонятно.
утюгчеловек; tsmult; maksa2005; +3 Ответить
2. blackhole321 1162 01.11.19 17:02 Сейчас в теме
А где еще можно увидеть пример? Непонятно что за живые картинки)

В тексте статьи есть все необходимое. Ctrl+C -> Ctrl+V. Изображение svg создаете сами ну и раскрашиваете по своему усмотрению.
3. r2d255 03.01.20 17:33 Сейчас в теме
(2) Изображение чего? В статье только код непонятного назначения.
4. blackhole321 1162 03.01.20 18:29 Сейчас в теме
(3) Того, чего желаете увидеть :) В статье код, который позволяет отображать и работать с изображениями в формате svg.
5. kuzyara 1003 20.05.20 06:56 Сейчас в теме
(4) (1) ну вот представьте что вам нужно сделать карту земли со странами на сайте. С выделением границ при наведении и каким-нибудь действием. Из 1с.

Для этого либо мутим что-то на js и canvas, либо прописываем массив точек границ в векторах svg и оно само всё рисуется кривой линией. Автор же поднял веб-сервис чтобы данные ещё и из 1с интерактивно подтягивались, и в той же 1с отображались. Это если упрощённо)

http://snapsvg.io
http://snapsvg.io/demos/#coffee
6. Yashazz 3197 24.05.20 12:32 Сейчас в теме
Вообще - дельно и интересно.
Для ВебКит новых релизов - много переделывать придётся? Не пробовали?
7. blackhole321 1162 24.05.20 15:47 Сейчас в теме
(6)Не пробовал, но думаю, что переделывать не придется, т.к. вся работа (отдача контента и запрос изменений) ведется через http сервис.
Оставьте свое сообщение

См. также

Альтернативный способ добавления элементов и реквизитов на формы Промо

Работа с интерфейсом v8 ERP2 УТ11 Россия Абонемент ($m)

Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.

1 стартмани

09.09.2019    8275    10    bmk74    1    

Создание асинхронных виджетов

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    10780    0    YPermitin    16    

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

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

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

12.09.2019    18070    0    YPermitin    26    

Интеграция 1С с промышленным оборудованием

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

Эффективность управленческой информации в производственном процессе зависит от данных, собираемых на нижних уровнях. Про автоматизацию получения этих данных с использованием технологии OPC (OLE for process control) на конференции Infostart Event 2018 Education рассказал Юрий Коноваленко.

06.09.2019    7778    0    user642664_yurkeshk    12    

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

Разработка внешних компонент WEB v8 Абонемент ($m)

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

5 стартмани

30.03.2018    21160    31    Ditron    66    

&На1С 2019 - Итоги конференции в Краснодаре

Блоги Бесплатно (free)

1 июня 2019 г. в Краснодаре прошла первая в городе открытая конференция специалистов 1С - &На1С 2019. О том, как все прошло, что получилось, а что нет, читайте в данной статье.

25.06.2019    9512    0    Tavalik    7    

Шпаргалка разработчика для работы с формами

Работа с интерфейсом v8 Россия Абонемент ($m)

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

3 стартмани

31.10.2018    13703    77    ELAM    3    

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

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

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

1 стартмани

13.09.2018    17042    12    RocKeR_13    16    

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

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

25.03.2019    28140    9    tormozit    44    

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

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

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

5 стартмани

09.08.2018    24090    25    informa1555    26    

Визуализация событий на временной шкале средствами "Поле HTML документа"

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    20831    135    Plotks2017    27    

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

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

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

1 стартмани

17.07.2018    36559    17    kalyaka    16    

Работа с релизами 1С и договорами ИТС Промо

WEB БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Работа с релизами 1С и партнерским кабинетом.

2 стартмани

15.08.2019    10747    34    RocKeR_13    10    

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

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.06.2018    20075    32    MKFreeUser    14    

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

WEB v8 Россия Абонемент ($m)

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

1 стартмани

11.06.2018    14565    5    slimper    1    

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

WEB v8 Абонемент ($m)

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

1 стартмани

02.06.2018    15262    10    DO_WHILE_LOOP    7    

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

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

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

1 стартмани

03.07.2019    16444    4    m-rv    86    

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

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

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

1 стартмани

10.05.2018    39351    33    dsdred    36    

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

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

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

2 стартмани

08.05.2018    24363    8    wowik    3    

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

Инструментарий разработчика Практика программирования v8 v8::Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    39331    83    kalyaka    34    

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

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.11.2018    9664    0    wtlz    1    

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

Универсальные обработки WEB Оптовая торговля Оптовая торговля v8 v8::УФ 1cv8.cf Абонемент ($m)

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

10 стартмани

24.02.2018    30627    40    KorotkovRV    16    

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

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

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

1 стартмани

08.02.2018    24009    19    mvxyz    17    

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

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

01.02.2018    31912    54    rpgshnik    48    

Расширенная настройка динамического списка УФ Промо

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

31.05.2017    29278    146    tormozit    23    

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

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

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

1 стартмани

29.12.2017    34365    27    agent00mouse    0    

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

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.12.2017    15212    12    PloAl    20    

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

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

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

1 стартмани

06.12.2017    23944    49    kwazi    6    

Открывашка ячеек таблиц Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    14439    12    tormozit    31    

Программное формирование форматированной строки в стиле html+inline CSS

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    27218    30    bonv    9    

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

WEB v8 Абонемент ($m)

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

1 стартмани

19.09.2017    25818    33    shmalevoz    20    

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

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

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

1 стартмани

30.05.2017    111068    13    signum2009    45    

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

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

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

1 стартмани

01.06.2018    26565    86    m-rv    57    

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

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

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

26.05.2017    45809    15    DarkAn    86    

Настройка рекламной кампании Яндекс.Директ на 30000 ключевых фраз за 60 минут - теперь это реально!

WEB v8 Реклама, PR и маркетинг Россия Абонемент ($m)

Конфигурация для настройки Яндекс.Директа.

10 стартмани

20.10.2016    27214    51    avalakh    10    

Простой способ индексирования интервалов

Практика программирования v8 Абонемент ($m)

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

1 стартмани

28.09.2016    37399    38    ildarovich    22    

Трекинг номеров РПО в Почте России Промо

WEB Оптовая торговля Оптовая торговля v8 Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Относительно недавно Почта России стандартизировала и описала сервисы получения информации о регистрируемом почтовом отправлении (РПО). Представляю вашему вниманию конфигурацию-обертку над сервисами Почты России. Она позволяет просто (http-запросы) и без изменений конфигурации подключить сервисы отслеживания к своим информационным системам.

2 стартмани

28.03.2016    22921    8    Smaylukk    3    

Конструктор-тестер http запросов в 1С

WEB Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    39003    293    hlopik    17    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    43828    36    Demanoidos    60    

Легкий интернет-магазин из УТ 11.2

WEB Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля v8 УТ10 УУ Абонемент ($m)

Обработка создания интернет-магазина из УТ 11. Создается единственный файл html, который содержит все выгруженные товары. Клиент составляет и отправляет заказ вам на e-mail прямо из браузера, не прибегая к использованию стороннего ПО.

11.08.2016    27992    23    hlopik    36    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты Промо

WEB Рабочее место v8 v8::УФ 1cv8.cf Абонемент ($m)

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

5 стартмани

31.08.2017    14668    10    vipchep    0    

Hello world на metadata.js

Инструментарий разработчика WEB Мобильная разработка v8 1cv8.cf Абонемент ($m)

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    53979    111    unpete    205    

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен)

Внешние источники данных WEB Инструментарий разработчика v8 1cv8.cf Беларусь БУ НДС Абонемент ($m)

Подсистема включает документы и обработки для автоматического обмена данными с порталом ИМНС через web-сервис. Присутствует возможность заполнения данными типовых операций за период, учёта входящих документов, учёта произвольных исходящих документов. Приложены обработки для запуска задания планировщика на автоматический обмен данными.

1 стартмани

28.07.2016    30643    19    c1nil    4    

Хранение файлов в томах на диске (для УПП 1.3)

Практика программирования v8 УПП1 Абонемент ($m)

Доработка типовой УПП 1.3 в плане хранения присоединенных файлов вне базы данных

2 стартмани

05.06.2016    51738    7    wowik    29    

Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers) Промо

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.12.2012    98196    1133    Smaylukk    345    

Остатки на каждый день в запросе

Практика программирования Учет ТМЦ Учет ТМЦ v8 1cv8.cf УУ Абонемент ($m)

Запрос формирует остатки товаров на каждый день в пределах выбранного периода.

1 стартмани

26.04.2016    49031    19    arakelyan    18    

Просмотр данных системы Платон на картах Google

Универсальные обработки WEB v8 1cv8.cf Автомобили, автосервисы Транспорт, автопарки, такси Абонемент ($m)

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

1 стартмани

15.04.2016    29132    18    anig99    8    

Выполнение JavaScript кода из 1С в объекте Поле HTML Документа (HTML 5) и вызов события в 1С ПриНажатии

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Пример выполнения JS кода из 1С в Поле HTML Документа под управляемыми формами, с удобным получением результата в 1С(С помощью вызова привязанного события ПриНажатии к элементу ПолеHTMLДокумента)

1 стартмани

22.03.2016    72303    145    igo1    51    

Лучший подарок для бухгалтера - счёты 8.2 (со звуком) Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

(Толстый клиент) Подарите бухгалтеру счеты, и он(а) Вас никогда не забудет.

1 стартмани

13.05.2011    37797    24    Tatitutu    45    

Количество дней недели (понедельников/вторников/...) в заданном диапазоне одним запросом

Практика программирования v8 Абонемент ($m)

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

1 стартмани

03.03.2016    15848    1    Alexander.Shvets    5    

Простые радости жизни программиста 1С: выбор типа значения

Работа с интерфейсом Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.02.2016    44900    47    yuraos    17    

Яндекс.Деньги "Благотворительность"

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

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

1 стартмани

16.02.2016    20998    8    Tatitutu    5    

Модуль для работы 1С (платформа 8.2 и выше) с внешними SOAP Web-сервисами

Внешние источники данных WEB Интеграция v8 1cv8.cf Абонемент ($m)

Модуль для работы 1С (платформа 8.2 и выше) с внешними Web-сервисами, реализованными по протоколу SOAP.

2 стартмани

15.02.2016    37532    83    lunjio    15