Версия для печати темы (https://pro1c.org.ua/index.php?s=1d89e61f8ef33ecd8b7add3bf1541048&showtopic=53372)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Отчеты / Обработки _ Сравнение данных из разных источников (1С 8, SQL, CSV/TXT/DBF/XLS/XML, табличный документ)

Автор: sertak 02.08.19, 10:22

Обработка Консоль сравнения данных (КСД) предназначена для сравнения данных из следующих источников:

- текущая база 1С 8
- внешняя база 1С 8 (через COM)
- внешняя база данных SQL (MS, Postgre и др., для которых есть драйвер)
- файл формата CSV
- файл формата TXT
- файл формата DBF
- файл формата XLS
- файл формата XML
- табличный документ на форме обработки

Данные сравниваются между собой по ключу (от одной до трех колонок), который определяется как первая колонка (первые колонки) запроса для 1С/SQL или в соответствии с настройками для файлов и табличного документа. Результат сравнения можно выгрузить в CSV-файл, в т.ч. программно. Настройки консоли можно сохранять в файл и справочник ВС_ОперацияСравненияДанных (справочник должен содержать один элемент с именем Операция и типом Хранилище значения).

Порядок работы с обработкой КСД:

- Настройка источников А и Б: текст запроса 1С/SQL, параметры (кроме ДатаНачала и ДатаОкончания) для 1С, номера колонок для файлов и табличного документа, при необходимости дополнительной обработки данных перед сравнением для ключей и остальных реквизитов можно указать произвольный код, кроме того, для устранения дубликатов в файлах можно установить флаг "Сворачивать данные по ключу"
- Общие настройки: заполнение параметров ДатаНачала и ДатаОкончания (данные параметры общие для источников А и Б), число столбцов в ключе
- Выбор операции реляционной алгебры (левое соединение, разность и т.д.), которая будет использована для объединения результатов запросов (с помощью кнопок в верхней части формы)
- Настройка фильтрации строк на вкладках Условия вывода строк и/или Условия вывода строк: можно указать, какие условия должны или не должны выполняться для каждой результирующей строки, чтобы она была выведена

Актуальная инструкция всегда доступна во встроенной справке обработки по клавише F1.

Версия 12.1.38:  KonsolSravneniyaDannyhIsRaznyhIstochnikov_12.0.37.zip ( 124,19 килобайт ) : 159

Автор: Vofka 05.08.19, 8:31

Опубликовано.

Автор: RedCat77 12.08.19, 10:41

Платформа 1С:Предприятие 8.3 (8.3.12.1855)
Бухгалтерия для Украины, редакция 2.0. (2.0.17.2)
При проверке синтаксиса модуля формы выдаются ошибки (обработка не открывается):

{ВнешняяОбработка.ВС_КонсольСравненияДанных.Форма.ФормаУправляемая.Форма(422,99)}: Переменная не определена (НаправлениеПоиска)
Объект.Заголовок = Сред(ДиалогВыбора.ПолноеИмяФайла, СтрНайти(ДиалогВыбора.ПолноеИмяФайла, "\", <<?>>НаправлениеПоиска.СКонца) + 1); (Проверка: Тонкий клиент)
{ВнешняяОбработка.ВС_КонсольСравненияДанных.Форма.ФормаУправляемая.Форма(456,61)}: Переменная не определена (НаправлениеПоиска)
ПервыйСимвол = СтрНайти(ДиалогВыбора.ПолноеИмяФайла, "\", <<?>>НаправлениеПоиска.СКонца) + 1; (Проверка: Тонкий клиент)
{ВнешняяОбработка.ВС_КонсольСравненияДанных.Форма.ФормаУправляемая.Форма(457,64)}: Переменная не определена (НаправлениеПоиска)
ПоследнийСимвол = СтрНайти(ДиалогВыбора.ПолноеИмяФайла, ".", <<?>>НаправлениеПоиска.СКонца); (Проверка: Тонкий клиент)
{ВнешняяОбработка.ВС_КонсольСравненияДанных.Форма.ФормаУправляемая.Форма(422,56)}: Процедура или функция с указанным именем не определена (СтрНайти)
Объект.Заголовок = Сред(ДиалогВыбора.ПолноеИмяФайла, <<?>>СтрНайти(ДиалогВыбора.ПолноеИмяФайла, "\", НаправлениеПоиска.СКонца) + 1); (Проверка: Тонкий клиент)
{ВнешняяОбработка.ВС_КонсольСравненияДанных.Форма.ФормаУправляемая.Форма(456,18)}: Процедура или функция с указанным именем не определена (СтрНайти)
ПервыйСимвол = <<?>>СтрНайти(ДиалогВыбора.ПолноеИмяФайла, "\", НаправлениеПоиска.СКонца) + 1; (Проверка: Тонкий клиент)
{ВнешняяОбработка.ВС_КонсольСравненияДанных.Форма.ФормаУправляемая.Форма(457,21)}: Процедура или функция с указанным именем не определена (СтрНайти)
ПоследнийСимвол = <<?>>СтрНайти(ДиалогВыбора.ПолноеИмяФайла, ".", НаправлениеПоиска.СКонца); (Проверка: Тонкий клиент)

Автор: sertak 12.08.19, 12:09

Версия 12.2.39
пересчет значения относительного периода перенесен в модуль объекта, вызывается при изменении реквизитов формы и в процедуре сравнения данных (перед программным вызовом процедуры СравнитьДанныеНаСервере() необходимо либо рассчитать и установить границы периода либо вызвать процедуру ОбновитьДанныеПериода() для автоматического расчета);
перед закрытием выводится запрос на обновление связанного элемента справочника ВС_ОперацииСравненияДанных;
в произвольном коде условий вывода и запрета вывода строк в таблицу расхождений обращение к имени реквизита теперь производится по имени СтрокаТР.<Имя реквизита>;
исправлена ошибка, из-за которой не отрабатывал произвольный код обработки ключа в базах 1С 8.

Ссылка на обработку:  ____________________________________________12.2.39.zip ( 126,36 килобайт ) : 26


Скриншоты







RedCat77 @ Сегодня, 11:41 * ,
Проверьте версию в свойстве конфигурации Режим совместимости, должна быть не ниже 8.3.6.1977: http://pro1c.org.ua/redirect.php?https://v8.1c.ru/o7/201408str/index.htm.

Автор: sertak 13.08.19, 14:55

http://pro1c.org.ua/redirect.php?http://sertakov.by/docs/KSD.pdf

Автор: sertak 19.08.19, 9:28

Версия 12.2.41
доработаны пиктограммы активных реляционных операций;
добавлена команда скачивания последней версии обработки с сайта автора;
для источника типа Таблица номер первой строки нужно указывать в соответствующем реквизите;
исправлена ошибка, из-за которой не контролировалось заполнение некоторых реквизитов для источников типа Таблица.
 KSD_12.2.41.zip ( 126,16 килобайт ) : 15

Автор: sertak 20.08.19, 9:02

Версия 12.2.42:
исправлена ошибка, из-за которой в запросе к внешней базе 1С 8 колонку нельзя было назвать Количество;
на интерфейсе формы команды перехода к web-страницам сгруппированы в подменю Поддержка.
 KSD.zip ( 126,75 килобайт ) : 15

Автор: sertak 21.08.19, 14:20

Версия 13.0.43
реализовано получение данных из файловых информационных баз 1С 7.7 через простые запросы.
 ____________________________________________13.0.43.zip ( 128,32 килобайт ) : 18


Если вам нужно извлекать данные из 1С 7.7 более сложными запросами, пишите в личку, могу доработать, но нужна помощь с 1С 7.7.

Автор: sertak 23.08.19, 14:44

Версия 14.1.45:
реализовано получение данных из файлов формата DOC (Microsoft Word);
реализована возможность указания конкретного номера книги при получении данных из файла формата XLS;
реализована возможность загрузки файлов с клиентского ПК (тем не менее, необходимое для чтения ПО должно быть установлено на сервере, например, Microsoft Office, т.к. обработка файлов производится на сервере);
реализована возможность отключения условий вывода и запрета вывода строк без удаления строк табличной части;
расширен список возможных значений версии платформы 1С 8 (используется для получения ProgID COM-объекта при подключении к внешней базе);
реализован вывод предупреждения, если число колонок в файле XLS меньше указанного в настройках для ключа или реквизитов;
реализован вывод предупреждения, если число колонок в выборке 1С 8 / SQL меньше указанного числа столбцов в ключе;
исправлена ошибка, из-за которой при ключе из трех столбцов и некоторых вариантах обработки ключа колонки могли расположиться в некорректной последовательности.
 KSD_14.1.45.zip ( 134,17 килобайт ) : 18

Автор: sertak 30.08.19, 9:43

Версия 15.0.46:
реализована возможность получения данных из строки JSON;
после открытия операции из справочника или файла таблица расхождений очищается;
доработан интерфейс.

 Konsol_sravneniya_dannyh_iz_raznyh_istochnikov_15.0.46.zip ( 135,21 килобайт ) : 38

Автор: sertak 24.09.19, 7:25

Версия 15.0.46.2:
На Инфостарте попросили доработать для платформы 8.2. Решил выложить сюда тоже. Тестировал на версии платформы 8.2.19.130.
 KSD_15.0.46.2.zip ( 126,29 килобайт ) : 63

Автор: sertak 06.10.21, 9:48

Версия 15.9.63:
на форму добавлена кнопка для тестирования подключения к внешним базам 1С 8 и базам данных SQL;
в диагностических сообщениях выводится информация о числе записей, полученных из каждого источника данных, а также текущая дата;
реализована возможность расчета итогов реквизитов таблицы расхождений (агрегатные функции Сумма, Среднее, Максимум, Минимум, Количество);
реализована возможность указания заголовков реквизитов таблицы расхождений для пользователя для баз 1С 8 и SQL (если не задан, то заголовок берется, как и ранее, из псевдонима колонки в запросе);
реализована возможность сортировки таблицы расхождений;
реализована возможность скрытия на форме и при выгрузке в файл столбцов таблицы расхождений, содержащих ключи и число записей;
в таблицу расхождений выведена стандартная колонка Номер строки;
при выгрузке таблицы расхождений в файл реквизиты, скрытые на форме, не выгружаются;
указанные заголовки реквизитов таблицы расхождений передаются в заголовки столбцов выгружаемого файла расхождений;
реализована возможность указания заголовков реквизитов таблицы расхождений для пользователя (кроме 1С 7.7);
реализована возможность сохранения/загрузки табличных документов в файл/из файла настроек или в элемент/из элемента справочника ВС_ОперацииСравненияДанных для источников данных типа Таблица;
доработан интерфейс для более компактного размещения кнопок сохранения/загрузки настроек;
доработан механизм расчета оптимальной ширины полей при выгрузке результата сравнения в файл;
добавлена возможность предварительно просмотра данных для каждого источника данных в режимах Все строки, 100 строк, 1000 строк, Дубликаты;
в строках с ключами, для которых обнаружены дубликаты, значения реквизитов больше не выводятся в таблице расхождений;
реализована возможность выгрузки файла расхождений в форматах CSV, DOCX, HTML, MXL, ODS, PDF, TXT, XLS, XLSX;
добавлено индексирование сравниваемых таблиц значений.

 KSD_15.9.63.rar ( 290,81 килобайт ) : 79
 

Автор: Жаннур 18.10.22, 9:32

sertak, какой пароль архива?

Автор: Leo2014 01.05.23, 14:16

Жаннур @ 18.10.22, 10:32 * ,
пароль добыли?

Автор: andr_andrey 02.05.23, 10:31

Leo2014 @ Вчера, 15:16 * ,
Все вказано у правилах.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua