Разбираемся с web-kit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4. Допиливаем обмен с сайтом в УТ 11.4

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

Разработка - Обмен данными 1С

Многие уже знают, что в релизе платформы 8.3.14.1565, браузер Internet Explorer был заменен на Web-Kit, это на самом деле большой шаг вперед, но я уверен, многим, как и мне, пока не совсем понятно, что к чему. Возник опыт использования web-kit в 1С, вызова JS из 1С и вызова 1С из JS. Давайте вместе попробуем понять, чем одно отличается от другого, и заодно сделаем, что-нибудь полезное. Да и наверняка многим придется переписывать свои подобные поделки после обновления на новую платформу, так что надеюсь мой опыт окажется полезным.

Все началось с того, что возникла задача: "Хотим, в УТ, вводить форматированное описание для товара, чтобы оно потом летело в интернет-магазин", потому что стандартное описание для товара прилетает сплошной строкой без переносов и выглядит очень не очень. Сразу возникло желание использовать форматированный документ, там и редактор простенький есть, и в HTML можно выгрузить. Но как только я показал сформированный форматированным документом HTML веб-разработчикам, они сразу замахали руками и сказал, что так не пойдет. На сайте уже есть свои стили для отображения нужных блочных элементов и поведение такого рода текста может стать непредсказуемым.

Функция ПолучитьHTML, форматированного документа возвращает полностью сформированную страницу HTML, со всей структурой тегов, а что самое неприятное, с inline-стилями. Выглядит это так. 
 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="format-detection" content="telephone=no" />
<style type="text/css">
body{margin:0;padding:8px;}
p{line-height:1.15;margin:0;white-space:pre-wrap;}
ol,ul{margin-top:0;margin-bottom:0;}
img{border:none;}
li>p{display:inline;}
</style>
</head>
<body>
<p><span style="text-decoration: underline;">Абзац</span></p>
<p><span style="font-weight: bold;">жирный текст</span></p>
<p><span style="color: #ff0000;font-weight: normal;">красный текст</span></p>
<p><br></p>
</body>
</html>

И если получить содержимое тега body это простая задача, то заниматься парсингом и вырезать атрибуты стиля из тегов совсем не хотелось. 

TinyMCE же возвращает приятного вида верстку. Позволяя себе inline-стили только в случае с цветом, что уже гораздо лучше.

<p>Абзац</p>
<p><strong>Жирный</strong></p>
<p><span style="color: #ff0000;">Красный</span></p>



Было принято решение интегрировать сторонний редактор текста TinyMCE. К тому же опыт его интеграции сообществом 1С уже довольно большой.
Может быть это было ошибкой тогда, и нужно было просто парсить текст сформированный форматированным документом, но имеем, что имеем. 

 

1.Особенности решения

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

    Вообще, на самом деле, подгрузить библиотеку, если получить для нее адрес в хранилище, можно, если бы она была скомпилирована в один файл, а Tiny помимо основной библиотеки содержит еще и js-файлы плагинов, менеджер стилей, и сами файлы стилей, русификаторов, иконок и т.д., и как сами понимаете это довольно сильно усложняет задачу. В одно время даже возникла идея скомпилировать все это добро в один файл и не знать проблем, но разбираться в инструментах было долго. Потом был найден TinyMCE Builder на официальном сайте, который компилирует весь js в один файл и это же было бы маленькой победой, если бы он так же поступал с css, но нет, css по-прежнему лежал рядом в нескольких папках.
     
  • TinyMCE для окна редактирования создает iframe, который сам по себе является встроенным в страницу HTML-документом, так что события возникающие в этом iframe 1С не может отследить, об этом ниже.
  • Конфигурация УТ 11.4 на момент разработки имела режим совместимости 8.3.12, так что по факту сейчас она использовала IE в качестве встроенного браузера, но дальнейшее обновление подразумевало переход на новые версии, которые уже используют web-kit.

2. Первые шаги. 

