Использование com-соединения для сопоставления номенклатуры, контрагентов

26.06.24

Задачи пользователя - Анализ учета

Com-подключение для сравнения номенклатуры, контрагентов, остатков.

Всем привет! 

В статье не будет обсуждений конструкций вида ЗапросCOM = COM.NewObject("Запрос")
и получать типы объектов тоже не будем.

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

Суть в двух словах. 

В одной базе (База-1) в общем модуле будут созданы функции, возвращающие таблицу значений названий номенклатуры, контрагентов или остатков и других значений примитивных типов.

В другой базе (База-2) мы создадим ком-подключение к Базе-1, будем получать из Базы-1 таблицу значений названий номенклатуры, контрагентов, остатков. Далее в Базе-2 создадим пользовательскую форму для сопоставления названий номенклатур, контрагентов, остатков. Отдадим на откуп сопоставление номенклатуры, контрагентов, остатков пользователям. 

Уточнения:

1) в Базе-2 не надо использовать ком-объект NewObject("Запрос") - с запросами мы работаем исключительно в Базе-1, конструируем их, выполняем.

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

Так как в запросе мы не можем получить УИДы (на момент написания статьи 6 мая 2020г), то потребуется пройтись в цикле по выборке, чтобы определить по каждой ссылке соответствующий УИД в возвращаемой ТаблицеЗначений. 

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

Примеры возникновения подобных задач:

1) Есть база Источник (например, КА) и есть база Приемник (некая база адресного хранения товаров). Номенклатура переходит из базы Источника в базу Приемник с помощью заданного плана обмена, товары сопоставляются между базами по уникальному идентификатору УИД. Одной из задач в таком случае становится сопоставить остатки товаров в базах.

2) Есть две независимые базы БП и УТ, учет ведется параллельно, обмен между базами не настроен.

Но в какой-то момент становится необходимым настроить обмен между базами. И тогда для первоначальной настройки обмена требуется сопоставить номенклатуру и контрагентов. Номенклатуру будем сопоставлять по названию и ряду дополнительных признаков (помечен на удаление, это группа, это услуга - это из стандартных признаков). Контрагентов будем сопоставлять по названию, ИНН и КПП, плюс по стандартным признакам. 

3) Есть несколько баз УТ, и надо объединить базы в одну базу. Если базы находятся в одной локальной сети, то для первоначального сопоставления номенклатуры и контрагентов можно использовать прямое подключение по com-технологии (см. рис.).

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

Технология использования:

За ком-интерфейс отвечает компонента dll - comcntr.dll (переводится как "управление ком"), которая расположена в установочной папке 1с (см. рис.). Именно эту компоненту вам надо зарегистрировать в опер. системе самостоятельно, если этого не сделала платформа 1с при первоначальной установке. Помните о лицензии +1 при соединении.

В Базе-1 придется создать общий модуль, задать ему свойство "внешнее соединение" (рис. ниже).

В общем модуле Базы-1 функции условно можно разделить на две категории:

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

Смотрите разделение функций на рис. ниже.

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

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

Далее будут представлены алгоритмы создания ТаблицыЗначений в Базе-1 (Листинг 1) и алгоритмы обхода ТаблицыЗначений в Базе-2 (Листинг 2).

 
 Листинг 1. Алгоритм создания ТаблицыЗначений для передачи в другую базу данных

 

//////////////////////////////////////////////////
//Работа с этой базой данных

//получаем таблицу Наименование, УИД, Код
Функция ПолучитьТаблицуТоваров() Экспорт
	
ТЗ = Новый ТаблицаЗначений;	
	ТЗ.Колонки.Добавить("Наименование");    //основная информация
	ТЗ.Колонки.Добавить("УИД");             //вспомогательная информация 
	ТЗ.Колонки.Добавить("Код");             //вспомогательная информация
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	Номенклатура.Ссылка КАК Ссылка,
	|	Номенклатура.Наименование,
	|	Номенклатура.Код
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	Номенклатура.ПометкаУдаления = ЛОЖЬ
	|	И Номенклатура.ЭтоГруппа = ЛОЖЬ
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка
	|АВТОУПОРЯДОЧИВАНИЕ";
	
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();
	
	Пока Выборка.Следующий() Цикл
		
		Стр = ТЗ.Добавить();
		Стр.Наименование = СокрЛП(Выборка.Наименование);
		Стр.УИД = Строка(Выборка.Ссылка.УникальныйИдентификатор());
		Стр.Код = СокрЛП(Выборка.Код);

	КонецЦикла;
	
	Возврат ТЗ;
	
КонецФункции

//получаем таблицу Склад, Номенклатура, Количество
Функция ПолучитьТаблицуОстатковТоваров() Экспорт
	
	ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("Склад");
	ТЗ.Колонки.Добавить("Номенклатура");
	ТЗ.Колонки.Добавить("Количество"); 
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	ТоварыНаСкладахОстатки.Склад КАК Склад,
	|	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	|	ТоварыНаСкладахОстатки.КоличествоОстаток
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
	|
	|УПОРЯДОЧИТЬ ПО
	|	Склад,
	|	Номенклатура
	|АВТОУПОРЯДОЧИВАНИЕ";
	
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();
	
	Пока Выборка.Следующий() Цикл
		
		Стр = ТЗ.Добавить();
		Стр.Склад = СокрЛП(Выборка.Склад);
		Стр.Номенклатура = СокрЛП(Выборка.Номенклатура);
		Стр.Количество = Выборка.КоличествоОстаток;
		
	КонецЦикла;
	
	Возврат ТЗ;
	
КонецФункции

//получаем остатки по всем складам одного товара
Функция ПолучитьОстаткиПоТовару(Наименование) Экспорт
	
	ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("Склад");
	ТЗ.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число")); 

	//Справочники.Номенклатура.НайтиПоНаименованию(Наименование,Истина);
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	Номенклатура.Ссылка
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	Номенклатура.ПометкаУдаления = ЛОЖЬ
	|	И Номенклатура.ЭтоГруппа = ЛОЖЬ
	|	И Номенклатура.Наименование = &Наименование";
	
	Запрос.УстановитьПараметр("Наименование", Наименование);
	
	Результат = Запрос.Выполнить();
	Если Результат.Пустой() Тогда
		Возврат ТЗ;
	КонецЕсли;
	
	Выборка = Результат.Выбрать();
	Если Выборка.Количество() > 1 Тогда
		
		Стр = ТЗ.Добавить();
		Стр.Склад = "Проблема: найдено несколько товаров с таким наименованием";
		Стр.Количество = 0;

		Возврат ТЗ;
		
	КонецЕсли;
	
	Номенклатура = Неопределено;
	Если Выборка.Следующий() Тогда    		
		Номенклатура = Выборка.Ссылка;	
	КонецЕсли;
	
	Если НЕ ЗначениеЗаполнено(Номенклатура) Тогда
		Возврат ТЗ;
	КонецЕсли;
	
	ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("Склад");
	ТЗ.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число")); 
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	ТоварыНаСкладахОстатки.Склад КАК Склад,
	|	ТоварыНаСкладахОстатки.КоличествоОстаток
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
	|
	|УПОРЯДОЧИТЬ ПО
	|	Склад
	|АВТОУПОРЯДОЧИВАНИЕ";

	Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
	
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();
	
	Пока Выборка.Следующий() Цикл
		
		Стр = ТЗ.Добавить();
		Стр.Склад = СокрЛП(Выборка.Склад);
		Стр.Количество = Выборка.КоличествоОстаток;
		
	КонецЦикла;
	
	Возврат ТЗ;
	
КонецФункции

//получаем УИД товара
Функция ПолучитьИдентификаторТовара() Экспорт
КонецФункции

 

 
 Листинг 2. Алгоритм обхода ТаблицыЗначений, полученной из другой базы данных
//ОстаткиТоваровВДругихБазах - это ТаблицаЗначений с полями Склад (Строка), Количество (Число)
Процедура ПоказатьОстаткиТоваровВДругихБазах(ОстаткиТоваровВДругихБазах, Номенклатура) Экспорт
	
	Попытка
		
		УстановитьПривилегированныйРежим(Истина);
		
		ОстаткиТоваровВДругихБазах.Очистить(); //это таблица значений на форме
		
		Если НЕ ЗначениеЗаполнено(Номенклатура) Или Номенклатура.ЭтоГруппа Или Номенклатура.ПометкаУдаления Тогда
			Возврат;
		КонецЕсли;
		
		//1. получим остатки по базе-1
		Если КомСоединениеКБазе1 = Неопределено Тогда
			ОбъединениеБаз.ПолучитьКомСоединениеКБазе1(); //вызов общего модуля и экспортной функции
		КонецЕсли;
		
		ТЗ_База1 = КомСоединениеКБазе1.ОбъединениеБаз.ПолучитьОстаткиПоТовару(Номенклатура.Наименование);
		
		Для Каждого Стр из ТЗ_База1 Цикл
			
			НоваяСтрока = ОстаткиТоваровВДругихБазах.Добавить();
			НоваяСтрока.Склад = "База 1 " + Стр.Склад;
			НоваяСтрока.Количество = Стр.Количество;
			
		КонецЦикла;
		
		//2. получим остатки по базе-2
		Если КомСоединениеКБазе2 = Неопределено Тогда 
			ОбъединениеБаз.ПолучитьКомСоединениеКБазе2(); //вызов общего модуля и экспортной функции
		КонецЕсли;
		ТЗ_База2 = КомСоединениеКБазе2.ОбъединениеБаз.ПолучитьОстаткиПоТовару(Номенклатура.Наименование);
		
		Для Каждого Стр из ТЗ_База2 Цикл
			
			НоваяСтрока = ОстаткиТоваровВДругихБазах.Добавить();
			НоваяСтрока.Склад = "База 2 " + Стр.Склад;
			НоваяСтрока.Количество = Стр.Количество;
			
		КонецЦикла;  
		
		УстановитьПривилегированныйРежим(Ложь);
		
	Исключение
	КонецПопытки;
	
КонецПроцедуры

 

В листинге 2 представлены функции: подключение к базе по ком-соединению, получение остатков из базы. Помним, что мы получаем по ком-соединению ком-таблицу - то есть это не просто таблица значений, а некий объект ком-подключения, напоминающий таблицу значений. Примитивные типы данных передаются через ком-таблицу стандартно, остальные типы значений не переносятся. После получения ком-таблицы для работы с ее данными требуется создать свою ТаблицуЗначений с полями предопределенных типов значений - см. Листинг 3 - это пример из обработки Сравнение остатков по регистрам накопления.

 
 Листинг 3. Получение своей таблицы значений

 

Функция ПолучитьТЗ(ИмяРегистра, ТЗ_КомОбъект) Экспорт
	
	ТЗ = Новый ТаблицаЗначений; 
	
	РегистрНакопления = Метаданные.РегистрыНакопления[СокрЛП(ИмяРегистра)];
	Для Каждого Измерение Из РегистрНакопления.Измерения Цикл
		ТЗ.Колонки.Добавить(Измерение.Имя, Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(200)));
	КонецЦикла;
	
	Для Каждого Ресурс Из РегистрНакопления.Ресурсы Цикл
		ТЗ.Колонки.Добавить(Ресурс.Имя + "Остаток", Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(200)));
	КонецЦикла;
	
	Для Каждого Стр из ТЗ_КомОбъект Цикл
		
		НоваяСтрока = ТЗ.Добавить();
	
		Для Каждого Измерение Из РегистрНакопления.Измерения Цикл  			
			НоваяСтрока[Измерение.Имя] = СокрЛП(Стр[Измерение.Имя]);			
		КонецЦикла;
		
		Для Каждого Ресурс Из РегистрНакопления.Ресурсы Цикл
			НоваяСтрока[Ресурс.Имя + "Остаток"] = СокрЛП(Стр[Ресурс.Имя + "Остаток"]);
		КонецЦикла; 	
		
	КонецЦикла;
	
	Возврат ТЗ;
	
КонецФункции

 

 

Работа с ком-подключением задается только пользователю с определенной ролью (захватывается одна лицензия платформы 1с) - в моем случае, я создал роль "КомКоннектор", вы можете использовать одну из предопределенных типовых ролей.

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

При работе с ком-подключением используйте конструкцию Попытка Исключение КонецПопытки.

Принцип использования ком-подключения:

  1. управлять из одной базы-2 объектами другой базы-1 не нужно.
  2. нам не нужно даже передавать в другую базу-1 какую-либо информацию.
  3. нам нужно в базе-2 только получить таблицу из базы-1, которую мы проанализируем в базе-2.

Собственно, это все. Всем добра! :)

