Сравнение данных из разных источников (1С 8, SQL, CSV/TXT/DBF/XLS/XML, табличный документ)

Обработки - Универсальные обработки

42
Обработка предназначена для сравнения данных, полученных из разных источников данных: информационных баз 1С 8, баз данных SQL, файлов формата CSV/TXT/DBF/XLS/XML, вручную заполненного табличного документа.

Сравнение можно производить между данными любых источников: текущей базой 1С 8, внешними базами 1С 8, внешними базами данных SQL, файлами форматов CSV/TXT/DBF/XLS/XML, данными вручную заполненного табличного документа. Данные сравниваются между собой по ключу, который определяется как первая колонка  (или первые колонки в случае составного ключа) запроса для 1С/SQL или в соответствии с настройками для файлов и табличного документа.  В верхней части формы находятся кнопки с изображениям кругов Эйлера, предназначенные для указания обработке, какую операцию реляционной алгебры применять для объединения результатов запросов. После соединения выборок можно дополнительно наложить условия отбора в секциях Код для вывода строк и Код для запрета вывода строк. Реализована возможность использования составных ключей, программной обработки данных в процессе чтения с помощью произвольного кода, сворачивания данных.

 

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

 

Буду благодарен, если будете уведомлять о багах на sertakov [а] list.ru или в комментариях.

42

Скачать файлы

Наименование Файл Версия Размер
Консоль сравнения данных из разных источников (1С 8, SQL, CSV/TXT/DBF/XLS/XML, табличный документ)
.epf 128,96Kb
11.07.18
59
.epf 11.3.32 128,96Kb 59 Скачать

См. также

Комментарии
Сортировка: Древо
1. alexzhegzdrin 15.02.17 16:28 Сейчас в теме
Неплохо бы увидеть возможность выбора драйвера, отличного от MS SQL
2. sertak 58 15.02.17 16:58 Сейчас в теме
(1) Версия 4.4.12: драйвер можно указать вручную, можно выбрать из списка (SQL Server, PostgreSQL).
3. sertak 58 16.02.17 23:11 Сейчас в теме
Версия 5.0.13:
добавлена возможность сравнения с файлами CSV/TXT/DBF/XLS.

Теперь можно сравнивать данные из любых двух источников:
- текущая база 1С 8;
- внешняя база 1С 8;
- база данных SQL Server;
- база данных PostgreSQL;
- другая база SQL через вручную указанный драйвер;
- файл формата CSV/TXT/DBF/XLS.
4. sertak 58 20.02.17 12:24 Сейчас в теме
Версия 6.1.15:
добавлена возможность использования составного ключа из двух колонок;
исправлена ошибка, из-за которой невозможно было извлечь УИД из ссылки из внешней базы 1С 8.
5. sertak 58 20.02.17 15:47 Сейчас в теме
Версия 6.1.16:
исправлена ошибка.
6. sertak 58 04.03.17 00:15 Сейчас в теме
Версия 7.0.17:
реализована возможность загрузки данных из табличного документа.

Версия 7.0.18:
исправлена ошибка.
7. sertak 58 12.03.17 19:27 Сейчас в теме
Версия 7.1.19:
увеличена длина и точность типа Число реквизитов.
8. zerdov 46 24.05.17 17:00 Сейчас в теме
Как внести значения параметра Период в запросе к ВТ регистра сведенийЦеныНоменклатурыСрезПоследних ?
Такое впечатление, что запрос работает с обычной таблицей ЦеныНоменклатуры. Выводит даты документов- регистраторов.
9. sertak 58 25.05.17 12:26 Сейчас в теме
10. sertak 58 25.05.17 12:32 Сейчас в теме
(8)
1)
 ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура,
	ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(ДАТАВРЕМЯ(2017, 1, 1), ) КАК ЦеныНоменклатурыСрезПоследних


2)
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура,
	ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНачала, ) КАК ЦеныНоменклатурыСрезПоследних


а на вкладке консоли Общие настроки -> Основные нужно в левую границу периода внести нужную дату среза цен
11. zerdov 46 25.05.17 16:14 Сейчас в теме
(10)
ДАТАВРЕМЯ(2017, 05, 25)

Спасибо! Я по второму варианту строил запрос. Мое "впечатление" было ошибочным, периоды и должны были быть разными, главное что бы были последними ).
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура.Код КАК НоменклатураКод,
	ЦеныНоменклатурыСрезПоследних.Период КАК Период,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОкончания, ) КАК ЦеныНоменклатурыСрезПоследних
12. sertak 58 16.11.17 15:55 Сейчас в теме
Версия 7.1.20:
исправлена ошибка, из-за которой в некоторых случаях сравнение по составному ключу производилось некорректно.
13. sertak 58 17.11.17 22:24 Сейчас в теме
Версия 7.2.21:
реализована возможность использования параметров запроса при подключении к текущей базе 1С 8 (параметры ДатаНачала и ДатаОкончания берутся только с вкладки Общие настройки -> Основные даже в том случае, если одноименные есть на вкладке Параметры запроса);
исправлена ошибка, из-за которой в настройках не сохранялся номер первой строки файла.
14. sertak 58 20.02.18 11:56 Сейчас в теме
Версия 8.0.22:
реализована возможность загрузки данных из файлов формата XML;
исправлена ошибка, из-за которой в некоторых режимах некорректно определялся список обязательных к заполнению полей;
доработан вывод сообщений об ошибках заполнения реквизитов.
15. Erne100 219 26.03.18 11:23 Сейчас в теме
А параметров запроса Б нет? Хотя бы примитивный типов... для начала
17. sertak 58 26.03.18 14:52 Сейчас в теме
Вы имеете в виду ситуацию, когда Б - внешняя база 1С, видимо. Не реализовывал пока.
18. Erne100 219 26.03.18 15:59 Сейчас в теме
(17) Да именно это. А пока делаю так:
ГДЕ
	РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
	И РеализацияТоваровУслуг.Организация.ИНН = "32177162"
30. sertak 58 29.06.18 13:08 Сейчас в теме
(15) реализовано в версии 11.1.30.
19. m-rv 537 04.05.18 14:49 Сейчас в теме
Оч.крутая штука!
Как мысль для дальнейшего развития: нужен какой-то а-ля пользовательский режим, в котором не видны настройки подключений, запросы, но есть возможность редактировать режим "таблица". т.е. программист все настроил, сохранил настройки, потом пользователь просто открывает настройки, сравнивает и смотрит на результат.
20. sertak 58 04.05.18 15:51 Сейчас в теме
Спасибо, сам к ней неравнодушен ).
Сохранение/открытие настроек есть, пользователю достаточно сделать 2 действия: выбрать настройку и нажать кнопку сформировать, даже период будет сам пересчитываться, т.к. его можно задать в единицах времени относительно текущей даты. Напишите подробнее мысль, заинтересовали.
24. sertak 58 14.05.18 09:04 Сейчас в теме
21. sertak 58 05.05.18 07:25 Сейчас в теме
Версия 8.0.23:
исправлена ошибка, из-за которой при наличии пробелов в ключе могли не заполняться реквизиты.
22. sertak 58 08.05.18 11:47 Сейчас в теме
Версия 8.0.24:
исправен запрет на имя колонки выборки запроса: теперь колонку можно называть Количество.
23. sertak 58 14.05.18 09:04 Сейчас в теме
Версия 8.1.25:
добавлена возможность открытия формы в пользовательском режиме, где пользователь может только выбирать сохраненные настройки и производить сравнение, для включения режима достаточно установить флаг Пользовательский режим в программно созданную обработку либо передать этот флаг как параметр при открытии формы (ОткрытьФорму("Обработка.ВС_КонсольСравненияДанныхИзРазныхИсточников.Форма", Новый Структура("ПользовательскийРежим", Истина), ПараметрыВыполненияКоманды.Источник, Новый УникальныйИдентификатор)).
П.С. Спасибо Маркову Роману за идею.
25. sertak 58 23.05.18 11:40 Сейчас в теме
Версия 8.2.26:
добавлена возможность программного заполнения реквизитов с помощью произвольного кода при чтении данных из файлов (обращение к значениям реквизитов осуществлется по именам Р1...Р5, обращение к текущему - по имени РТек, например, для реквизита 3 может быть задан такой произвольный код: РТек = Р1 * Р2 * 1.2).
26. sertak 58 12.06.18 10:40 Сейчас в теме
Версия 9.0.27:
реализована возможность использования составного ключа из трех столбцов (используются первые три колонки каждой выборки для баз 1С и SQL и явно указанные номера колонок для файлов).
27. sertak 58 25.06.18 11:11 Сейчас в теме
Версия 10.0.28:
реализована возможность программного изменения столбцов ключа с помощью произвольного кода при чтении данных (обращение к исходным значениям столбцов ключа осуществляется по именам Ключ1, Ключ2, Ключ3, например, может быть задан такой произвольный код: КлючТек = Число(Лев(СокрЛП(КлючТек ), 5));
добавлены кнопки открытия в реквизитах с ключами и произвольным кодом;
исправлена ошибка, из-за которой при чтении XML-файла не заполнялся третий столбец составного ключа.
28. sertak 58 27.06.18 13:06 Сейчас в теме
Версия 11.0.29:
реализована возможность сворачивания данных, полученных из файлов или табличного документа, по ключу (для реквизитов применяется агрегатная функция Сумма).
29. sertak 58 29.06.18 13:08 Сейчас в теме
Версия 11.1.30:
реализована возможность установки параметров запроса примитивных типов данных для внешней базы 1С 8.
31. sertak 58 06.07.18 17:06 Сейчас в теме
Версия 11.2.31:
добавлены колонки Тип столбца 1-3 ключа.
32. sertak 58 10.07.18 11:58 Сейчас в теме
Версия 11.3.32:
реализована возможность выгрузки результата сравнения в файл формата CSV (на сервере).
Оставьте свое сообщение