Основные отличия в работе с web-kit: 

  1. Основной объект ПоляHTML теперь имеет другую структуру и, для того чтобы работать с содержимым страницы нужно использовать свойство defaultView
     
    Элементы.ПолеHTML.Document.DefaultView
    раньше для этого использовалось свойство parentWindow
    Элементы.ПолеHTML.Document.parentWindow

     

  2. Запрет на использование eval, который раньше повсеместно использовался для вызова JS кода. Что-то вроде этого 

    Элементы.ПолеHTML.Document.parentWindow.eval("alert('Вызов кода из 1С')")

    Зато можно обращаться к методам напрямую из 1С. 

    Элементы.ОписаниеHTML.Document.DefaultView.НазваниеМетодаJS();

    И я быстро соорудил оберточные функции для всех методов Tiny которые мне нужны.
     

    function GetText(){
    	return tinyMCE.activeEditor.getContent({format: "text"});
    }
    function SetText(html){
    	return tinyMCE.activeEditor.setContent(html);
    }
    function GetHTML(){
    	return tinyMCE.activeEditor.getContent();
    }
    

    К которым дальше обращался из 1С так

    ОбъектHTML = Элементы.ОписаниеHTML.Document.DefaultView;
    		
    ОписаниеHTMLДляСайта = ОбъектHTML.GetHTML();
    Описание = ОбъектHTML.GetText();
    

    Хотя можно было бы обойтись и прямыми обращениями к объекту редактора, например так 

    Элементы.ПолеHTML.Документ.defaultView.tinyMCE.activeEditor.getContent()

           

Сразу была скачана обработка из публикации (автору отдельный респект), которая показала мне много интересностей. Она более-менее работала на IE, но на webkit не работал копи-паст, сначала это вызвало ступор, но дальше стало понятно, что это из-за iframe поле HTML не активировалось при нажатии внутри него, так как нажатие фактически происходило во вложенном документе HTML, события которого где-то застревали по пути к 1С. И потому если нажать Ctrl+C в одном месте формы и попытаться вставить внутри поля редактора, то текст вставится в том поле откуда был копирован потому что поле HTML документа не активируется. То же происходит и в обратном случае, сочетания клавиш для копирования и вставки не работают.

 

 

Сначала возникла мысль, что это косяк Tiny, и он блокирует непосредственную вставку из буфера, как CKEditor, который предлагает отдельное окно для вставки из буфера. Но проверить это было довольно легко, я создал пустой документ с одним полем ввода и попробовал копирования и вставки

Как видите все работает. Значит проблема где-то в Tiny или во взаимодействии с 1С.

 

3. Решение

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

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

<body> 
	<textarea id="editor"></textarea>
	<button id="button1c" style="display: none"></button>
</body>

И функция для вызова события нажатия на кнопку

function clickButton() 
{
  button1c.click();
}

Раньше можно было передать объект формы 1С в поле HTML как объект, и из-за того, что IE подключался к 1С по COM, форма как-то сама конвертировалась в понятный для IE объект и можно было вызывать экспортный функции формы 1С прямо из кода JS. Теперь так нельзя.

Была изучена документация по API Tiny, и найдена конструкция для перехвата обработчиков событий и подходящая комбинация событий, которая должна активировать поле HTML документа

tinymce.activeEditor.on('click', function(e){clickButton(e)});

tinymce.activeEditor.on('KeyDown', function(e){clickButton(e)});

 

Нужно поместить этот код в том месте, когда Tiny уже проинициализровался. Я сделал это в обработчике onload объекта window. Но можно сделать более красиво и разместить код при инициализации Tiny в параметре:

 

init_instance_callback

 

Теперь все должно быть в порядке. И форма должна работать как надо...

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

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

Это был досадный артефакт, и попытки понять, что происходит не давали никакого решения. Я выводил алерты в обработчик и алерты выводились, но 1С не реагировала на событие ПриНажатии

Внезапно пришла в голову идея, а что, если 1С не успевает обработать событие происходящее в поле, что если немного затормозить выполнение JS скрипта, и посмотреть, что получится. Быстро была реализована функция паузы в JS с помощью промисов и async await. Как видите в JS ее тоже нет по умолчанию и ничего, живут люди)

function sleep(ms){

  return new Promise(resolve => setTimeout(resolve, ms));

}

async function clickButton(e){

  await sleep(1);

  button1c.click();

}

 

Здесь я устанавливаю задержку в одну миллисекунду, перед нажатием на кнопку. И вуаля, все заработало. 1С стала вовремя обрабатывать нажатие на кнопку.

 

4. Допиливаем обмен

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

ТекстыЗапросов.Номенклатура = СтрЗаменить(ТекстыЗапросов.Номенклатура, "Номенклатура.Описание",
												"Номенклатура.ОписаниеHTML_ОписаниеHTMLДляСайта");