С пользой для клиентов, Рустем

 
 См. также
  1. Анализ прав и ролей. Поиск подходящего профиля - алгоритмический анализ и поиск
  2. Оцифровка и визуализация склада - программная прорисовка склада
  3. Удаление документов для любых баз на управляемых формах
  4. Удаление справочников для любых баз на управляемых и обычных формах
  5. Перенумерация документов и справочников - с учетом префиксов номеров
  6. Свертка базы УТ 10.3 подокументно - новая концепция 
  7. Матричное программирование - демо-стенд матричного калькулятора
  8. Справочное хранение товаров в КА 2.5 - кейс запуска адресного склада
  9. Мини-обзор разных задач - от очевидного до неочевидного
  10. Поиск отчета по документам - пример анализа незнакомых конфигураций
  11. Флажок в динамическом списке - от теории до практики "как бы простой" задачи
  12. Из Json в ДеревоЗначений - удобный просмотрщик json-структуры
  13. Внедрение адресного склада в КА 2.5 - кейс запуска адресного склада
  14. Фрилансеру: про цены, про клиентов, про планирование - мое исследование
  15. Что такое форматированный документ - прекрасная возможность раскрасить любой текст
  16. Программная работа с упаковками в КА 2.5 - примеры адаптаций механизмов упаковок в КА 2.5
  17. Универсальное сравнение регистров накопления - связь по измерениям, сравнение по ресурсам
  18. Обход объекта рекурсивно - просмотр реквизитов документа с бесконечным открытием подуровней

 

См. также

Анализ учета Закрытие периода Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Налог на прибыль НДС Платные (руб)

Каждый бухгалтер не раз сталкивался с требованием от налоговой инспекции пояснить расхождения в показателях декларации по Налогу на прибыль («Доходы от реализации» + «Внереализационные доходы») и налоговой базой по НДС за год. Являются ли ошибкой подобные расхождения? Как пояснить налоговой их причину? Отчет «Анализ расхождений выручки НДС и Налога на прибыль в декларациях» для 1С (БП 3.0 ПРОФ и КОРП, КА 2, ЕRP) поможет найти все расхождения.

7200 руб.

21.10.2017    87894    320    172    

288

Анализ учета Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Расширение автоматически анализирует управленческий учёт 1С:УНФ, помогает находить и исправлять ошибки, а также проверять те места, которые хорошо бы проверить. Разработка для тех, кто хочет построить управленческий финансовый учет в УНФ.

12000 руб.

28.07.2022    9570    9    25    

27

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Анализ учета Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

19200 руб.

27.10.2017    42370    25    13    

43

Анализ учета Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Платные (руб)

Обработка позволяет сравнивать количественные остатки номенклатуры между Бухгалтерия 3.0 и УТ 11.5

3600 руб.

06.02.2023    4703    15    3    

17

Взаиморасчеты Анализ учета Бухгалтер Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка позволяет сравнивать по документам и сверять по долгам покупателей и поставщиков между базами УНФ 1.6, УНФ 3.0 и Бухгалтерия 3.0,

6000 руб.

24.08.2022    6764    7    1    

10

Рабочее место Загрузка и выгрузка в Excel Анализ учета Бизнес-аналитик Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

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

2500 руб.

28.08.2020    22571    26    50    

45

Анализ учета Анализ продаж Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

ABC-анализ — метод, позволяющий классифицировать ресурсы фирмы по степени их важности. Отличный отчет для анализа выручки и продаж! Может применяться в сфере деятельности любого предприятия. В его основе лежит принцип Парето — 20% усилий обеспечивают 80% результата.

6000 руб.

26.06.2022    12281    17    6    

22
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Nikola23 705 07.05.20 09:11 Сейчас в теме
ОМГ! COM соединение в 2020 году. Я не говорю, что технология плохая, но неужели вас утраивает скорость?
А если соединение зависнет намертво?

http сервисы - вот что я выбираю.
3. RustIG 1747 07.05.20 09:29 Сейчас в теме
(1) скорость в представленных задачах - быстрая - неуловимая я бы сказал - один раз получаем таблицу с данными, далее можно сразу отключать Ком-соединение (сделать равным Неопределено). Далее работа с данными происходит внутри одной базы - сравниваем элементы.
По сравнению с http-запросами - время на развертывание минимально.
Я предлагаю использовать ком-подключение только для разовых операций - НЕ ДЛЯ ОБРАБОТКИ данных онлайн, НЕ ДЛЯ ПЕРИОДИЧЕСКИХ ОБМЕНОВ.
Тут задачи узкоспециализированные, которые встречаются или раз в жизни компании, или за редким исключением сверить остатки.
Но соглашусь с тем, что если надо периодически сравнивать остатки для баз (как в моем примере №1), тогда надо продумывать http-запросы. В этом случае базы можно разнести по разным локальным сетям, по разным серверам. По поводу скорости нет статистики. Зато информации на Инфостарт много.
7. Nikola23 705 07.05.20 13:14 Сейчас в теме
(3) Сравниваете построчно?
А если таблица остатков 100000 строки и вторая таблица такая же?

