Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сравнение данных из разных источников (1С 8, SQL, CSV/TXT/DBF/XLS/XML, табличный документ)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Хранилище: скачать бесплатно отчеты, обработки, конфигурации, программы, внешние компоненты, литературу > 1С: Предприятие 8 > Отчеты / Обработки
sertak
Обработка Консоль сравнения данных (КСД) предназначена для сравнения данных из следующих источников:

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

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

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

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

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

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

Ссылка на обработку: Нажмите для просмотра прикрепленного файла

Скриншоты







RedCat77 @ Сегодня, 11:41 необходимо зарегистрироваться для просмотра ссылки ,
Проверьте версию в свойстве конфигурации Режим совместимости, должна быть не ниже 8.3.6.1977: необходимо зарегистрироваться для просмотра ссылки.
sertak
необходимо зарегистрироваться для просмотра ссылки
sertak
Версия 12.2.41
доработаны пиктограммы активных реляционных операций;
добавлена команда скачивания последней версии обработки с сайта автора;
для источника типа Таблица номер первой строки нужно указывать в соответствующем реквизите;
исправлена ошибка, из-за которой не контролировалось заполнение некоторых реквизитов для источников типа Таблица.
Нажмите для просмотра прикрепленного файла
sertak
Версия 12.2.42:
исправлена ошибка, из-за которой в запросе к внешней базе 1С 8 колонку нельзя было назвать Количество;
на интерфейсе формы команды перехода к web-страницам сгруппированы в подменю Поддержка.
Нажмите для просмотра прикрепленного файла
sertak
Версия 13.0.43
реализовано получение данных из файловых информационных баз 1С 7.7 через простые запросы.
Нажмите для просмотра прикрепленного файла

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

Нажмите для просмотра прикрепленного файла
sertak
Версия 15.0.46.2:
На Инфостарте попросили доработать для платформы 8.2. Решил выложить сюда тоже. Тестировал на версии платформы 8.2.19.130.
Нажмите для просмотра прикрепленного файла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.