Как запустить работу Google Maps в поле HTML формы 1С?

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

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

Как справиться с передачей события в поле HTML, если надо передать данные. Переход на новую версию Google Maps.

Как запустить работу Google Maps в поле HTML формы 1С?

При изменении версии на новую Google Maps перестала работать обработка 1С, которая отображала карту через HTML поле в InternetExplorer 9.

Как программисту  на JavaScript и 1C эта работа досталась мне.

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

window.sendEvent = function(eventName, eventData)
{
    var e = document.createEvent('Event');
    e.initEvent('onhelp', false, true); 
    e. eventName = eventName;
    e. eventData= eventData;
    document.dispatchEvent(e);
    return e;
}

 Но этот код никак не хотел выдавать событие onHelp в 1С.

Даже добавил в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION вызов 11 версии IE.  Этот способ меняет настройки встроенного браузера. Никакого результата. 

Тогда переключил режим браузера в IE10,

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

И тогда старый код стал выдавать событие, и заработала карта.

Но надо было решить задачу передачи данных через поля объекта в 1С. Эти поля упорно не передавались. Они просто обрезались при передаче.

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

Но data было строковым, а мне требовался объект. Посмотрев еще, обнаружил что кроме data в событие передавалось поле dataFld. И оно тоже было строковым. 

Я решил использовать сериализацию, то есть превращение объекта в строку, а потом строки в объект  и  передал таким образом объект  в обработчик события.

Полученный код:

Вначале, в теге <title> надо переключить браузер в режим IE 10 (В IE 9 режиме не работает карта, в IE 11 режиме не работают события):

|<meta http-equiv=""X-UA-Compatible"" content=""IE=10"">

Вызов события с передачей данных из поля HTML в обработчик 1С.  

|window.sendEvent = function(eventName, eventData)
|{
|             var e = document.createEventObject();
|             //var e = document.createEvent('Event');
|             //e.initEvent('onhelp', false, true);
|             e.data = eventName;
|             e.dataFld = JSON.stringify(eventData);
|             //document.dispatchEvent(e);
|             document.body.fireEvent('onhelp', e);
|             return e;
|}

Код обработчика onHelp

Процедура ПолеHTMLДокonhelp(Элемент, e)
    if (e.data="map.ready") then
        Сообщить("Карта готова");
        КартаГотова();
    endif;
   
    if (e.data="message") then
        Сообщить(e.dataFld);
    endif;               

    if (e.data="info.open") then
        eventData=jsonПрочитатьПлатформой(e.dataFld);
        ОписаниеАдресатовДляДома = ПолучитьОписаниеАдресатовПоАдресуДому(eventData.Получить("address"));
        ОписаниеАдресатовДляДома = eventData.Получить("address") + "<br>"+ОписаниеАдресатовДляДома;
        ЭлементыФормы.ПолеHTMLДок.Документ.parentWindow.setInfoWindowContent(ОписаниеАдресатовДляДома);
    endif;
КонецПроцедуры

 

Сервисные функции для обработки JSON на 1С,( взято отсюда //tf21.ru/public/551972/) :

Функция jsonПрочитатьПлатформой(Значение)

    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Значение);   

    Результат = Неопределено;
    СформироватьДерево(ЧтениеJSON, Результат);
    ЧтениеJSON.Закрыть(); 

    Возврат Результат;
КонецФункции


Процедура СформироватьДерево(ЧтениеJSON, Дерево)   

    ИмяСвойства = Неопределено;   

    Пока ЧтениеJSON.Прочитать() Цикл
        TипJSON = ЧтениеJSON.ТипТекущегоЗначения;        

        Если TипJSON = ТипЗначенияJSON.НачалоОбъекта
        ИЛИ TипJSON = ТипЗначенияJSON.НачалоМассива Тогда
            НовыйОбъект = ?(TипJSON = ТипЗначенияJSON.НачалоОбъекта, Новый Соответствие, Новый Массив);        

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

            СформироватьДерево(ЧтениеJSON, НовыйОбъект);           

            Если Дерево = Неопределено Тогда
                Дерево = НовыйОбъект;
            КонецЕсли;
        ИначеЕсли TипJSON = ТипЗначенияJSON.ИмяСвойства Тогда
            ИмяСвойства = ЧтениеJSON.ТекущееЗначение;
        ИначеЕсли TипJSON = ТипЗначенияJSON.Число
        ИЛИ TипJSON = ТипЗначенияJSON.Строка
        ИЛИ TипJSON = ТипЗначенияJSON.Булево
        ИЛИ TипJSON = ТипЗначенияJSON.Null Тогда
            Если ТипЗнч(Дерево) = Тип("Массив") Тогда
                Дерево.Добавить(ЧтениеJSON.ТекущееЗначение);
            ИначеЕсли ТипЗнч(Дерево) = Тип("Соответствие") Тогда
                Дерево.Вставить(ИмяСвойства, ЧтениеJSON.ТекущееЗначение);
            КонецЕсли;
        Иначе
            Возврат;
        КонецЕсли;
    КонецЦикла;   

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

 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. dsdred 1407 27.09.18 08:52 Сейчас в теме