Вы ищите конкретное расхождение или только факт, что все ок/не ок?
8. RustIG 1747 07.05.20 14:50 Сейчас в теме
(7) листинг кода есть в публикации.
не понял, что значит построчно и не построчно сравнивать?
конечно, есть разница когда 100 тыс или 40 тыс позиций в таблице - ждать приходится разное
кол-во секунд.
Плюс логику надо закладывать - к примеру в обороте за последний год может быть 10 тыс. позиций, а в таблице номенклатуры за все годы работы накопилось 70 тыс.Тогда и сравнивать надо только 10 тыс. Это отсекается алгоритмами.
По ситуации надо решать задачи - я во всех своих публикациях придерживаюсь этой мысли - универсально тут нельзя рассуждать. Согласен, что если не приемлемо долго происходит сравнение названий, то надо придумывать дополнительные механизмы - к примеру, сохранение и восстановление значений таблиц - использовать типовые стандартные механизмы формы, чтобы при повторном открытии форм снова и снова не запускать сравнение.
ДА и к тому, это сравнение всегда "на убывание" - пользователь всегда должен корректировать расхождения и уменьшать их количество, а не накапливать их.
9. RustIG 1747 07.05.20 14:56 Сейчас в теме
(7) развернуть механизм ком-сравнения занимает 5 минут. копируете один листинг в одну базу в общий модуль, второй листинг во внешнюю обработку в модуль формы, накидываете кнопки и тестируете подключение и сравнение номенклатуры, контрагентов, кол-во.
Я аккумулировал небольшой свой опыт работы на трех разных проектах, о которых описал, плюс четвертый опыт использовал мой коллега для предварительной подготовки баз БП 3.0 и УТ 11 перед настройкой обмена УТ-БП.

Я считаю это удачное решение - я вижу развитие этого механизма - хотел бы увидеть - в использовании расширений - тогда не придется снимать с поддержки конфигруацию. В типовых конфигурациях очень много общих модулей с признаком "Внешнее соединение". Можно ли их расширить, добавив свои процедуры для механизма ком-сравнения?
10. Nikola23 705 07.05.20 15:09 Сейчас в теме
(9) точно так же и с сервисами. Копируете расширение (фреймворк) и работаете.
Платформонезависимо, без глюков.

Так, например, на майских праздниках я решал задачу "выявить и устранить расхождения сс-ти в ERP". Где кто-то взял и испортил все с 17го года.

Вероятно и COM дал бы результат, но за какое время? Тут нельзя взять и после запроса отключиться)

Сотни миллионов строк движений регистров проверялось.
Если раходится, сразу же запрашивались детальные данные и движение восстанавливалось.
11. RustIG 1747 07.05.20 15:11 Сейчас в теме
(10) я хотел бы познать ваши методы , искренне говорю.
12. Nikola23 705 07.05.20 15:39 Сейчас в теме
(11) статья уже готовится) Что бы не пропустить - добавляйтесь в друзья. Инфостарт пришлет уведомление.
2. Nikola23 705 07.05.20 09:12 Сейчас в теме
Плюсую за монетизацию в конце статьи. Как удалось договориться с модератором?)
Если ответ длинный, напишите в личку, пожалуйста.
4. RustIG 1747 07.05.20 09:30 Сейчас в теме
(2) Задал вопрос в техподдержку, получил ответ, что запрещено для получения оплаты за свои обработки, а за донаты не запрещено.
5. dsdred 3593 07.05.20 09:37 Сейчас в теме
Для таких вещей использую OData
Разворачивать не трудно, хоть у себя на локалке опубликовал и пользуйся.
6. RustIG 1747 07.05.20 10:20 Сейчас в теме
(5) да, отличное замечание! были наработки по ком, поделился, дополнением стало то, что при написании статьи систематизировал свои знания.
13. igslepenko 16 25.01.24 11:56 Сейчас в теме
Добрый день, натолкнулся на эту публикацию, очень заинтересовала, но, почему-то, не отображаются листинги, как их посмотреть, ознакомиться с ними?
14. RustIG 1747 26.06.24 16:36 Сейчас в теме
(13)
Добрый день, натолкнулся на эту публикацию, очень заинтересовала, но, почему-то, не отображаются листинги, как их посмотреть, ознакомиться с ними?


обновил - смотрите
Оставьте свое сообщение