На этом все. Запускаем обмен и все работает, остается только внести изменения на сайте, если это нужно, чтобы описание товара воспринималось как верстка а не как строка.

Резюме

На данном примере я попробовал взаимодействие JS WebKit и 1С, пособирал грабли и нашел решение.

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

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

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

Наименование Файл Версия Размер
HTML описание номенклатуры для обмена с сайтом УТ 11.4.:

.cfe 409,25Kb
07.12.19
15
.cfe 409,25Kb 15 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. YPermitin 9719 08.12.19 20:26 Сейчас в теме
(0) нужно больше таких материалов про WebKit.

Плюсую.
TuneSoft; EVKash; TreeDogNight; A_Max; 07Iris; dabu-dabu; kolya_tlt; Batman; 1Cappldev; user774630; Бэнни; +11 Ответить
2. Бэнни 127 08.12.19 22:26 Сейчас в теме
(1) дополнил текст некоторыми пояснениями про изменения в вызове кода из 1С)
TreeDogNight; YPermitin; user774630; +3 Ответить
3. 1Cappldev 09.12.19 07:45 Сейчас в теме
(2) Я также присоединяюсь. Автор, спасибо за статью, позновательно.
4. OneEset 09.12.19 09:06 Сейчас в теме
Ах... Вы! А я на кликбейт попался))
TreeDogNight; Бэнни; +2 Ответить
5. Ropotun 09.12.19 13:55 Сейчас в теме
"Так как 1С не разрешает подгружать на страницу в поле HTML локальные файлы из файловой системы"

Неправда, позволяет.

У меня есть работающий пример интеграции, где структура папок TinyMCE скидывается на диск, а потом в поле HTML документа прописываем ссылку на Индекс.

Костыли с буфером обмена решаются выключением аддона Paste
6. Бэнни 127 09.12.19 14:16 Сейчас в теме
(5) ссылку на индекс? это значит, что у вас уже есть сформированный файл с версткой лежащий в файловой системе, в который подключена библиотека?
7. Ropotun 09.12.19 14:19 Сейчас в теме
(6). Да. Готовый HTML с подключённым редактором и стилями. В который контент можно загружать уже функциями 1С
8. Бэнни 127 09.12.19 14:22 Сейчас в теме
(7) я не зря использовал слово "подгружать") Сформировать внутри 1С текст верстки страницы и написать там что-то вроде <sc ript src="файловый путь">, не удастся, получить доступ к локальному файлу библиотки из поля HTML мы не можем. Потому единственный вариант, без cdn или веб-сервера, это заранее сформированная страница, которая уже содержит все подключения, что я и использую в своей разработке
9. Ropotun 09.12.19 14:26 Сейчас в теме
(8) А зачем подключать содержимое редактора как файл на диске? Мы можем загрузить содержимое прямо в редактор из 1С.
10. Бэнни 127 09.12.19 14:31 Сейчас в теме
(9) Можем, но это особенность поляHTML 1C, которую я описал) для тех кто не в теме, может быть непонятным, почему верстка написанная файлом HTML запускается в обычном браузере, но при этом будучи скопированной в поле HTML не работает, и если делать интеграцию локальных скриптов в полеHTML то можно потерять время.
23. АртемВС 15.02.20 16:32 Сейчас в теме
(5) Вот тут https://infostart.ru/public/22237/ (обычное приложение) структура папок TinyMCE сохраняется на диск, создается html с подключенным редактором, а потом используется метод Перейти() поля HTML. В поле управляемой формы его нет.

Если я правильно понял, то у вас подобное решение , но как вы прописывали ссылку на файл на диске?
24. Ropotun 17.02.20 10:33 Сейчас в теме
(23) Папочка с редактором хранится в макете. Когда нужно открыть редактор первый раз, он разворачивается в каталоге временных файлов, и Путь типа "C:\Users\....\index.html" напрямую присваивается реквизиту формы, который является источником данных для поля HTML документа. То есть никаких "Перейти()", просто при открытии формы присваиваем ВизуальныйРедактор (реквизит формы - источник данных) = ПутьКВизуальномуРедактору

Дальше, после формирования документа нужно загрузить туда как минимум изначальный текст, может понастраивать параметры или или ещё чего - продолжение инициализации прописывается в событие "ДокументСформирован" поля HTML документа
АртемВС; +1 Ответить
25. АртемВС 17.02.20 11:14 Сейчас в теме
11. ntemny 57 09.12.19 16:26 Сейчас в теме
У меня тоже в вебките не всегда работает событие приНажатии, хз почему. Обошел функцией добавитьОбработчик на onclick и ondblcklick. С ней все работает прекрасно.
Бэнни; +1 Ответить
12. support 4516 10.12.19 10:58 Сейчас в теме
Поддержу автора, а то все лайкают, но никто не скачивает )
Бэнни; +1 Ответить
17. Бэнни 127 13.12.19 13:22 Сейчас в теме
13. amd1986 10.12.19 15:10 Сейчас в теме
К сожалению web-kit пока сыроват. И сделать что нить крутое и стабильное пока нельзя. По типу такого...
Прикрепленные файлы:
Бэнни; +1 Ответить
14. Бэнни 127 10.12.19 15:15 Сейчас в теме
(13)А с какими трудностями столкнулись? Выглядит как встроенная веб-версия whatsapp
16. amd1986 10.12.19 15:26 Сейчас в теме
(14)1) На разных браузерах разное отображение страниц. Т.е. верстка может поехать
2) Заблокирована работа из внешних устройств. Например камера и микрофон не работает
3) Веб сокеты не работают
4) Костыльное выполнение скриптов на странице
5) Глюки работы с фреймами
6) Какой то баг с кодировками. Например не удается передать файл, в котором русское название.

Это так, для начала.
svilsa; tumr; +2 Ответить
15. amd1986 10.12.19 15:26 Сейчас в теме
18. untru 4 15.12.19 20:45 Сейчас в теме
Поставил расширение,
У меня такие глюки:
При нажатии правой кнопки вместо изображения в левом правом углу появляется окошко с кнопками "вперед" "назад"
Иногда при открытии просто черное поле http://prntscr.com/qb65xo

Сталкивались? Есть ли решение?
19. Бэнни 127 18.12.19 18:48 Сейчас в теме
(18)а какая версия платформы?
20. untru 4 18.12.19 21:10 Сейчас в теме
22. Бэнни 127 19.12.19 12:00 Сейчас в теме
(20)у конфигурации режим совместимости стоит?
21. Бэнни 127 19.12.19 11:59 Сейчас в теме
Оставьте свое сообщение

См. также

Соответствие типов данных 1С:Предприятие 8.x в MS SQL 2008 Промо

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

Соответствие типов данных 1С:Предприятие 8.x и MS SQL 2008

1 стартмани

13.01.2013    22242    YPermitin    8    

Выбираем российского провайдера для интеграции с WhatsApp

WEB Интеграция v8 Россия Абонемент ($m)

Собственно, почему выбираем именно провайдера и почему российского? WhatsApp, создавая свое API, преследовал две цели - делать деньги и минимизировать спам. И чтобы убить сразу двух зайцев, было принято решение предлагать API исключительно через партнеров. Ну а вопрос по поводу российского партнера скорее уже риторический. И не только из-за курса рубля, но и из-за таланта работать с российскими телефонными номерами, коим одарены далеко не все провайдеры. Между тем статья не претендует на всесторонний анализ всех возможностей всех провайдеров. Мы копнем лишь верхушку айсберга этого немаленького рынка.

1 стартмани

19.05.2020    3814    ripreal1    1    

1С+Firebase. Оперативное отображение информации

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

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

1 стартмани

06.04.2020    2068    oyti    0    

Перевод кода и метаданных конфигурации на английский язык: часть 2

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

Практический пример подготовки словаря для перевода кода и модели конфигурации УНФ 1.6 на английский язык с использованием существующих словарей и плагина EDT Language Tool. В статье приводятся готовые скрипты и алгоритмы сборки и нормализации словаря.

1 стартмани

05.04.2020    2205    vanjushkin    0    

На хайпе: интегрируем 1С с сервисом видеоконференций Zoom

Интеграция v8 1cv8.cf Абонемент ($m)

По причине коронавируса всем резко понадобились видеоконференции, а Зум (zoom.us) - одна из самых популярных платформ для этого. Когда пользователей и трансляций в зуме много, возникает необходимость в автоматизации. Рассматривается интеграция 1С с Zoom через API - от регистрации в сервисе до создания конференции из 1С.

1 стартмани

04.04.2020    6008    muzipov    4    

