Консоль сравнения данных (1С 8, 1С 7.7, SQL, CSV, TXT, DBF, XLS, DOC, XML, JSON, табличный документ) (версия 15.9.67)

15.10.24

Разработка - Инструментарий разработчика

Обработка Консоль сравнения данных (КСД) предназначена для сравнения данных, полученных из разных источников данных: информационных баз 1С 8, 1С 7.7, баз данных SQL, файлов формата CSV/TXT/DBF/XLS/DOC/XML, строки JSON, вручную заполненного табличного документа. Минимально необходимая версия платформы: 8.3.6.1977.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Консоль сравнения данных (1С 8, 1С 7.7, SQL, CSV, TXT, DBF, XLS, DOC, XML, JSON, табличный документ)
.epf 601,79Kb ver:15.9.67
77
77 Скачать (1 SM) Купить за 1 850 руб.

Сравнение можно производить между данными из следующих источников:

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

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

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

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

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

Данной обработкой, оперирующей, само собой, объектами 1С, не стоит сравнивать таблицы значений из сотен тысяч и более строк, для этого стоит поискать более производительный инструмент.

P.S. На основании данной обработки разработана конфигурация Сценарное сравнение данных (ССД), позволяющая в автоматическом режиме выполнять последовательность из операций сравнения данных с возможностью указания условий выполнения и автоматического изменения  анализируемого периода.

P.P.S. При возникновении вопросов пишите в комментах, в личку или на электропочту (данные есть в справке обработки).

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия для Беларуси, 2.1, релизы 2.1.54.6
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.154.17

сравнение сравнить данных данные 7.7 8 SQL Server PostgreSQL сопоставление разные конфигурации CSV TXT DBF XLS DOC XML JSON

См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159640    875    399    

862

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7850    58    23    

69

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    23485    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10458    36    25    

61

SALE! 15%

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 19980 руб.

06.10.2023    15423    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    188035    1140    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17317    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7714    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alexzhegzdrin 15.02.17 16:28 Сейчас в теме
Неплохо бы увидеть возможность выбора драйвера, отличного от MS SQL
2. sertak 324 15.02.17 16:58 Сейчас в теме
(1) Версия 4.4.12: драйвер можно указать вручную, можно выбрать из списка (SQL Server, PostgreSQL).
3. sertak 324 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 324 20.02.17 12:24 Сейчас в теме
Версия 6.1.15:
добавлена возможность использования составного ключа из двух колонок;
исправлена ошибка, из-за которой невозможно было извлечь УИД из ссылки из внешней базы 1С 8.
5. sertak 324 20.02.17 15:47 Сейчас в теме
Версия 6.1.16:
исправлена ошибка.
6. sertak 324 04.03.17 00:15 Сейчас в теме
Версия 7.0.17:
реализована возможность загрузки данных из табличного документа.

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


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


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

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

1. Код обработки должен быть в модуле обработки, а не в ее форме.

2. Нужно создать парочку процедур:

Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = "0.1"; // это версия
    ПараметрыРегистрации.Назначение = Неопределено;
    ПараметрыРегистрации.БезопасныйРежим = Ложь; // ВАЖНО! это разрешение обработке выполняться в небезопасном режиме - файлы, интернет, ...
    ПараметрыРегистрации.Информация = НСтр("ru = 'Загрузка рейтингов'");
   
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = НСтр("ru = 'Загрузка рейтингов'");
    Команда.Идентификатор = "ЗагрузкаРейтингов";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    Команда.ПоказыватьОповещение = Ложь;
   
    Возврат ПараметрыРегистрации;
КонецФункции

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт
    Если ИдентификаторКоманды = "ЗагрузкаРейтингов" Тогда
        ЗаписьЖурналаРегистрации("ЗагрузкаРейтингов", УровеньЖурналаРегистрации.Предупреждение, ЭтотОбъект.Метаданные(), ЭтотОбъект, "Начало загрузки рейтингов");
        ВыполнитьЗагрузку(); // это та самая процедура, которая будет выполняться в регламентном задании
    КонецЕсли;
КонецПроцедуры

// это та самая процедура, которая будет выполняться в регламентном задании
Процедура ВыполнитьЗагрузку()
// ... ТУТ ВАШ КОД!
// ... ТУТ ВАШ КОД!
КонецПроцедуры
---------------------
Показать
39. sertak 324 26.04.19 15:32 Сейчас в теме
(38) Спасибо, при наличии времени думаю сделать, основное время работаю с нетиповой конфигой, с БСП редко имею дело последнее время.
40. webester 26 27.04.19 07:27 Сейчас в теме
(38)Извините за глупые вопросы. Я не вижу как это должно лечь в регламентные задания и в какой момент это должно произойти. Я вижу внешнюю обработку в которой описана команда вызова серверного метода. Это стандартная технология подключения внешних обработок в БСП. Не могли бы вы объяснить подробнее причем здесь регламентные задания, если вам не сложно.
41. starik-2005 3088 27.04.19 10:52 Сейчас в теме
(40) всякую подключенную внешнюю обработку можно настротть выполняться по расписанию - это стандартный механизм БСП. Настраивается все в справочнике внешних обработок. Могу за мзду показать как, если до сих пор не ясно.
43. sergathome 4 27.04.19 12:56 Сейчас в теме
(41) ну не всякую, не вводите слабые умы в заблуждение...
47. starik-2005 3088 27.04.19 17:16 Сейчас в теме
48. starik-2005 3088 27.04.19 17:17 Сейчас в теме
(44)
Можно без мзды
Без мзды я уже все написал )))
45. webester 26 27.04.19 15:51 Сейчас в теме
(41)Понятно. Я не понял просто, Написано вот как добавить обработку в регламентные задания. А код приведен регистрации обработки. Так бы и написали - Можно добавить обработку с вызовом серверного метода и зарегистрировать ее как регламентное задание штатными средствами БСП.
Важно понимать, то, что хотел написать программист и то, что он написал, очень часто не одно и то же©не помню кто
46. acanta 27.04.19 16:33 Сейчас в теме
(45) Мы покажем что у нас есть и посмотрим что ты можешь ©заказчики
Удачи в продвижении.
42. sertak 324 27.04.19 12:33 Сейчас в теме
(40) Я имел в виду создание нового регламентного в конфигураторе, а через БСП я не рассматривал.
49. sertak 324 30.04.19 12:51 Сейчас в теме
Версия 11.4.35:
модальные окна заменены на блокирующие;
реализована возможность выгрузки результата сравнения в файл на клиенте.
starik-2005; +1 Ответить
50. kosmo0 111 04.05.19 16:54 Сейчас в теме
Вот о чем я мечтал давненько, но руки так и не дошли. А то некоторое количество удаленных БД в тьму-таракани и некоторых случаев сбоев обмена данными.

К сожалению проверить данную обработку смогу не скоро. Поделюсь своими мыслями о функционале. Очень интересны шаблоны проверки баз с идентичными конфигурациями. Обычно самое важное в данных это бухгалтерские регистры и регистры накопления. Сравнивать по записям накладно и долго, поэтому можно организовать сравнение сверху-вниз. 1 этап - остатки на начало каждого месяца и помесячные обороты (за заданный период). Потом, при необходимости, по неделям, по дням, по записям. По измерениям.
То есть предыдущие периоды сравнивать для контроля, а последний год (или квартал) с максимальной детализацией.

Вот как-то так.
51. sertak 324 06.05.19 20:58 Сейчас в теме
(50) интересная идея, подумаю на досуге, что-то вроде справочника Сценарии сравнения, каждый элемент которого включает список настроек сравнения.
52. starik-2005 3088 07.05.19 10:05 Сейчас в теме
(50) лучше обороты сравнить за периоды, если есть разница - найти период с нестыковкой, потом уже по нему детализироваться. вываливая только разницу (могли контрагента поменять в базе А, а в базу Б он не приехал - самая частая причина нестыковок, а могли документ распровести или он не приехал по какой-то причине)


(51) в принципе со сценариями и разворотом детализации вполне себе продукт получается за денежку. Автоотправку на почту прикрутить - и за 2к выставить.
53. sertak 324 07.05.19 11:10 Сейчас в теме
(52) целей заработать нет, но идея стоящая. Я когда-то в одной компании работал, там 8 юрлиц было и даже конфиги не все одинаковые, а они друг другу комиссионный товар продавали, хлебнул горя, тогда-то и начала зарождаться идея о создании гибкого инструмента для сравнения чего угодно. Сейчас у меня баз немного, но сценарность и тут бы пригодилась. Попытка не пытка же ).
54. starik-2005 3088 07.05.19 11:17 Сейчас в теме
(53) мы в свое время базу написали, там SQL-запросики всю разность давали.
59. sertak 324 16.08.19 16:41 Сейчас в теме
(50)
(54)
Реализовал сценарное сравнение данных: https://infostart.ru/public/1109393/.
55. sertak 324 30.07.19 09:07 Сейчас в теме
Версия 12.0.37
заголовок устанавливается при открытии из файла или элемента справочника, вручную не изменяется;
справочник хранения настроек НастройкиКонсолиСравненияДанных переименован в ВС_ОперацииСравненияДанных для унификации с конфигурацией Сценарное сравнение данных;
реализована возможность заполнения на основании элемента справочника ВС_ОперацииСравненияДанных при открытии (параметр ОперацияСравненияДанных);
при сохранении вместо открытия формы выбора можно обновить элемент справочника, из которого была заполнена консоль.
56. sertak 324 01.08.19 12:17 Сейчас в теме
Версия 12.1.38
реализована возможность указания правой границы относительного периода (например, первые 6 месяцев из последних 1 лет, первые 1 день из последних 2 дней, т.е. вчера).
57. sertak 324 12.08.19 12:45 Сейчас в теме
Версия 12.2.39
пересчет значения относительного периода перенесен в модуль объекта, вызывается при изменении реквизитов формы и в процедуре сравнения данных (перед программным вызовом процедуры СравнитьДанныеНаСервере() необходимо либо рассчитать и установить границы периода либо вызвать процедуру ОбновитьДанныеПериода() для автоматического расчета);
перед закрытием выводится запрос на обновление связанного элемента справочника ВС_ОперацииСравненияДанных;
в произвольном коде условий вывода строк в таблицу расхождений обращение к имени реквизита теперь производится по имени СтрокаТР.<Имя реквизита>;
исправлена ошибка, из-за которой не отрабатывал произвольный код обработки ключа в базах 1С 8.
58. sertak 324 13.08.19 16:37 Сейчас в теме
Актуальная инструкция теперь всегда доступна по этой ссылке.
60. sertak 324 19.08.19 10:02 Сейчас в теме
Версия 12.2.41
доработаны пиктограммы активных реляционных операций;
добавлена команда скачивания последней версии обработки с сайта автора;
для источника типа Таблица номер первой строки нужно указывать в соответствующем реквизите;
исправлена ошибка, из-за которой не контролировалось заполнение некоторых реквизитов для источников типа Таблица.
61. sertak 324 20.08.19 08:46 Сейчас в теме
Версия 12.2.42
исправлена ошибка, из-за которой в запросе к внешней базе 1С 8 колонку нельзя было назвать Количество;
на интерфейсе формы команды перехода к web-страницам сгруппированы в подменю Поддержка.
62. sertak 324 21.08.19 15:11 Сейчас в теме
Версия 13.0.43
реализовано получение данных из файловых информационных баз 1С 7.7 через простые запросы.
63. sertak 324 22.08.19 16:11 Сейчас в теме
Версия 14.0.44
реализовано получение данных из файлов формата DOC (Microsoft Word);
реализована возможность указания конкретного номера книги при получении данных из файла формата XLS;
реализована возможность загрузки файлов с клиентского ПК (тем не менее, необходимое для чтения ПО должно быть установлено на сервере, например, Microsoft Office, т.к. обработка файлов производится на сервере).
64. sertak 324 23.08.19 14:23 Сейчас в теме
Версия 14.1.45:
реализована возможность отключения условий вывода и запрета вывода строк без удаления строк табличной части;
расширен список возможных значений версии платформы 1С 8 (используется для получения ProgID COM-объекта при подключении к внешней базе);
реализован вывод предупреждения, если число колонок в файле XLS меньше указанного в настройках для ключа или реквизитов;
реализован вывод предупреждения, если число колонок в выборке 1С 8 / SQL меньше указанного числа столбцов в ключе;
исправлена ошибка, из-за которой при ключе из трех столбцов и некоторых вариантах обработки ключа колонки могли расположиться в некорректной последовательности.
65. sertak 324 30.08.19 10:32 Сейчас в теме
Версия 15.0.46:
реализована возможность получения данных из строки JSON;
после открытия операции из справочника или файла таблица расхождений очищается;
доработан интерфейс.
66. user612295_death4321 22.09.19 23:52 Сейчас в теме
Добрый вечер.

В режиме совместимости 8.2.13 почти завелась с пол пинка.

Предлагаю рассмотреть вариант заменить новые платформенные строковые функции СтрНайти и прочее на функции из БСП модуля СтроковыеФункции*, это позволит иметь совместимость между платформами.

Так же у меня по каким то причинам неверно заполнялись реквизиты при сравнении двух баз через COM, все данные были записаны как COMОбъект, особо ночью разбираться не стал, вставил заглушку в процедуре СравнитьДанныеНаСервере в виде ЗначениеИзСтрокиВнутр(ПодключениеБ.ЗначениеВСтрокуВнутр(ТЗ_Б_Сгруппированная)) - вроде сравнило корректно.
67. sertak 324 23.09.19 08:14 Сейчас в теме
(66) Добрый день. Обработка должна работать в любой конфигурации, в т.ч. нетиповой, поэтому про БСП она ничего не должна знать, но я доработаю для 8.2 по возможности.
По ошибке: хотелось бы попробовать воспроизвести у себя, напишите в личку подробности источников данных, может, конфигурации можете предоставить, я бы поэкспериментировал.
68. sertak 324 24.09.19 08:07 Сейчас в теме
(66)
Так же у меня по каким то причинам неверно заполнялись реквизиты при сравнении двух баз через COM, все данные были записаны как COMОбъект, особо ночью разбираться не стал, вставил заглушку в процедуре СравнитьДанныеНаСервере в виде ЗначениеИзСтрокиВнутр(ПодключениеБ.ЗначениеВСтрокуВнутр(ТЗ_Б_Сгруппированная)) - вроде сравнило корректно.