ХМ странно... Вы выложили ссылку на статью (https://infostart.ru/public/551972/) в которой в комментариях написано, что стандартный метод ПрочитатьJSON в разы быстрее работает метода из статьи и автор статьи в комментариях это подтверждает...
Но выбрали все равно более медленный и более громоздкий способ...

//Всего 3 строчки кода
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(e.dataFld);

eventData= ПрочитатьJSON(ЧтениеJSON);
3. Green2 30 27.09.18 11:40 Сейчас в теме
(1)Спасибо за замечание, оказывается эти функции реализуются простой функцией ПрочитатьJSON()
Примененная функция хороша только в одном случае, когда передаются переменные типа Дата. И стандартным способом десерилизацию провести нельзя. Хотя и даже для Дата можно сделать простым способом. Если типы простые, то все решается одной функцией.

Я первый раз делал такую задачу, и заодно изучал работу JSON.
Из за распространенности данного формата в веб приложениях, я думаю, это будет одна из самых востребованных функций.
Например, я сейчас делаю модуль обмена специфической конфигурации 1С с Битрикс 24, и обмен в формате JSON.
4. dsdred 1407 27.09.18 14:30 Сейчас в теме
(3)
Спасибо за замечание, оказывается эти функции реализуются простой функцией ПрочитатьJSON()

Не за что. Я просто удивился, что та статья вышла позже моей на 4 дня https://infostart.ru/public/551045/
При этом у меня в примере ПрочитатьJSON()

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

для даты обычно использую типовую функцию из розницы брал

//Получаем дату из входных параметров
Функция ПолучитьДатуВремяИзСтроки(ДатаВремя) Экспорт
	
	Результат = Неопределено;
	ДатаВремя = СтрЗаменить(ДатаВремя, "-", "");
	ДатаВремя = СтрЗаменить(ДатаВремя, ":", "");
	Если СтрДлина(ДатаВремя) - Найти(ДатаВремя, " ") = 5 Тогда // время в формате Ч:ММ:СС
		ДатаВремя = СтрЗаменить(ДатаВремя, " ", "0");
	ИначеЕсли Найти(ДатаВремя, "T") > 0 Тогда //время в формате ГГГГММДДTЧЧММСС
		ДатаВремя = СтрЗаменить(ДатаВремя, "T", "");
	Иначе // время в формате ЧЧ:ММ:СС
		ДатаВремя = СтрЗаменить(ДатаВремя, " ", "");
	КонецЕсли;
	
	ОписаниеТипа = Новый ОписаниеТипов("Дата");
	Результат = ОписаниеТипа.ПривестиЗначение(ДатаВремя);  // дата и время в виде "ГГГГММДДЧЧММСС"
	Если Не ЗначениеЗаполнено(Результат) Тогда
		Результат = ОписаниеТипа.ПривестиЗначение(Лев(ДатаВремя, 8));  // только дата "ГГГГММДД"
	КонецЕсли;

	Возврат Результат;
	
КонецФункции
Показать


Я первый раз делал такую задачу, и заодно изучал работу JSON.
Из за распространенности данного формата в веб приложениях, я думаю, это будет одна из самых востребованных функций.
Например, я сейчас делаю модуль обмена специфической конфигурации 1С с Битрикс 24, и обмен в формате JSON.


Это хорошо, что сами пробуете и делаете. А JSON не только в веб приложениях распространен.
С JSON работаю с 2015, в тот год пришлось много API использовать и в платформе как раз нарисовали поддержку. А так на работе приходится сейчас часто http-сервисы рисовать для вебера, он сам в JSONе просит данные.


П.С. А ниже Вам правильно написали про WebKIT Перевод клиентских приложений для Windows на использование WebKit (оптимизация отображения HTML)
2. azhilichev 27.09.18 10:58 Сейчас в теме
Потерпите чуть-чуть, и перейдем на WebKit. Должно быть в разы лучше.
5. gubanoff 47 27.09.18 17:04 Сейчас в теме
(0) может знаете решение проблемы не по теме: в управляемом приложении в ПолеHTML 1С не переходит по ссылкам на якори.
|<P><A name=НачалоДокумента>Якорь</A></P>
	|<P></P>
	|<P></P>
	|<P></P>
	|<P>Перейти к якорю</P>

Может есть какое-то решение на javascript?
Прикрепленные файлы:
ТестПереходаПоЯкорюВHTMLДокументе.epf
6. as 03.10.18 09:38 Сейчас в теме
Непонятно почему вы решили, что IE11 не работает.
Я делаю так:
<head>
  <met a http-equiv="X-UA-Compatible" content="IE=11" />
</head>
<body>
  <button id="SentDataButton1c" style="display: none"></button>
 </body>



 function sentData(message) {
    errStr = "";
    success = false;
	try {
		if (parentForm == undefined) {
			SentDataButton1cData = message;
			SentDataButton1c.click();
			success = true;
		}
	}
		catch(e) {
		errStr += e.message;	
	};
    try {
      if (!success) parentForm.sentData(message);
    } catch (e) {
      errStr += e.message;
      alert(errStr);
    };
  };
Показать


При это этот код работает под всеми платформами: win,linux, mac и web(проверял только Chrome).
Из 1С после обработки события доступны переменные объекта ПолеХТМЛ через ВнешнийОбъект

&НаКлиенте
Функция ПолучитьВнешнийОбъектХТМЛ(ПолеХТМЛ) Экспорт

	СисИнфо = Новый СистемнаяИнформация;
	Если Найти(СисИнфо.ТипПлатформы,"Windows") = 0 Тогда
		Возврат ПолеХТМЛ.Документ.defaultView;
	Иначе	
	#Если не ВебКлиент Тогда
		Возврат ПолеХТМЛ.Документ.parentWindow;
	#КонецЕсли
	КонецЕсли;
	Попытка
		Если Найти(СисИнфо.ИнформацияПрограммыПросмотра, "MSIE") = 0 Тогда
			Возврат ПолеХТМЛ.Документ.defaultView;
		Иначе
			Возврат ПолеХТМЛ.Документ.parentWindow;
		КонецЕсли;
	Исключение
		Возврат Неопределено;
	КонецПопытки;

КонецФункции
Показать


Что важно, код продолжит работать после появления WebKit под Windows.
7. Green2 30 03.10.18 12:00 Сейчас в теме
(6)
parentForm

(6)
SentDataButton1cData

Я проанализировал код и не понял, что это за переменные, как они объявляются.
Предположу, что parentForm это document.body?
А SentDataButton1cData это просто определение переменной через var?
8. as 03.10.18 17:50 Сейчас в теме
(7) parentForm это ссылка на форму 1с внутри JS, а SentDataButton1cData просто переменная с данными.
Я заполняю их так:
  var initialized, parentForm;
  var SentDataButton1cData;
  function initialize(thisForm) {
    parentForm = thisForm;
    initialized = true;
  };

initialize вызывается из 1С для инициализации.
9. Sheff 27.11.18 14:38 Сейчас в теме
(8) IE=11 не работает и у меня.

Делаю вот так

<ht ml>
<head>
<met a http-equiv="X-UA-Compatible" content="IE=11">
<st yle type="text/css">
html { height: 100% }
body { height: 100%; margin: 0px; padding: 0px }
#map { height: 100% }
</style>
<sc ript async defer src="https://maps.googleapis.com/maps/api/js?key=<ключ>&callback=initMap" type="text/javascript"></sc ript>
<далее скрипт>

<body on load="initMap()">
<div id="map" style="width:100%; height:100%"></div>
<input type="hidden" id="CoordX" name="CoordX" value="0"></input>
<input type="hidden" id="CoordY" name="CoordY" value="0"></input>
<input type="hidden" id="RouteInfo" name="RouteInfo" value=""></input>
<input type="hidden" id="WebClientOperation" name="WebClientOperation" value="0"></input>
<input type="hidden" id="WebClient" name="WebClient" on click="WebClientClick();"></input>
</body>
</html>

Всё. Вот это вот не работает.
На форме 1С просто белое поле и всё.
10. as 27.11.18 19:02 Сейчас в теме
А вы для начала попробуйте без 1C в IE это открыть. Скорее всего у вас ошибки в html
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

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

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

22.04.2020    3292    23    infostart    2    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    15342    0    ids79    26    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

15.01.2020    15842    0    John_d    22    

Последовательности событий. Шпаргалка

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

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    10963    0    kuzyara    33    

Использование программных перечислений, ч.1: строковые константы Промо

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

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    34270    0    unichkin    45    

Таблица значений. Нюансы

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

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

01.10.2019    25583    0    Yashazz    45    

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

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

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

12.09.2019    18341    0    YPermitin    26    

[Шпаргалка] Программное создание элементов формы

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

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

06.09.2019    35115    0    rpgshnik    62    

Вспомогательные инструкции в коде 1С Промо

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

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    26278    0    tormozit    100    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    37281    0    ids79    52    

Регистры бухгалтерии. Общая информация

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

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    21834    0    YPermitin    24    

Три костыля. Сказ про фокусы в коде

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

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    21916    0    YPermitin    80    

Оформление и рефакторинг сложных логических выражений Промо

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

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

20.09.2012    73780    0    tormozit    129    

Отслеживание выполнения фонового задания

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

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    25846    0    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    56699    0    ids79    37    

Фоновое выполнение кода в 1С - это просто

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

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

02.08.2019    26596    0    avalakh    21    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    44841    0    tormozit    38    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    43007    0    ids79    11    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    28745    0    ids79    27    

Регистры сведений. За кулисами

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    21619    0    YPermitin    13    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    40652    0    tormozit    72    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    16514    0    SeiOkami    50    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    42535    0    ids79    20    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

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

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    21516    0    dmurk    144    

Выгрузка документа по условию Промо

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

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    14236    0    m-rv    2    

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

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

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

16.05.2019    35551    0    YPermitin    30    

Выполнение внешней обработки в фоновом задании

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    24367    0    Eret1k    23    

HTML-клиент у конфигурации 1С

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

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    16190    0    Smaylukk    119    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    17829    0    m-rv    17    

О расширениях замолвите слово...

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

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    29531    0    ellavs    126    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    23168    0    ellavs    86    

Трюки с внешними источниками данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    26611    0    YPermitin    53    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    27492    0    m-rv    21    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    31654    0    ids79    9    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    22947    0    ids79    31    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

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

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

05.12.2017    25792    0    itriot11    34    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    35257    0    ids79    72    

Программное заполнение пользовательских параметров и отборов СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.11.2018    37772    0    Unk92    21    

Создание телеграм бота с гугл авторизацией, обратными вызовами и уведомлениями об обновлении через сервер-маршрутизатор

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

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

07.11.2018    27017    0    🅵🅾️🆇    57    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    71235    0    Serginio    108    

Произвольный код в фоновом режиме

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

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

03.09.2018    24061    0    nikita0832    42    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

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

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

23.08.2018    34965    0    Rain88    46    

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

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    26195    0    olegtymko    47    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    30716    0    ids79    40    

На что действительно способны HTTP-сервисы

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

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

14.06.2018    33258    0    dalgaso2010    45    

Введение в механизм представлений в ЗУП ред. 3

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

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

04.06.2018    34306    0    xrrg    82    

Строим графы средствами 1С (без GraphViz)

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

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    22921    0    slozhenikin_com    20    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    26338    0    grumagargler    26    

Распределение расходов пропорционально продажам

Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Практика программирования Финансовый учет и бюджетирование (FRP) Учет доходов и расходов v8 v8::ОУ УТ10 УУ Бесплатно (free)

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    17044    0    Rustig    9    

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

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

Данный способ можно использовать для просмотра содержимого временных таблиц запросов (менеджеров временных таблиц) без внесения изменений в код.

24.04.2018    43144    0    avfed@rambler.ru    26    

[ВсеПросто] "Оперативный" информатор из 1С за 5 мин.

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

Быть всегда в курсе дел, даже в дороге!

22.02.2018    25358    0    DarkAn    25    

Минимализмы 3

Практика программирования Универсальные функции v8 Бесплатно (free)

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    43947    0    ildarovich    45