Перевод кода и метаданных конфигурации на английский язык с помощью плагина EDT: Language Tool

EDT Локализация решений v8 1cv8.cf Абонемент ($m)

Использование регулярных выражений для парсинга .mdo-файлов и составления русско-английского словаря метаданных. Перевод кода и метаданных конфигурации по словарю с помощью нового инструмента 1С - плагина EDT: Language Tool на примере УНФ 1.6

1 стартмани

03.04.2020    2004    vanjushkin    10    

Конвертация данных 2. Использование исходящих и входящих данных. Свойство "Получить из входящих данных"

Обмен данными 1С Перенос данных из 1C8 в 1C8 v8 КД Абонемент ($m)

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

17.02.2020    13961    Drivingblind    31    

РИБ и расширения конфигурации, меняющие метаданные

Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

02.12.2019    3713    sergek1972    2    

Перенос НМА и ОС при реорганизации с помощью документа "Ввод остатков" в Бухгалтерии 3

Учет ОС и НМА Бухгалтерский учет Перенос данных из 1C8 в 1C8 v8 v8::БУ БП3.0 БУ Абонемент ($m)

Цель материала – предложить методику автоматизации переноса остатков в конфигурации «Бухгалтерия предприятия, редакция 3.0» с помощью программного создания документа «Ввод остатков».

1 стартмани

17.10.2019    5402    muzipov    0    

Вебхук. Путь Телеграма

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

Долгое (на самом деле нет) и нелегкое путешествие телеграма к неведомым (из за РКН) конфигурациям 1С. Памятка себе.

1 стартмани

03.10.2019    17051    platonov.e    24    

Сравнение скорости загрузки большого массива данных из табличного документа с помощью Microsoft EXCEL через COM и с помощью платформы 1С 8.х

Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Тестирование COM MS Excel на сервере 1С и нативное чтение табличных документов в 1С.

3 стартмани

08.09.2019    3600    nomad_irk    26    

Совместное использование 1С:Сервер взаимодействия и Документооборот 8 КОРП, редакция 2.1.13 - Уведомления для рабочего стола

Пользователю системы Работа с интерфейсом Интеграция Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Абонемент ($m)

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

1 стартмани

18.06.2019    13373    ilya.rudziak    9    

Отладка правил обмена КД2 для подсистемы БСП Обмен данными

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Уже давно нельзя отлаживать правила обмена при помощи внешних файлов. Попробуем исправить это.

1 стартмани

27.05.2019    12080    fenixnow    6    

[EnterpriseData] Антисвертка характеристик номенклатуры при выгрузке в Бухгалтерию

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 v8::ПВХ КД УНФ БП3.0 Россия БУ Абонемент ($m)

Рассмотрена выгрузка каждой пары значений Номенклатура - Характерстика из УНФ 1.6 в отдельную номенклатуру в Бухгалтерию 3.0 путём доработки правил обмена в формате EnterpriseData.

1 стартмани

27.03.2019    4536    nforce    5    

Обмен без правил. От простого к сложному

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Пишем обмен с нуля, разбираемя с разными способами сериализации, учимся редактировать XML документы, создаем XDTO и Web service, осваиваем Script variant - English.

1 стартмани

16.01.2019    22743    nbeliaev    26    

Особенность встроенной функции Представление() в СКД [поход на грабли]

Практика программирования Адаптация типовых решений v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

15.01.2019    10461    Dementor    6    

Способы оптимизации переносов данных

Перенос данных из 1C8 в 1C8 Интеграция v8 КД Абонемент ($m)

Хочу рассказать вам про способы оптимизации разработки правил обмена в программе «Конвертация данных» второй редакции. Казалось бы, про эту программу и разработку в ней правил конвертации уже сказано все, что можно. Появились уже более современные и быстрые технологии. Почему же все еще она? Дело в том, что «Конвертация данных» второй редакции все еще актуальна для огромного круга задач. Она имеет очень широкую функциональность и позволяет реализовывать сложные алгоритмы. Годы идут, а люди продолжают ей пользоваться и у них возникает много вопросов по этой программе. Возможно, в будущем вы тоже будете заниматься такими проектами и столкнетесь с задачами, похожими на те, про которые я собираюсь рассказать. Мне хочется вам в этом помочь.

1 стартмани

02.08.2018    17301    primat    7    

Опыт проведения сложных переносов данных на 1С

Перенос данных из 1C8 в 1C8 Интеграция v8 КД Абонемент ($m)

В статье я расскажу про опыт сложных переносов на платформе 1С:Предприятие. Она будет адресована в первую очередь разработчикам 1С, которые уже имеют опыт использования методики «Конвертация данных» (как второй, так и третьей редакции) – я думаю, это большинство из нас. • Я расскажу про различные методики организации переносов данных. • Мы рассмотрим рекомендуемые способы оптимизации правил конвертации, которые позволят вам быстрее выполнять свои переносы. • Также мы разберем, какие могут возникнуть сложности в ходе переноса данных. • Я покажу сравнительный анализ по ряду параметров инструментов «Конвертация данных» второй редакции и третьей, которая вышла уже более года назад.

1 стартмани

30.07.2018    36486    primat    14    

Опыт интеграции мессенджера Telegram c 1C

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

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

19.07.2018    21243    VachKirp    41    

Конвертация данных 2.1. Как реквизит справочника конвертировать в регистр сведений?

Перенос данных из 1C8 в 1C8 v8 КД Россия Абонемент ($m)

В публикации рассмотрен пример конвертации реквизита справочника в регистр сведений.

2 стартмани

28.06.2018    13909    wowik    0    

Как переходили с 7-ки на 8-ку. Пример небольшого розничного магазина

Перенос данных из 1С7.7 в 1C8.X Бухгалтерский учет Розничная торговля Ценообразование, анализ цен Розничная торговля Ценообразование, анализ цен v8 v77::ОУ 1С7:ТиС УТ11 Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

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

1 стартмани

15.05.2018    16001    Kutuzov    15    

Ошибка в бонусной системе в типовой УТ11

Адаптация типовых решений Розничная торговля Розничная торговля v8 v8::ОУ УТ11 УУ Абонемент ($m)

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

1 стартмани

10.05.2018    11322    Kutuzov    0    

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

Распределенная БД (УРИБ, УРБД) v8 Абонемент ($m)

Многие давно и успешно используют файл "1CEStart.cfg" для подключения списка информационных баз "1С Предприятия" на терминальных серверах и рабочих станциях. На сайте ИТС 1С (также как и в "желтой библии" "Руководство администратора") в "Приложение 3. Описание и расположение служебных файлов" достаточно подробно описаны настройки этого файла. Но ни на ИТС, ни в других статьях в интернете не описано каким образом изменять этот файл, чтобы подключался список баз (РИБов) того территориального офиса, в котором находится компьютер. В этой статье я опишу способ подключения списка ИБ в зависимости от контролера домена авторизации пользователя при помощи скрипта cmd и групповой политики.

1 стартмани

29.03.2018    11052    Glebis    5    

Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен)

Обмен через XML Перенос данных из 1C8 в 1C8 Розничная торговля Розничная торговля v8 КД УТ11 Розничная и сетевая торговля (FMCG) Абонемент ($m)

В статье по шагам рассматривается создание обмена между центральной базой и базами филиалов на базе конфигурации УТ 11. Для решения поставленной задачи было решено не использовать РИБ, т.к. требуется односторонний обмен ограниченным набором данных, к тому же по определенным условиям. Обмен реализован на основе типовой синхронизации на основе универсального обмена в формате EnterpriseData. Данная публикация может быть полезна внедренцам, которые работают с торговыми сетями, в том числе по модели франчайзинга.

1 стартмани

26.02.2018    36735    Kutuzov    18    

Пример создания в КД 2.1 правил выгрузки данных регистра «Лицевые счета работников» из ЗУП 2.5 в справочник «Банковские счета» БП 3.0. Подробно, ясно и просто.

Перенос данных из 1C8 в 1C8 v8 КД Абонемент ($m)

Эту статью я написал для тех, кто хочет максимально быстро и эффективно научиться создавать правила выгрузки данных в конфигурации 1С Конвертация данных редакции 2.1. Разберем практическую несложную задачу создания правил выгрузки данных регистра «Лицевые счета работников организаций» ЗУП 2.5 в справочник «Банковские счета» БП КОРП 3.0. Поделюсь некоторыми эффективными приемами: ВыгрузкаПоПравилу(…), работа с глобальными параметрами конвертации и передача их с Источника в Приемник методом ПередатьОдинПараметрВПриемник(…), приемы ускорения и оптимизации конвертации данных. Кому эта статья покажется простой и/или захочется продолжения: рекомендую другую мою публикацию, в которой разобран более сложный пример : https://infostart.ru/public/695916/

1 стартмани

17.11.2017    36882    RailMen    1    

Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().

Обмен через XML Перенос данных из 1C8 в 1C8 v8 ЗУП2.5 КД БП3.0 Абонемент ($m)

В статье рассказываю: 1) о механизмах и транспорте обмена данными, где одной из сторон обмена выступает конфигурация на базе 1С, и о том, какой транспорт и в каких случаях лучше использовать 2) о решении задачи выгрузки данных документа «Зарплата к выплате организаций» (с выгрузкой банковский счетов физ лиц документа) из ЗУП 2.5.123.1 (далее Источник) в БП КОРП 3.0.52.39 (далее Приемник) путем создания правил обмена данными с использованием конфигурации «Конвертация данных» (далее просто КД) ред. 2.1.8.2. для (далее ЗкВО) 3) о тестирование полученных правил обмена данными.

1 стартмани

03.11.2017    32567    RailMen    5    

Google OAuth и мобильное приложение

Мобильная разработка Обмен данными 1С Внешние источники данных WEB v8 v8::Mobile 1cv8.cf Абонемент ($m)

Об аутентификации для работы с сервисами google из мобильного или настольного приложения

1 стартмани

29.08.2017    11487    stveans@gmail.com    3    

Препарирование xlsx файлов без MS Excel

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

Зоопарк офисных программ? WPS Office, MS Office, Open Office? В статье пойдет речь о том, как отредактировать XLSX файлы без создания COM-объектов.

1 стартмани

28.08.2017    16588    Сурикат    0    

Исправление среднего заработка для отпусков после переноса данных в конфигурацию ЗКГУ 3.0

Перенос данных из 1С7.7 в 1C8.X Перенос данных из 1C8 в 1C8 Зарплата Учет рабочего времени Зарплата Учет рабочего времени v8 1С7:ЗиК ЗКГУ3.0 БУ Абонемент ($m)

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

6 стартмани

08.08.2017    32272    RadistkaAn    4    

Быстрое заполнение данными файла MS EXCEL

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

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

1 стартмани

13.07.2017    12259    dusha0020    4    

Опыт интеграции 1С с системой Меркурий (Часть 5)

Внешние источники данных Интеграция Оптовая торговля Оптовая торговля v8::ОУ 1cv8.cf Сельское хозяйство и рыболовство Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Пищевая промышленность Россия БУ УУ Абонемент ($m)

Описывается опыт внедрения в 1С системы работы с ветеринарно-сопроводительными документами Меркурий. Интеграция еще в процессе и приветствуется обмен опытом.

1 стартмани

10.07.2017    59347    axxell    33    

Выбор значения из выпадающего списка с поиском и переходом к ячейке с таким значением в Excel

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

Поиск и переход к ячейке выполняется при помощи макроса. Макрос, как и сама книга, формируются программно в 1С.

1 стартмани

30.06.2017    17854    xrrg    0    

Автообновление нескольких распределенных удаленных баз, личный опыт

Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

12.04.2017    15046    Nehc    8    

Визуальный html редактор на управляемых формах

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

Мы рассмотрим некоторые особенности и возможности подключения сторонних визуальных html редакторов на javascript - TinyMCE, CK Editor. С помощью приложенной обработки Вы сможете попробовать в действии полноценный и удобный визуальный html редактор, а при желании перенести подобный функционал к себе.

1 стартмани

30.09.2015    28573    204    ivanov660    41    

Конвертер Даты из числового формата Excel

Загрузка и выгрузка в Excel Универсальные функции v8 1cv8.cf Абонемент ($m)

Столкнувшись с проблемой загрузки в 1С из Excel Даты-Времени в числовом формате к удивлению не нашел нигде подобных формул. Может потому что они уж слишком банальны, а может потому что они "тайное знание посвященных". В общем, эта обработка пример конвертации Excel <=> 1C

1 стартмани

17.04.2013    18320    vova196    5    

Автоматическая выгрузка через СОМ. STEP by STEP

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Россия Абонемент ($m)

Как автоматически выгружать физическое лицо через СОМ при записи не вмешиваясь в типовую конфигурацию. STEP by STEP.

1 стартмани

18.01.2010    11324    Boris-Leleko    7