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











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

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

  • текущая база 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, в личку или в комментариях.

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

P.P.S. Если вам нужно извлекать данные из 1С 7.7 более сложными запросами, пишите в личку, могу доработать, но нужна помощь с 1С 7.7.

76 Comments

  1. alexzhegzdrin

    Неплохо бы увидеть возможность выбора драйвера, отличного от MS SQL

    Reply
  2. sertak

    (1) Версия 4.4.12: драйвер можно указать вручную, можно выбрать из списка (SQL Server, PostgreSQL).

    Reply
  3. sertak

    Версия 5.0.13:

    добавлена возможность сравнения с файлами CSV/TXT/DBF/XLS.

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

    — текущая база 1С 8;

    — внешняя база 1С 8;

    — база данных SQL Server;

    — база данных PostgreSQL;

    — другая база SQL через вручную указанный драйвер;

    — файл формата CSV/TXT/DBF/XLS.

    Reply
  4. sertak

    Версия 6.1.15:

    добавлена возможность использования составного ключа из двух колонок;

    исправлена ошибка, из-за которой невозможно было извлечь УИД из ссылки из внешней базы 1С 8.

    Reply
  5. sertak

    Версия 6.1.16:

    исправлена ошибка.

    Reply
  6. sertak

    Версия 7.0.17:

    реализована возможность загрузки данных из табличного документа.

    Версия 7.0.18:

    исправлена ошибка.

    Reply
  7. sertak

    Версия 7.1.19:

    увеличена длина и точность типа Число реквизитов.

    Reply
  8. zerdov

    Как внести значения параметра Период в запросе к ВТ регистра сведенийЦеныНоменклатурыСрезПоследних ?

    Такое впечатление, что запрос работает с обычной таблицей ЦеныНоменклатуры. Выводит даты документов- регистраторов.

    Reply
  9. sertak

    (8) Скиньте ваш запрос

    Reply
  10. sertak

    (8)

    1)

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

    2)

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

    а на вкладке консоли Общие настроки -> Основные нужно в левую границу периода внести нужную дату среза цен

    Reply
  11. zerdov

    (10)

    ДАТАВРЕМЯ(2017, 05, 25)

    Спасибо! Я по второму варианту строил запрос. Мое «впечатление» было ошибочным, периоды и должны были быть разными, главное что бы были последними ).

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

    Версия 7.1.20:

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

    Reply
  13. sertak

    Версия 7.2.21:

    реализована возможность использования параметров запроса при подключении к текущей базе 1С 8 (параметры ДатаНачала и ДатаОкончания берутся только с вкладки Общие настройки -> Основные даже в том случае, если одноименные есть на вкладке Параметры запроса);

    исправлена ошибка, из-за которой в настройках не сохранялся номер первой строки файла.

    Reply
  14. sertak

    Версия 8.0.22:

    реализована возможность загрузки данных из файлов формата XML;

    исправлена ошибка, из-за которой в некоторых режимах некорректно определялся список обязательных к заполнению полей;

    доработан вывод сообщений об ошибках заполнения реквизитов.

    Reply
  15. Erne100

    А параметров запроса Б нет? Хотя бы примитивный типов… для начала

    Reply
  16. sertak

    Вы имеете в виду ситуацию, когда Б — внешняя база 1С, видимо. Не реализовывал пока.

    Reply
  17. Erne100

    (17) Да именно это. А пока делаю так:

    ГДЕ
    РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И РеализацияТоваровУслуг.Организация.ИНН = «32177162»
    Reply
  18. m-rv

    Оч.крутая штука!

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

    Reply
  19. sertak

    Спасибо, сам к ней неравнодушен ).

    Сохранение/открытие настроек есть, пользователю достаточно сделать 2 действия: выбрать настройку и нажать кнопку сформировать, даже период будет сам пересчитываться, т.к. его можно задать в единицах времени относительно текущей даты. Напишите подробнее мысль, заинтересовали.

    Reply
  20. sertak

    Версия 8.0.23:

    исправлена ошибка, из-за которой при наличии пробелов в ключе могли не заполняться реквизиты.

    Reply
  21. sertak

    Версия 8.0.24:

    исправен запрет на имя колонки выборки запроса: теперь колонку можно называть Количество.

    Reply
  22. sertak

    (19) реализовано в 8.1.25.

    Reply
  23. sertak

    Версия 8.1.25:

    добавлена возможность открытия формы в пользовательском режиме, где пользователь может только выбирать сохраненные настройки и производить сравнение, для включения режима достаточно установить флаг Пользовательский режим в программно созданную обработку либо передать этот флаг как параметр при открытии формы (ОткрытьФорму(«Обработка.ВС_КонсольСравненияДанныхИзРазныхИсточников.Форма», Новый Структура(«ПользовательскийРежим», Истина), ПараметрыВыполненияКоманды.Источник, Новый УникальныйИдентификатор)).

    П.С. Спасибо Маркову Роману за идею.

    Reply
  24. sertak

    Версия 8.2.26:

    добавлена возможность программного заполнения реквизитов с помощью произвольного кода при чтении данных из файлов (обращение к значениям реквизитов осуществлется по именам Р1…Р5, обращение к текущему — по имени РТек, например, для реквизита 3 может быть задан такой произвольный код: РТек = Р1 * Р2 * 1.2).

    Reply
  25. sertak

    Версия 9.0.27:

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

    Reply
  26. sertak

    Версия 10.0.28:

    реализована возможность программного изменения столбцов ключа с помощью произвольного кода при чтении данных (обращение к исходным значениям столбцов ключа осуществляется по именам Ключ1, Ключ2, Ключ3, например, может быть задан такой произвольный код: КлючТек = Число(Лев(СокрЛП(КлючТек ), 5));

    добавлены кнопки открытия в реквизитах с ключами и произвольным кодом;

    исправлена ошибка, из-за которой при чтении XML-файла не заполнялся третий столбец составного ключа.

    Reply
  27. sertak

    Версия 11.0.29:

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

    Reply
  28. sertak

    (15) реализовано в версии 11.1.30.

    Reply
  29. sertak

    Версия 11.1.30:

    реализована возможность установки параметров запроса примитивных типов данных для внешней базы 1С 8.

    Reply
  30. sertak

    Версия 11.2.31:

    добавлены колонки Тип столбца 1-3 ключа.

    Reply
  31. sertak

    Версия 11.3.32:

    реализована возможность выгрузки результата сравнения в файл формата CSV (на сервере).

    Reply
  32. sertak

    Версия 11.3.34:

    доработан интерфейс (добавлены пояснения и др.).

    Reply
  33. starik-2005

    Умеет работать по регламенту и данные в файл класть? Типа база 1, в которой остатки, база 2, в которой остатки, регламент обмена, регламент сравнения после обмена (или до, и в качестве параметра для обмена результат сравнения в части отличающихся данных). Весьма распространенный кейс для компаний, которые режут разбухшие базы на актуальную с остатками и архивную с доступом только для определенных людей и ежедневной синхронизацией.

    Reply
  34. sertak

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

    Reply
  35. starik-2005

    (35)

    Напишу между делом пример использования обработки из регламентного задания.

    Внешние обработки могут подключаться к системе и выполняться по-расписанию. Вы не используете данный функционал БСП?

    Reply
  36. sertak

    (36) Нет, не реализовывал такой вариант, при наличии времени посмотрю.

    Reply
  37. starik-2005

    Писал коллегам как-то лет сто назад:

    ————————

    На всякий случай хочу рассказать, как за пять минут превратить внешнюю обычную обработку в подключаемое регламентное задание для систем на базе БСП 2.х. (все наши решения, основанные на бухгалтерии 3.х).

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

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

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

    Показать

    Reply
  38. sertak

    (38) Спасибо, при наличии времени думаю сделать, основное время работаю с нетиповой конфигой, с БСП редко имею дело последнее время.

    Reply
  39. webester

    (38)Извините за глупые вопросы. Я не вижу как это должно лечь в регламентные задания и в какой момент это должно произойти. Я вижу внешнюю обработку в которой описана команда вызова серверного метода. Это стандартная технология подключения внешних обработок в БСП. Не могли бы вы объяснить подробнее причем здесь регламентные задания, если вам не сложно.

    Reply
  40. starik-2005

    (40) всякую подключенную внешнюю обработку можно настротть выполняться по расписанию — это стандартный механизм БСП. Настраивается все в справочнике внешних обработок. Могу за мзду показать как, если до сих пор не ясно.

    Reply
  41. sertak

    (40) Я имел в виду создание нового регламентного в конфигураторе, а через БСП я не рассматривал.

    Reply
  42. sergathome

    (41) ну не всякую, не вводите слабые умы в заблуждение…

    Reply
  43. dsdred
  44. webester

    (41)Понятно. Я не понял просто, Написано вот как добавить обработку в регламентные задания. А код приведен регистрации обработки. Так бы и написали — Можно добавить обработку с вызовом серверного метода и зарегистрировать ее как регламентное задание штатными средствами БСП.

    Важно понимать, то, что хотел написать программист и то, что он написал, очень часто не одно и то же©не помню кто
    Reply
  45. acanta

    (45) Мы покажем что у нас есть и посмотрим что ты можешь ©заказчики

    Удачи в продвижении.

    Reply
  46. starik-2005

    (43) а какую нельзя?

    Reply
  47. starik-2005

    (44)

    Можно без мзды

    Без мзды я уже все написал )))

    Reply
  48. sertak

    Версия 11.4.35:

    модальные окна заменены на блокирующие;

    реализована возможность выгрузки результата сравнения в файл на клиенте.

    Reply
  49. kosmo0

    Вот о чем я мечтал давненько, но руки так и не дошли. А то некоторое количество удаленных БД в тьму-таракани и некоторых случаев сбоев обмена данными.

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

    То есть предыдущие периоды сравнивать для контроля, а последний год (или квартал) с максимальной детализацией.

    Вот как-то так.

    Reply
  50. sertak

    (50) интересная идея, подумаю на досуге, что-то вроде справочника Сценарии сравнения, каждый элемент которого включает список настроек сравнения.

    Reply
  51. starik-2005

    (50) лучше обороты сравнить за периоды, если есть разница — найти период с нестыковкой, потом уже по нему детализироваться. вываливая только разницу (могли контрагента поменять в базе А, а в базу Б он не приехал — самая частая причина нестыковок, а могли документ распровести или он не приехал по какой-то причине)

    (51) в принципе со сценариями и разворотом детализации вполне себе продукт получается за денежку. Автоотправку на почту прикрутить — и за 2к выставить.

    Reply
  52. sertak

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

    Reply
  53. starik-2005

    (53) мы в свое время базу написали, там SQL-запросики всю разность давали.

    Reply
  54. sertak

    Версия 12.0.37

    заголовок устанавливается при открытии из файла или элемента справочника, вручную не изменяется;

    справочник хранения настроек НастройкиКонсолиСравненияДанных переименован в ВС_ОперацииСравненияДанных для унификации с конфигурацией Сценарное сравнение данных;

    реализована возможность заполнения на основании элемента справочника ВС_ОперацииСравненияДанных при открытии (параметр ОперацияСравненияДанных);

    при сохранении вместо открытия формы выбора можно обновить элемент справочника, из которого была заполнена консоль.

    Reply
  55. sertak

    Версия 12.1.38

    реализована возможность указания правой границы относительного периода (например, первые 6 месяцев из последних 1 лет, первые 1 день из последних 2 дней, т.е. вчера).

    Reply
  56. sertak

    Версия 12.2.39

    пересчет значения относительного периода перенесен в модуль объекта, вызывается при изменении реквизитов формы и в процедуре сравнения данных (перед программным вызовом процедуры СравнитьДанныеНаСервере() необходимо либо рассчитать и установить границы периода либо вызвать процедуру ОбновитьДанныеПериода() для автоматического расчета);

    перед закрытием выводится запрос на обновление связанного элемента справочника ВС_ОперацииСравненияДанных;

    в произвольном коде условий вывода строк в таблицу расхождений обращение к имени реквизита теперь производится по имени СтрокаТР.<Имя реквизита>;

    исправлена ошибка, из-за которой не отрабатывал произвольный код обработки ключа в базах 1С 8.

    Reply
  57. sertak

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

    Reply
  58. sertak

    (50)

    (54)

    Реализовал сценарное сравнение данных: https://infostart.ru/public/1109393/.

    Reply
  59. sertak

    Версия 12.2.41

    доработаны пиктограммы активных реляционных операций;

    добавлена команда скачивания последней версии обработки с сайта автора;

    для источника типа Таблица номер первой строки нужно указывать в соответствующем реквизите;

    исправлена ошибка, из-за которой не контролировалось заполнение некоторых реквизитов для источников типа Таблица.

    Reply
  60. sertak

    Версия 12.2.42

    исправлена ошибка, из-за которой в запросе к внешней базе 1С 8 колонку нельзя было назвать Количество;

    на интерфейсе формы команды перехода к web-страницам сгруппированы в подменю Поддержка.

    Reply
  61. sertak

    Версия 13.0.43

    реализовано получение данных из файловых информационных баз 1С 7.7 через простые запросы.

    Reply
  62. sertak

    Версия 14.0.44

    реализовано получение данных из файлов формата DOC (Microsoft Word);

    реализована возможность указания конкретного номера книги при получении данных из файла формата XLS;

    реализована возможность загрузки файлов с клиентского ПК (тем не менее, необходимое для чтения ПО должно быть установлено на сервере, например, Microsoft Office, т.к. обработка файлов производится на сервере).

    Reply
  63. sertak

    Версия 14.1.45:

    реализована возможность отключения условий вывода и запрета вывода строк без удаления строк табличной части;

    расширен список возможных значений версии платформы 1С 8 (используется для получения ProgID COM-объекта при подключении к внешней базе);

    реализован вывод предупреждения, если число колонок в файле XLS меньше указанного в настройках для ключа или реквизитов;

    реализован вывод предупреждения, если число колонок в выборке 1С 8 / SQL меньше указанного числа столбцов в ключе;

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

    Reply
  64. sertak

    Версия 15.0.46:

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

    после открытия операции из справочника или файла таблица расхождений очищается;

    доработан интерфейс.

    Reply
  65. user612295_death4321

    Добрый вечер.

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

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

    Так же у меня по каким то причинам неверно заполнялись реквизиты при сравнении двух баз через COM, все данные были записаны как COMОбъект, особо ночью разбираться не стал, вставил заглушку в процедуре СравнитьДанныеНаСервере в виде ЗначениеИзСтрокиВнутр(ПодключениеБ.ЗначениеВСтрокуВнутр(ТЗ_Б_Сгруппированная)) — вроде сравнило корректно.

    Reply
  66. sertak

    (66) Добрый день. Обработка должна работать в любой конфигурации, в т.ч. нетиповой, поэтому про БСП она ничего не должна знать, но я доработаю для 8.2 по возможности.

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

    Reply
  67. sertak

    (66)

    Так же у меня по каким то причинам неверно заполнялись реквизиты при сравнении двух баз через COM, все данные были записаны как COMОбъект, особо ночью разбираться не стал, вставил заглушку в процедуре СравнитьДанныеНаСервере в виде ЗначениеИзСтрокиВнутр(ПодключениеБ.ЗначениеВСтрокуВнутр(ТЗ_Б_Сгруппированная)) — вроде сравнило корректно.

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

    Пример:

    вместо ссылок


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

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

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


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

    ДокументПриходТовары.Товар.Код

    Это что касается реквизитов. В случаях с ключами все так же, за исключением ситуации, когда из ссылки извлекается GUID, тогда ссылку не нужно преобразовывать в простой тип.

    Reply
  68. sertak

    (66)

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

    К сообщению прикреплена обработки версии 15.0.46.2 для платформы 8.2 (тестировал на 8.2.19.130).

    Reply
  69. sertak

    Версия 15.0.47:

    исправлена ошибка, из-за которой не обновлялись связанные элементы справочника Операции сравнения данных.

    Спасибо пользователю MrGrey за выявление ошибки.

    Reply
  70. Xershi

    Добрый день!

    Заинтересовал вариант сравнения по oData:

    https://infostart.ru/public/711302/

    Планируете расширять функционал?

    Reply
  71. Xershi

    По ком как обычно не взлетело. Сервер 64-битный. Ни на 32-битном, ни на 64-битном клиенте класс не зарегистрирован. Регистрацию 64-битной компоненты делал.

    Reply
  72. sertak

    (71) Добрый день. Да, есть планы, но все зависит от наличия свободного времени.

    По oData никогда не пробовал, интересная тема.

    Reply
  73. sertak

    (72) Ну тут обычные танцы с бубном каждый раз приходится проходить, чтобы COM заработал. Ссылки на рецепты не стану приводить, вы их и без меня найдете.

    Reply
  74. Xershi

    (73) сообщите, если появится время. Пока отложил такую задачу на полку!

    Reply
  75. Xershi

    (74) единственное, что может решить эту проблему создание ком-коннектора, но это конечно не вариант((

    Reply
  76. sertak

    (76) Хорошо.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *