Сравнение данных из разных источников (1С 8, SQL, CSV/TXT/DBF/XLS/XML, табличный документ)
Обработки - Универсальные обработки
сравнение данных 1С 8 SQL SQL Server PostgreSQL сопоставление разные конфигурации CSV TXT DBF XLS XML разные базы сравнение баз сравнение документов сравнение справочников сравнение объектов сравнение регистров
Сравнение можно производить между данными любых источников: текущей базой 1С 8, внешними базами 1С 8, внешними базами данных SQL, файлами форматов CSV/TXT/DBF/XLS/XML, данными вручную заполненного табличного документа. Данные сравниваются между собой по ключу, который определяется как первая колонка (или первые колонки в случае составного ключа) запроса для 1С/SQL или в соответствии с настройками для файлов и табличного документа. В верхней части формы находятся кнопки с изображениям кругов Эйлера, предназначенные для указания обработке, какую операцию реляционной алгебры применять для объединения результатов запросов. После соединения выборок можно дополнительно наложить условия отбора в секциях Код для вывода строк и Код для запрета вывода строк. Реализована возможность использования составных ключей, программной обработки данных в процессе чтения с помощью произвольного кода, сворачивания данных.
Актуальная инструкция всегда доступна во встроенной справке обработки по клавише F1.
Буду благодарен, если будете уведомлять о багах на sertakov [а] list.ru или в комментариях.
Скачать файлы
Наименование | Файл | Версия | Размер | |||
---|---|---|---|---|---|---|
Консоль сравнения данных из разных источников (1С 8, SQL, CSV/TXT/DBF/XLS/XML, табличный документ)
.epf 128,96Kb
11.12.18
71
|
.epf | 11.3.32 | 128,96Kb | 71 | Скачать |
См. также
Специальные предложения
добавлена возможность сравнения с файлами CSV/TXT/DBF/XLS.
Теперь можно сравнивать данные из любых двух источников:
- текущая база 1С 8;
- внешняя база 1С 8;
- база данных SQL Server;
- база данных PostgreSQL;
- другая база SQL через вручную указанный драйвер;
- файл формата CSV/TXT/DBF/XLS.
1)
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(ДАТАВРЕМЯ(2017, 1, 1), ) КАК ЦеныНоменклатурыСрезПоследних
2)
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНачала, ) КАК ЦеныНоменклатурыСрезПоследних
а на вкладке консоли Общие настроки -> Основные нужно в левую границу периода внести нужную дату среза цен
Спасибо! Я по второму варианту строил запрос. Мое "впечатление" было ошибочным, периоды и должны были быть разными, главное что бы были последними ).
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура.Код КАК НоменклатураКод,
ЦеныНоменклатурыСрезПоследних.Период КАК Период,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОкончания, ) КАК ЦеныНоменклатурыСрезПоследних
реализована возможность использования параметров запроса при подключении к текущей базе 1С 8 (параметры ДатаНачала и ДатаОкончания берутся только с вкладки Общие настройки -> Основные даже в том случае, если одноименные есть на вкладке Параметры запроса);
исправлена ошибка, из-за которой в настройках не сохранялся номер первой строки файла.
реализована возможность загрузки данных из файлов формата XML;
исправлена ошибка, из-за которой в некоторых режимах некорректно определялся список обязательных к заполнению полей;
доработан вывод сообщений об ошибках заполнения реквизитов.
Как мысль для дальнейшего развития: нужен какой-то а-ля пользовательский режим, в котором не видны настройки подключений, запросы, но есть возможность редактировать режим "таблица". т.е. программист все настроил, сохранил настройки, потом пользователь просто открывает настройки, сравнивает и смотрит на результат.
Сохранение/открытие настроек есть, пользователю достаточно сделать 2 действия: выбрать настройку и нажать кнопку сформировать, даже период будет сам пересчитываться, т.к. его можно задать в единицах времени относительно текущей даты. Напишите подробнее мысль, заинтересовали.
добавлена возможность открытия формы в пользовательском режиме, где пользователь может только выбирать сохраненные настройки и производить сравнение, для включения режима достаточно установить флаг Пользовательский режим в программно созданную обработку либо передать этот флаг как параметр при открытии формы (ОткрытьФорму("Обработка.ВС_КонсольСравненияДанныхИзРазныхИсточников.Форма", Новый Структура("ПользовательскийРежим", Истина), ПараметрыВыполненияКоманды.Источник, Новый УникальныйИдентификатор)).
П.С. Спасибо
добавлена возможность программного заполнения реквизитов с помощью произвольного кода при чтении данных из файлов (обращение к значениям реквизитов осуществлется по именам Р1...Р5, обращение к текущему - по имени РТек, например, для реквизита 3 может быть задан такой произвольный код: РТек = Р1 * Р2 * 1.2).
реализована возможность программного изменения столбцов ключа с помощью произвольного кода при чтении данных (обращение к исходным значениям столбцов ключа осуществляется по именам Ключ1, Ключ2, Ключ3, например, может быть задан такой произвольный код: КлючТек = Число(Лев(СокрЛП(КлючТек ), 5));
добавлены кнопки открытия в реквизитах с ключами и произвольным кодом;
исправлена ошибка, из-за которой при чтении XML-файла не заполнялся третий столбец составного ключа.

Просмотры 15848
Загрузки 68
Комментарии 31
Создание 13.02.17 13:59
Обновление 11.12.18 14:00
№ Публикации 581794
Рубрики Универсальные обработки
Кому Программист
Тип файла Внешняя обработка (ert,epf)
Платформа Платформа 1С v8.x (все механизмы)
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Страна Беларусь
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Раздел учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Да