При получении данных из внешней информационной базы 1С 8 необходимо явно преобразовать все ссылки к простым типам, как правило, к строкам через ПРЕДСТАВЛЕНИЕ(), ВЫРАЗИТЬ(... КАК ...) или через явное получение конкретного реквизита ссылки, который обычно используется как представление ссылок данного типа. Иначе в текущей базе ссылка никак превратится в представление, как это происходит со ссылками, для которых текущая база является родной, более того, ссылки из внешней базы будут отображаться как "COMОбъект", что никак не поможет при анализе расхождений. Преобразование ЗначениеИзСтрокиВнутр(ПодключениеБ.ЗначениеВСтрокуВнутр( помогло в данном случае получить преставления, но я рекомендую приводить ссылки к простым типам в запросе.

Пример:
вместо ссылок

ДокументПриходТовары.Ссылка,
ДокументПриходТовары.Товар

нужно использовать их представления, которые можно получить, например, так:

ПРЕДСТАВЛЕНИЕ(ДокументПриходТовары.Ссылка),
ДокументПриходТовары.Товар.Код

Это что касается реквизитов. В случаях с ключами все так же, за исключением ситуации, когда из ссылки извлекается GUID, тогда ссылку не нужно преобразовывать в простой тип.
69. sertak 324 24.09.19 08:14 Сейчас в теме
(66)
Предлагаю рассмотреть вариант заменить новые платформенные строковые функции СтрНайти и прочее на функции из БСП модуля СтроковыеФункции*, это позволит иметь совместимость между платформами.

К сообщению прикреплена обработки версии 15.0.46.2 для платформы 8.2 (тестировал на 8.2.19.130).
Прикрепленные файлы:
ВС_КонсольСравненияДанных_15.0.46.2.epf
70. sertak 324 28.10.19 13:11 Сейчас в теме
Версия 15.0.47:
исправлена ошибка, из-за которой не обновлялись связанные элементы справочника Операции сравнения данных.
Спасибо пользователю MrGrey за выявление ошибки.
71. Xershi 1555 20.11.19 13:58 Сейчас в теме
Добрый день!
Заинтересовал вариант сравнения по oData:
https://infostart.ru/public/711302/
Планируете расширять функционал?
73. sertak 324 25.11.19 14:55 Сейчас в теме
(71) Добрый день. Да, есть планы, но все зависит от наличия свободного времени.
По oData никогда не пробовал, интересная тема.
76. Xershi 1555 25.11.19 15:39 Сейчас в теме
(73) сообщите, если появится время. Пока отложил такую задачу на полку!
77. sertak 324 25.11.19 17:37 Сейчас в теме
72. Xershi 1555 21.11.19 11:35 Сейчас в теме
По ком как обычно не взлетело. Сервер 64-битный. Ни на 32-битном, ни на 64-битном клиенте класс не зарегистрирован. Регистрацию 64-битной компоненты делал.
74. sertak 324 25.11.19 14:57 Сейчас в теме
(72) Ну тут обычные танцы с бубном каждый раз приходится проходить, чтобы COM заработал. Ссылки на рецепты не стану приводить, вы их и без меня найдете.
75. Xershi 1555 25.11.19 15:39 Сейчас в теме
(74) единственное, что может решить эту проблему создание ком-коннектора, но это конечно не вариант((
78. cprit 901 27.01.20 14:40 Сейчас в теме
Добрый день!
Для обычных форм есть замечательный набор инструментов "Инструменты разработчика 1С", но его невозможно использовать в линуксе и в тонком и веб клиенте.

Поэтому мы решили собрать подобный пакет, но который будет работать только на платформенных механизмах или с использованием кроссплатформенных компонент.

Использование этого пакета инструментов хотим сделать общедоступным(OpenSource), разработку вести через гитхаб с использованием EDT.

Можем ли мы включить в этот набор обработки(или часть идей и функционала) из этой публикации, естественно с указанием авторства?

На текущий момент нашли основные инструменты (консоль запросов, консоль кода, редактор реквизитов, консоль компоновки и др.) для включения в инструментарий. Сейчас занимаемся получением одобрения авторов. Часть включаем свои- редактор предопределенных, редактор констант, Групповая обработка

Ссылка на репозиторий с новыми инструментами https://github.com/cpr1c/tools_ui
Публикация на инфостарте https://infostart.ru/public/1178280/
79. sertak 324 28.01.20 06:06 Сейчас в теме
(78) Добрый день. Да, обработку можно включить в пакет.
80. sertak 324 10.04.20 13:24 Сейчас в теме
Версия 15.0.48:
добавлено индексирование сравниваемых таблиц значений.
Evg-Lylyk; +1 Ответить
81. sertak 324 30.04.20 16:54 Сейчас в теме
Версия 15.1.49:
реализована возможность выгрузки файла расхождений в форматах CSV, DOCX, HTML, MXL, ODS, PDF, TXT, XLS, XLSX.
82. sertak 324 06.05.20 22:08 Сейчас в теме
Версия 15.1.50:
исправлена ошибка, возникавшая при сравнении по составному ключу в последней версии обработки.
83. sertak 324 10.05.20 17:48 Сейчас в теме
Версия 15.2.51:
добавлена возможность предварительно просмотра данных для каждого источника данных в режимах Все строки, 100 строк, 1000 строк, Дубликаты;
в строках с ключами, для которых обнаружены дубликаты, значения реквизитов больше не выводятся в таблице значений Результат сравнения (для детального просмотра строк-дубликатов предназначена форма предварительного просмотра в режиме Дубликаты).
84. Cyberhawk 135 15.06.20 10:35 Сейчас в теме
Хотелось бы иметь возможность при двойном клике по сообщению "<Дата> формирование файла завершено (<полный путь к файлу>)" чтобы на клиенте открывался каталог с позиционированием на этом файле (для случая, когда этот файл сохранен через команду для клиента, либо в настройке выгрузки был указан сетевой путь).
Также на вкладке основных настроек хочется у поля пути к файлу видеть кнопку-лупу для открытия указанного каталога, а в идеале - еще и команду проверки записи в этот каталог.
85. sertak 324 15.06.20 12:12 Сейчас в теме
(84) Спасибо за предложение, подумаю, как реализовать.
86. Cyberhawk 135 15.06.20 12:45 Сейчас в теме
Фич-реквест: хочется иметь возможность задавать синонимы колонкам, которые отображают реквизиты (в таблице расхождений).
Чтобы вместо "Реквизит А1" и т.д. была возможность вводить более человекочитаемые представления.
Как вариант: для источников-запросов брать из самого запроса, для источников-таблиц - с закладки "Настройки" из таблицы "Заполнение и обработка реквизитов получателя".
87. sertak 324 15.06.20 14:19 Сейчас в теме
(86) Принято. Мысль возникала давно у меня, останавливало всегда только усложнение настройки обработки для конечного пользователя, которую и так уже не назовешь простой. Но раз есть спрос на такой функционал, можно и подумать.
88. Cyberhawk 135 15.06.20 15:07 Сейчас в теме
(87) Да, порог вхождения не самый низкий, какой мог бы быть. Лично мне с наскоку взять не удалось, но после чтения мануала все получилось.
Но я пользуюсь этим как разработчик, который потом предоставляет результаты расхождения (либо настройку сравнения) конечному пользователю, и поэтому хотелось бы через настройки управлять заголовками столбцов, отображаемых в результате расхождения.
А то пользователь точно не поймет, что там за реквизит 1, реквизит 2 и т.д., а вот если их облачить в более читаемые синонимы - все становится гораздо радужнее :)
100. sertak 324 21.09.20 12:06 Сейчас в теме
(86) Реализовано в версии 15.4.55.
89. Cyberhawk 135 15.06.20 16:06 Сейчас в теме
Еще фич-реквест (надеюсь, никого этим не распугаю, но даже в этом случае сценарий использования хоть где-то будет зафиксирован как пища для размышления): хочется иметь возможность фильтровать источник данных до его "передачи" в сравнение.
Например, присылают нам огроменный сводный какой-нибудь экселевский файл, где сгруппированы различные типы документов и их номера, и в каждой итерации сравнения (под каждую настройку) мне хочется обрабатывать только какую-то часть / область входящего источника данных (сравнивая их с документами в целевой инфобазе, то есть второй источник - это запрос). Для каждого типа документа ключ и настройки сравнения (вывода) в общем случае свои, т.е. различаются.

Вариант через ограничения вывода строк не подошел: во-первых, в источнике данных возможны дубли (когда два документа разных типов имеют один и тот же номер), и это ограничение не влияет на это. Во-вторых, когда есть дубли по ключу, то не нашел, как в таблице расхождений выводить эти дубли (это тоже фич-реквест - хочется через плюсик разворачить и видеть зависимость "один ко многим", когда дубли только с какой-то одной стороны).
Вручную вкорячивать синтетический ключ в присылаемый источник данных (файл) тоже не хочется. Равно как и вручную удалять что-то из него или переносить нужную область в источник вида "табличный документ".
90. sertak 324 15.06.20 20:08 Сейчас в теме
(89) Принято. Есть над чем подумать.
91. Cyberhawk 135 16.06.20 09:46 Сейчас в теме
Я на вкладке таблицы расхождения отключил вывод реквизитов (для примера оставил только А1, А2 и Б1).
В файле, получаемом в результате выполнения команды "Выгрузить результат сравнения":
- присутсвуют все колонки (по 5 реквизитов для обоих источников)
- свернуты по ширине почему-то все колонки, кроме первых трех (номер строки, количество строк в А, количество строк в Б), и колонки Б1

На картинках пример, как это настроено и выглядит в интерфейсе, и как это получается в файле:

1.
2.

В этом есть какая-то задумка? Если нет, то фич-реквест: чтобы в колонках выгружаемого файла присутствовали только те колонки, которые отмечены в самом инструменте. Ну и желательно, чтобы они по ширине хотя бы немного больше, чем пара пикселей, были :)
92. sertak 324 16.06.20 10:55 Сейчас в теме
(91) Кнопки на форме на данный момент предназначены исключительно для настройки визуализации формы.
Колонки в выгружаемом файле имеют минимальную ширину, если в них нет данных, иначе система пытается рассчитать оптимальную ширину, анализируя значения колонок. Если то, как отработало у вас, не попадает под эту логику, скиньте мне на sertakov [sobaka] list.ru ваш результат сравнения в xls, попробую при наличии времени поэкспериментировать с шириной колонок для ваших данных.
По настройке списка выгружаемых колонок принял, запишу на перспективу.
93. Cyberhawk 135 19.06.20 16:42 Сейчас в теме
Фичреквест: добавить опцию, позволяющую сохранять вместе с настройками и сами источники данных (конкретно сейчас интересует только табличный документ).
При сохранении настройки и перед ее загрузкой должна быть опция или вопрос: сохранить / загрузить вместе с сохраненным содержимым табличного документа или без него.
А то сейчас загрузил старую настройку, а почему она именно такая (ключ, произвольный код, столбцы-реквизиты) - уже не вспомнить.
Т.е. хотелось бы иметь возможность взглянуть именно на содержимое источника данных. Возможно, тогда это уже не сохранением настройки нужно называть, а сохранением конкретной итерации сверки ("слепка" / "профиля" / "демо-данных", если хотите). Но очень хотелось бы чтоб это был один файл / элемент справочника, чтоб не приходилось настройку и табличный документ подгружать отдельно друг от друга.
wowik; sertak; +2 Ответить
94. sertak 324 20.06.20 07:18 Сейчас в теме
98. sertak 324 04.09.20 12:02 Сейчас в теме
(93) Реализовано в версии 15.3.54
95. sertak 324 20.08.20 15:55 Сейчас в теме
Версия 15.2.52:
исправлена ошибка, из-за которой числовые значения в столбцах ключа округлялись до целого при сравнении.
96. sertak 324 03.09.20 10:25 Сейчас в теме
Версия 15.2.53:
доработан механизм расчета оптимальной ширины полей при выгрузке результата сравнения в файл.
97. sertak 324 04.09.20 12:02 Сейчас в теме
Версия 15.3.54:
реализована возможность сохранения/загрузки табличных документов в файл/из файла настроек или в элемент/из элемента справочника ВС_ОперацииСравненияДанных для источников данных типа Таблица;
доработан интерфейс для более компактного размещения кнопок сохранения/загрузки настроек.
Оставьте свое сообщение