Версия для печати темы (https://pro1c.org.ua/index.php?s=27f6d2d94db71cf93995a8caaec1f623&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 килобайт ) : 40

Автор: 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 килобайт ) : 6


Скриншоты







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 килобайт ) : 4

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

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

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

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


Если вам нужно извлекать данные из 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 килобайт ) : 5

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

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

 Konsol_sravneniya_dannyh_iz_raznyh_istochnikov_15.0.46.zip ( 135.21 килобайт ) : 16

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

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

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