Выгрузка данных из дерева значений 1С в формат JSON иерархический список (Сериализация ДереваЗначений в JSON)

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

Разработка - Системная интеграция - Обмен через XML

Тема: Иерархические списки при обмене данными. В интернете не удалось найти подобного решения. Обнаружена реализация только обратной операции JSON в дерево значений 1С или рассматриваются линейные списки (таблицы).

Рассмотрим презентуемую обработку: Тестирование выполнялось на платформе 1С:Предприятие 8.3.12.1790

1) Заполняет ДеревоЗначений, иерархию работ

{
    "project": "Нарва",
    "data": [
        {
            "type": "section",
            "meta": {
                "name": "Организация и содержание строительной площадки",
                "xml_id": "9bb86f0d-e9a9-11e9-80ef-005056a42dd9",
                "code": "B",
                "lvl": 1
            },
            "children": [
                {
                    "type": "section",
                    "meta": {
                        "name": "Общие условия, не зависящие от продолжительности работ: прокладка и подключение временных коммуникаций; прокладка временных дорог; устройство бытового",
                        "xml_id": "a965c933-e9a9-11e9-80ef-005056a42dd9",
                        "code": "B10",
                        "lvl": 2
                    },
                    "children": [
                        {
                            "type": "section",
                            "meta": {
                                "name": "Устройство забора",
                                "xml_id": "bcd8e68b-e9a9-11e9-80ef-005056a42dd9",
                                "code": "B1010",
                                "lvl": 3
                            },
                            "children": [
                                {
                                    "type": "element",
                                    "meta": {
                                        "xml_id": "df8507ba-e03a-11e9-80ee-005056a42dd9",
                                        "name": "Временное ограждение стройплощадки из металлического оцинкованного профнастила, тип 3БН",
                                        "parent": "bcd8e68b-e9a9-11e9-80ef-005056a42dd9",
                                        "code": "B10101001000",
                                        "count": 243.45,
                                        "um": "п.м",
                                        "contracted": 776640.19,
                                        "contracted_vat": 916965.88
                                    }
                                },
                                {
                                    "type": "element",
                                    "meta": {
                                        "xml_id": "df8507bb-e03a-11e9-80ee-005056a42dd9",
                                        "name": "Металлические ворота выезда (шириной 6,0 м)",
                                        "parent": "bcd8e68b-e9a9-11e9-80ef-005056a42dd9",
                                        "code": "B10101001100",
                                        "count": 1,
                                        "um": "шт.",
                                        "contracted": 46756.8,
                                        "contracted_vat": 55173.02
                                    }
                                },
                                {
                                    "type": "element",
                                    "meta": {
                                        "xml_id": "df8507bc-e03a-11e9-80ee-005056a42dd9",
                                        "name": "Калитка",
                                        "parent": "bcd8e68b-e9a9-11e9-80ef-005056a42dd9",
                                        "code": "B10101001150",
                                        "count": 1,
                                        "um": "шт.",
                                        "contracted": 8096.9,
                                        "contracted_vat": 9554.34
                                    }
                                },
                                {
                                    "type": "element",
                                    "meta": {
                                        "xml_id": "df8507bd-e03a-11e9-80ee-005056a42dd9",
                                        "name": "Демонтаж и вывоз",
                                        "parent": "bcd8e68b-e9a9-11e9-80ef-005056a42dd9",
                                        "code": "B10101001200",
                                        "count": 1,
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

2) Преобразует ДеревоЗначений 1С в Дерево JSON

3) Отправляет Дерево JSON методом «HTTP Запроса», тип команды «POST»

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

Порядок работы с обработкой.

  1. Команда «Заполнить работы», заполняет линейный список
  2. Команда «Заполнить дерево иерархии», по данным верхней таблицы – формируется древовидная структура (ДеревоЗначений)
  3. Команда формирования структуры JSON (для отладки)
  4. Команда формирования JSON и отправки POST HTTP запроса

Основное требование:

В верхней таблице имеется колонка «Иерархия работ сметы»

Это иерархический справочник. Иерархия элементов.

Приведу листинг алгоритма сериализации ДеревоЗначений -> ДеревоJSON

//
Функция СоздатьЗаписиСмета(ВыводитьСообщения = Ложь) Экспорт
	
	ДеревоJSON = ПолучитьДеревоJSON(ДеревоРаботИерархия);
	
	// Сформировать строку JSON
	ТелоЗапроса = "";

	Запись = Новый ЗаписьJSON;
	Запись.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Unix, "    ")); // инициализация записи
	
	НастройкиСериализации = Новый НастройкиСериализацииJSON();
	НастройкиСериализации.ВариантЗаписиДаты = ВариантЗаписиДатыJSON.ЛокальнаяДата;
	НастройкиСериализации.ФорматСериализацииДаты = ФорматДатыJSON.ISO;
	НастройкиСериализации.СериализовыватьМассивыКакОбъекты = Ложь;
	
	ДополнительныеПараметрыСериализации = Новый Структура;
	
	ЗаписатьJSON(Запись, ДеревоJSON, НастройкиСериализации, "СериализацияВJSON", ЭтотОбъект, ДополнительныеПараметрыСериализации);
	
	ТелоЗапроса = Запись.Закрыть();
	
КонецФункции

Функция ПолучитьДеревоJSON(ДеревоЗначенийСКД)
	
	СтруктураJSON = Новый Структура();
	
	ОбходДереваСКД(СтруктураJSON, ДеревоЗначенийСКД);
	
	Возврат СтруктураJSON;
	
КонецФункции

Процедура ОбходДереваСКД(СтруктураJSON, ДеревоЗначенийСКД)
	
	ИмяСвойстваМассиваСтрокиСтруктураJSON = ОпределитьСвойствоМассив(СтруктураJSON);
	
	Для Каждого СтрокаДеревоЗначенийСКД Из ДеревоЗначенийСКД.Строки Цикл
		
		Если ИмяСвойстваМассиваСтрокиСтруктураJSON = "ROOT" Тогда // Инициализация дерева JSON
			СтруктураJSONНоваяСтрока = ВставитьЭлементСтруктурыJSON(СтруктураJSON, СтрокаДеревоЗначенийСКД);
		Иначе	
			СтруктураJSONНоваяСтрока = ВставитьЭлементСтруктурыJSON(СтруктураJSON[ИмяСвойстваМассиваСтрокиСтруктураJSON], СтрокаДеревоЗначенийСКД);
		КонецЕсли;
		
		Если СтрокаДеревоЗначенийСКД.Строки.Количество()>0 Тогда
			ОбходДереваСКД(СтруктураJSONНоваяСтрока, СтрокаДеревоЗначенийСКД);
		КонецЕсли;
		
	КонецЦикла;
	
	
КонецПроцедуры

Функция ВставитьЭлементСтруктурыJSON(МассивСтрокаСтруктураJSON, СтрокаДеревоЗначенийСКД)
	
	СтруктураJSON 	= Новый Структура;
	МассивСтруктуры = Новый Массив;
	
	Если НЕ ЗначениеЗаполнено(СтрокаДеревоЗначенийСКД.Работа) Тогда // Это "Проект"
		
		СтруктураJSON.Вставить("project", 						Строка(СтрокаДеревоЗначенийСКД.Проект));
		СтруктураJSON.Вставить("dev_object_name", 				Строка(ОбъектСтроительства));
		СтруктураJSON.Вставить("owner", 						Строка(Организация));
		СтруктураJSON.Вставить("general_contractor", 			Строка(Контрагент));
		СтруктураJSON.Вставить("general_contractor_contract", 	Строка(ДоговорКонтрагента));
		СтруктураJSON.Вставить("сurrency", 						Строка(ДоговорКонтрагента.ВалютаВзаиморасчетов));
		СтруктураJSON.Вставить("data", 							МассивСтруктуры);
		
		МассивСтрокаСтруктураJSON = СтруктураJSON; // Инициализация структуры JSON

	ИначеЕсли ЗначениеЗаполнено(СтрокаДеревоЗначенийСКД.Работа) // Это элемент иерархии
			И ТипЗнч(СтрокаДеревоЗначенийСКД.Работа) = Тип("СправочникСсылка.смр_ИерархияРаботСметы") Тогда 
			
		СтруктураJSON.Вставить("type", "section");
		СтруктураJSON.Вставить("meta", ЗаписьЭлементИерархии(СтрокаДеревоЗначенийСКД));
		СтруктураJSON.Вставить("children", МассивСтруктуры);
		
		// Это Массив для дочерних элементов
		МассивСтрокаСтруктураJSON.Добавить(СтруктураJSON);
		
	ИначеЕсли ЗначениеЗаполнено(СтрокаДеревоЗначенийСКД.Работа) // Это элемент "Работа"
			И ТипЗнч(СтрокаДеревоЗначенийСКД.Работа) = Тип("СправочникСсылка.снх_РаботыСУП") Тогда 
			
		СтруктураJSON.Вставить("type", "element");
		СтруктураJSON.Вставить("meta", ЗаписьРаботы(СтрокаДеревоЗначенийСКД));
		
		// Это Массив для дочерних элементов
		МассивСтрокаСтруктураJSON.Добавить(СтруктураJSON);
		
	КонецЕсли;	
	
	Возврат СтруктураJSON;
	
КонецФункции

Функция ОпределитьСвойствоМассив(СтрокаСтруктураJSON)
	
	Если СтрокаСтруктураJSON.Свойство("data") Тогда // Это "Проект"
		СвойствоМассив = "data";
		
	ИначеЕсли СтрокаСтруктураJSON.Свойство("children") Тогда 
		СвойствоМассив = "children";
		
	Иначе
		СвойствоМассив = "ROOT";
	КонецЕсли;	

	Возврат СвойствоМассив;
	
КонецФункции

///////// Элементы Дерева JSON

Функция ЗаписьРаботы(СтрокаДеревоЗначенийСКД)
	Перем СтруктураJSON;

	СтруктураJSON = Новый Структура();
	
	СтруктураJSON.Вставить("xml_id", 		XMLСтрока(СтрокаДеревоЗначенийСКД.Работа.Ссылка));
    СтруктураJSON.Вставить("name", 			СтрокаДеревоЗначенийСКД.Работа.Наименование);
    СтруктураJSON.Вставить("parent", 		XMLСтрока(СтрокаДеревоЗначенийСКД.ИерархияРаботСметы.Ссылка)); 
    СтруктураJSON.Вставить("code", 			СтрокаДеревоЗначенийСКД.Работа.Шифр);
    СтруктураJSON.Вставить("count", 		СтрокаДеревоЗначенийСКД.ОбъемРаботы);
    СтруктураJSON.Вставить("um", 			СтрокаДеревоЗначенийСКД.Работа.ЕдиницаИзмерения.Наименование);
    СтруктураJSON.Вставить("contracted", 	СтрокаДеревоЗначенийСКД.СуммаБезНДС);
    СтруктураJSON.Вставить("contracted_vat",СтрокаДеревоЗначенийСКД.Сумма);
	
 	Возврат СтруктураJSON;
	
КонецФункции

Функция ЗаписьЭлементИерархии(СтрокаДеревоЗначенийСКД)
	Перем СтруктураJSON;

	СтруктураJSON = Новый Структура();
	
    СтруктураJSON.Вставить("name", 			СтрокаДеревоЗначенийСКД.Работа.Наименование);
	СтруктураJSON.Вставить("xml_id", 		XMLСтрока(СтрокаДеревоЗначенийСКД.Работа.Ссылка));
    СтруктураJSON.Вставить("code", 			СтрокаДеревоЗначенийСКД.Работа.Шифр);
    СтруктураJSON.Вставить("lvl", 			СтрокаДеревоЗначенийСКД.Работа.Уровень);
 
	Возврат СтруктураJSON;
	
КонецФункции

 

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

Наименование Файл Версия Размер
Выгрузка данных из ДеревоЗначений 1с в формат JSON иерархический список (Сериализации (ДереваЗначений) в JSON):
.epf 30,03Kb
23.10.19
2
.epf 30,03Kb 2 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. XSlava 142 23.10.19 08:03 Сейчас в теме
Скажите пожалуйста, а какие задачи вы решаете данным преобразованием? Сделали преобразование, а дальше?
4. mwoleg 44 24.10.19 22:50 Сейчас в теме
(1) Цель - передать иерархический массив данных в стороннюю информационную систему (например web-сайт/портал)
2. magvay_k 61 23.10.19 09:42 Сейчас в теме
Может использовать "СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ДеревоЗначений)"
litonchik; A_Max; +2 Ответить
3. XSlava 142 23.10.19 12:41 Сейчас в теме
(2)Можно на руках ходить, но многие люди ходят на ногах.
5. mwoleg 44 25.10.19 23:02 Сейчас в теме
(2)
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ДеревоЗначений)


Такой вариант идеален!

Но только в таких случаях, когда принимающая сторона:
1) Тоже 1С:ИБ
2) В составе конфигурации имеет те же объекты (Справочники, Перечисления и т.д.) передаваемые по JSON

Либо принимающая сторона готова обрабатывать такой формат:
Скрытый текст

ОДНАКО, когда принимающая сторона предъявляет требования и другие варианты обсуждению не подлежит ..... тогда только предложенный мной вариант в обработке ;)
6. serg-lom89 53 27.11.19 11:01 Сейчас в теме
могли бы к этому приложить конфигурацию хотя бы небольшую что бы был пример ?
Оставьте свое сообщение

См. также

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    44238    155    ekaruk    31    

Полезные процедуры и функции для программиста

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

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

1 стартмани

07.10.2019    24900    13    HostHost    40    

Документы и Справочники в JSON

Обмен через XML v8 1cv8.cf Абонемент ($m)

Пример выгрузки всех данных Документа или Справочника в JSON

1 стартмани

20.06.2019    9758    12    darkmessiahan    15    

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11

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

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    7748    18    SanchoD    29    

Работа с графической схемой в объектной модели DOM

Универсальные функции v8 v8::УФ Абонемент ($m)

Пример кода для работы с графической схемой в объектной модели DOM, платформа 8.3.12.

1 стартмани

04.06.2019    7193    5    botokash    19    

XDTO для чайников

Обмен через XML v8 1cv8.cf Абонемент ($m)

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

1 стартмани

29.05.2019    22424    20    HAMMER_59    38    

Программное формирование картинки в 1С:Предприятие 8.3.9 (ПотокВПамяти / ЗаписьДанных)

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

В статье представлен код программного формирования картинки (двоичные данные) без всяких внешних компонент, без формирования строки Base64, используя лишь встроенные механизмы 1С предприятие 8.3.9 (объекты ПотокВПамяти и ЗаписьДанных). Сам по себе код формирования картинки не несёт ничего нового. Всё описано в википедии. Захотелось попробовать новые методы, но никак не доходитили руки. В приложении обработка практически с этим же кодом.

1 стартмани

16.05.2019    7995    5    yku    7    

Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)

Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #1. Установка произвольных фильтров на выгружаемые объекты при помощи механизма системы компоновки данных #2. Сохранение различных вариантов настроек (сохраняются правила обмена, фильтры выгрузки, параметры, настройки обработки) - что позволяет гибко настроить в базе-источнике фильтры для выгрузки объектов по различным правилам обмена для различных баз-приемников, сохранить выполненные настройки и в будущем уже пользоваться этими вариантами настроек. Проверялась на 1С:ERP Управление предприятием 2.4.7.141.

1 стартмани

29.04.2019    11605    215    sapervodichka    20    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.04.2019    27236    32    riposte    63    

Перенос данных с использованием XDTO

Обмен через XML v8 Россия Абонемент ($m)

Использование объекта типа "ОбъектXDTO" для переноса данных из одной конфигурации в другую

1 стартмани

21.04.2019    8973    9    axae    10    

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

Печатные формы документов Универсальные функции Email v8 КА1 БП2.0 УТ10 УПП1 Абонемент ($m)

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    20346    13    stvorl    0    

Выгрузка и загрузка данных XML с гибкими отборами

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

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

1 стартмани

07.04.2019    13748    347    sapervodichka    7    

1С: Розница/УТ 10.3. ЕГАИС, загрузка акцизных марок в справочник Штрихкоды и Упаковки, регистр Акцизные марки из XML-сообщений входящих ТТН ЕГАИС + Печать акцизных марок

Розничная торговля Обработка справочников Обмен через XML Ценники Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Пакетная загрузка/обновление списка акцизных марок ЕГАИС из входящих ТТН ЕГАИС. Для 1С Розница 2.2.9.ХХХ/2.2.10.ХХХ//2.2.11.ХХХ/2.2.12.ХХХ/Управление торговлей 10.3.49.ХХХХ и выше с возможностью печати

1 стартмани

31.01.2019    15344    126    independ    107    

Ручная выгрузка и загрузка данных через универсальный обмен данными с настройками (расширение, платформа 8.3+)

Обработка документов Обработка справочников Обмен через XML Перенос данных из 1C8 в 1C8 v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Данное расширение (не требует изменения конфигураций) служит как надстройка для конфигураций, у которых обмен между базами происходит через универсальный формат (EnterpriseData), с использованием стандартных правил конвертации, которые уже есть в конфигурации. Интерфейс адаптирован для простых пользователей, сделан общий отбор по Организации для всех документов, имеется пару настроек для передачи в параметры конвертации, которые расположены в общем модуле конфигураций, а так же есть возможность выбора запуска - в фоне или в текущем сеансе. Теперь не нужно настраивать обмен между базами, для того чтоб просто перенести нужные документы. Подходит точно для УТ 11.4, БП 3.0.67, КА 2.4.5, Розница 2.2.9 (Обновление 1.2 от 02.03.2019)

2 стартмани

19.01.2019    17753    116    hakerxp    10    

Выгрузка - загрузка данных в XML с отбором по организации Промо

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

Выгрузка - загрузка данных в XML с отбором по организации (УФ)

1 стартмани

25.05.2014    44390    297    buganov    42    

Использование подсистемы БСП "Заполнение объектов"

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

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    22489    12    ids79    23    

SOAP для чайников

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Немножко про SOAP сервис. И пример работы с подключением и получением данных по SOAP за 5 минут.

1 стартмани

05.09.2018    37832    34    dusha0020    18    

Пропорциональное распределение в запросе

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

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

1 стартмани

28.06.2018    10944    1    invertex    7    

Правила конвертации документов ЗУП 2.5 - ЗУП 3.1 Промо

Обмен через XML Зарплата Перенос данных из 1C8 в 1C8 Зарплата v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Абонемент ($m)

Правила конвертации документов ЗУП 2.5 - ЗУП 3.1. Позволяют вести параллельную работу в базах ЗУП редакций 2,5 и 3.1.

10 стартмани

06.03.2018    35100    151    kostya_whiskas    24    

Правила переноса документов из ЗУП 2.5 в ЗУП 3.1

Обмен через XML Перенос данных из 1C8 в 1C8 Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Абонемент ($m)

Перенос документов, справочников и планов видов расчета из конфигурации 1С ЗУП 2.5 в ЗУП 3.1.

3 стартмани

28.03.2018    25920    408    Cobranet123    64    

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

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

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

1 стартмани

26.02.2018    34237    13    Kutuzov    18    

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    41179    52    sandybaev    23    

Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3 Промо

Перенос данных из 1С7.7 в 1C8.X Обмен через XML v7.7 v8 1cv7.md Россия Абонемент ($m)

Воспользоваться современным средством переноса данных "Конвертация данных 3.0.5.3" можно только выгрузив из системы - источника данных XML в формате обмена данными EnterpriseData. В этой публикации можно скачать приемы выгрузки из 1С 7.7 универсального формата обмена для Конвертации данных 3. Выполняем перенос данных из «1С:Предприятие 7.7» в «1С:Предприятие 8.3». Используем Конвертацию данных КД 3.0 из 1c 7.7 --> 1С 8.3. На первой стадии еще не опубликовано иного способа подложить файл для Конвертации данных 3 кроме как сформировать его вручную, постараемся решить данную проблему.

1 стартмани

26.02.2018    34923    49    ksnik    3    

Правила переноса документов из ЗУП 2.5 в ЗУП 3.1

Перенос данных из 1C8 в 1C8 Обмен через XML Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Перенос документов из ЗУП 2.5 в ЗУП 3.1 - позволяет снизить объем работ при опытной эксплуатации ЗУП 3.1 параллельно с ЗУП 2.5.

1 стартмани

04.12.2017    30216    494    AntonH851    38    

Механизмы и транспорт обмена данными. Пример создания в КД 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    30018    5    RailMen    5    

Размеры управляемой формы

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

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

1 стартмани

08.10.2017    24697    69    json    9    

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

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

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

1 стартмани

29.12.2017    34735    27    agent00mouse    0    

Правила обмена ЗУП 3.1 - БП 2.0 и ЗУП 3.1 - УПП 1.3 (отражение, ведомости и справочники)

Перенос данных из 1C8 в 1C8 Обмен через XML Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::БУ v8::СПР БП2.0 БП3.0 ЗУП3.x Россия БУ Абонемент ($m)

Правила обмена для выгрузки документов "Отражение зарплаты в бухучете", "Ведомость в банк", "Ведомость в кассу", справочников "Сотрудники" и "Физические лица"

1 стартмани

01.08.2017    72426    1534    forseil    205    

«Горыныч - то НЕ НАСТОЯЩИЙ!» … или О Конвертации Данных ред.3 (КД 3) и обменах в универсальном формате Enterprise Data… доступным русско-народным языком

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

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

1 стартмани

13.06.2017    19324    139    Davlad_A    16    

"Конвертация данных" + Git. Решение проблемы различий в файлах

Инструментарий разработчика Обмен через XML v8 КД Абонемент ($m)

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

1 стартмани

08.06.2017    22479    39    stas_ganiev    13    

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

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

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

26.05.2017    46093    15    DarkAn    86    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

Инструментарий разработчика Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    22918    164    Bassgood    10    

XMPP(jabber) на чистом 1С

Обмен через XML v8 1cv8.cf Абонемент ($m)

На сайте infostart, есть несколько реализаций работы 1С с протоколом XMPP (jabber), но в основном они на использование сторонних библиотек (нативных), которые надо регистрировать в операционке (и только в винде), или на основе других систем - php, python и т.п. Предлагаю пример реализации отправки сообщения через этот протокол только средствами 1С.

1 стартмани

26.12.2016    14649    14    kodnik    10    

Загрузка XML в дерево значений

Обмен через XML v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.11.2016    22642    46    starik-2005    24    

Обмен данными онлайн через Веб-сервис с использованием обработки "Универсальный обмен данными XML"

Обмен через XML v8 1cv8.cf Абонемент ($m)

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

2 стартмани

28.10.2016    39687    229    linkov    47    

Отладка/доработка модуля менеджера "на лету"

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

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

1 стартмани

23.10.2016    27649    18    json    22    

Использование SoapUi для работы с веб-сервисами. Часть 2

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

Сложные примеры работы с xml в веб-сервисах 1С.

1 стартмани

04.10.2016    19934    17    kiv1c    6    

Лучшие методы сравнения таблиц значений Промо

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

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

1 стартмани

02.02.2015    101178    37    ildarovich    59    

Использование SoapUi для работы с веб-сервисами. Часть1

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

Как работать с SoapUi для тестирования веб-сервисов .

1 стартмани

30.09.2016    117211    35    kiv1c    29    

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы

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

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

1 стартмани

13.09.2016    35016    46    pavley2002    11    

7 правил RFC 4180

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

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    16625    20    kuzyara    4    

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора. Промо

Обработка документов Универсальные обработки Обмен через XML v8 Абонемент ($m)

Редактор набора записей движений документа. Позволяет сохранить набор записей в XML, в настройки пользователя, прочитать сохраненный XML в другой идентичной базе, заменить регистратор. Можно изменять порядок записей, менять активность, как массово, так и по одной и др. Тонкий клиент, управляемые формы.

1 стартмани

07.09.2016    37862    153    Aphanas    4    

Генерация кода 1С:8 для создания XML файла

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

Внешняя обработка для генерации кода 1С:8, создающего XML файл.

1 стартмани

22.02.2016    10686    71    ily.fomin    5    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API)

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

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    43654    166    TuneSoft    26    

Автоматическая генерация Web-интерфейса с использованием http-сервисов

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

Пример автоматической генерации Web-интерфейса с использованием http-сервисов.

1 стартмани

03.01.2016    17481    74    BurningChrome    19    

Загрузка файлов грузовых таможенных деклараций из файлов ФТС формата xml (Альта софт, Сигма софт, Декларант +) Промо

Внешнеэкономическая деятельность (ВЭД) Обмен через XML Внешнеэкономическая деятельность (ВЭД) v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:" если что. Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные)

5 стартмани

09.08.2016    42221    171    capitan    283    

1С:Интеграция ЕГАИС + Инвентаризация на ТСД

Обработка справочников Обмен через XML Оптовая торговля Оптовая торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Интеграция ЕГАИС модуля для 1С: 8.3 + модуль WMS контура для инвентаризации алкогольных марок на ТСД.

1 стартмани

10.12.2015    34098    27    JetBrain    5    

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

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

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    18698    0    SeiOkami    3    

Разбор XML Документа с помощью XDTO, без использования XDTO-пакетов и XML-схем (для очень ленивых)

Обмен через XML v8 1cv8.cf Абонемент ($m)

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

1 стартмани

14.11.2015    20873    39    TESL    8    

Механизм контроля заполнения реквизитов

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

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

1 стартмани

25.10.2015    12424    28    yur4ik9408    9