Отключение процедуры верификации для 1С

Для начала ответим на вопрос - зачем это нужно? Это нужно для каких-либо изменений в структуре внутренних таблиц 1С и в первую очередь для подключения стандартного механизма репликации MS SQL.При подключении стандартного механизма репликации сервер автоматически добавляет служебные поля к таблицам, поставленным на репликацию. Также добавляются индексы и в некоторых случаях изменяются свойства столбцов, например identity.1С при прохождении процедура верификации анализирует структуру базы данных и в случае расхождения со структурой описанной в dds файле выводит ошибку и заканчивает сеанс.

Материал опубликован на сайте softpoint.ru/

Для начала ответим на вопрос - зачем это нужно? Это нужно для каких-либо изменений в структуре внутренних таблиц 1С и в первую очередь для подключения стандартного механизма репликации MS SQL.При подключении стандартного механизма репликации сервер автоматически добавляет служебные поля к таблицам, поставленным на репликацию. Также добавляются индексы и в некоторых случаях изменяются свойства столбцов, например identity.1С при прохождении процедура верификации анализирует структуру базы данных и в случае расхождения со структурой описанной в dds файле выводит ошибку и заканчивает сеанс.

Владимир Сердюк

Анализ в профайлере лога действий 1С по верификации показывает, что для анализа БД используются три хранимые процедуры: sp_columns, sp_tables, sp_statistics.

sp_tables - свойства таблицы
sp_columns – состав и свойства столбцов таблицы
sp_statistics – состав и свойства индексов таблицы

Отключать верификацию можно по-разному. Можно отключать верификацию только служебных полей или же конкретных таблиц. Я предпочитаю отключать верификацию полностью и заменять ее своей проверкой соответствия md – структура. Для того чтобы 1С проходило успешно процедуру верификации независимо от типа и состава изменений в БД, необходимо выполнить следующие действия. До изменений в структуре запоминать результаты, возвращаемые вышеописанными процедурами. Затем после изменений в структуре хранимые процедуры должны возвращать данные из записанного ранее хранилища.

У меня реализация была следующей:

1) Создается БД Verify_1C. В ней будут храниться данные о структуре БД 1С. Также в ней будет храниться таблица Check_Verify_1C в которой будут храниться флаги включения, отключения верификации конкретной базы.

CREATE TABLE [dbo].[Check_Verify_1C] (
[Base] [char] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[Flag] [int] NOT NULL
) ON [PRIMARY]

где Base – база данных 1С а Flag – флаг включения отключения верификации. Flag принимает следующие значения : 0 – стандартный режим работы БД,1 – включение на запись, 2 – включение на чтение.

2) Создаются таблицы sp_columns_1c, sp_statistics_1c, sp_tables_1c. В этих таблицах будет храниться информация возвращаемая соответствующими хранимыми процедурами а также плюс два дополнительных поля: Table_Name_1C – Таблица 1С , Base_1C – База данных 1С.

3) Меняются текст хранимых процедур sp_columns, sp_tables, sp_statistics. Учитывая что это системные хранимые процедуры и мы их просто так не поменяем нужно выполнить ряд действий. Сначала нужно включить свойство SQL сервера allow modification(разрешение модификации системных таблиц). Затем в sysobjects поменять значение поля status на любое другое значение пользовательской процедуры(как правило оно не отрицательное). Проделав эти операции мы сможем изменить текст системных хранимых процедур.

4) Изменяем текст хранимых процедур. Краткая концепция изменения следующая.

а) Если приложение не 1С или значение флага для конкретной БД равно 0 – процедуры работают как и раньше.

set @flag=0
select @flag=flag from verify_1c.dbo.Check_Verify_1C where base=db_name()
if (app_name()='1CV7') and (@flag<>0)

б) Если значение флага равно 1 то происходит запись в таблицы: sp_columns_1c, sp_statistics_1c, sp_tables_1c и возвращается результат приложению.

if @flag=1
begin

delete from [Verify_1c].[dbo].[sp_tables_1c] where table_name_1c=@table_name and base_1c=db_name()

insert into [Verify_1c].[dbo].[sp_tables_1c] select


в) Если значение флага равно 2 то происходит чтение из соответствующих таблиц

SELECT [TABLE_QUALIFIER], [TABLE_OWNER], [TABLE_NAME], [TABLE_TYPE], [REMARKS]
FROM [Verify_1c].[dbo].[sp_tables_1c]
where table_name_1c=@table_name and base_1c=db_name()
order by 4, 1, 2, 3

Собственно говоря и все… Для того чтобы нам отключить верификацию базы Test нам необходимо будет выполнить следующие действия:

1) Первый раз добавить базу Test в таблицу Check_Verify_1C.
2) Включить флаг на запись т.е. в 1-ку.
3) Запустить 1С и убедиться(можно и не убеждаться если вы все правильно сделали?)
что в таблицах sp_columns_1c, sp_statistics_1c, sp_tables_1c появились записи
соответствующие процедурам.
4) Ставим флаг на чтение и можем теперь менять структуру, так как мы того захотим.
1С получит от хранимых процедур именно то,что она ожидает.

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

P.S. При изменении структуры таблиц мы можем отключать верификацию, но во время работы 1С мы столкнемся с дополнительными трудностями, которые впрочем, решаются. Однако это уже тема следующей статьи.

Начать дискуссию

Не успеваете составить отчеты и собрались временно сдать нулевки? Будьте осторожны! «Ночной бухгалтер» № 1732

Если бухгалтер не успевает вовремя сформировать правильную отчетность, то может показаться, что хороший вариант — сдать нулевки, а чуть позже отправить уже корректировочные отчеты. Узнали, как будем отдыхать в 2025 году, грозит ли нейросеть стать конкурентом бухгалтеру и что происходит с YouTube.

Иллюстрация: создано с помощью ИИ OpenAI © Вера Ревина/Клерк.ру
Пенсии

Законодатели взялись за многодетных отцов-одиночек

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

Россияне смогут установить самозапрет на ставки

Жители страны смогут установить запрет на участие в азартных играх на 4 и 12 месяцев. От таких клиентов букмекеры не смогут принимать ставки и предлагать им фишки в казино.

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора
Маркетинг

Рынок блогосферы восстановился

Большинство рекламных агентств расшили штат сотрудников и повысили зарплаты на 13%.

Как строить карьеру в ИТ через эффективный нетворкинг

Как строить карьеру в ИТ через эффективный нетворкинг
Импорт

Финансовое сопровождение импортеров стало самой востребованной услугой ВЭД в первом полугодии 2024

Участники внешнеэкономической деятельности выбирают компании с официальным представительством в Китае, чтобы избежать проблем с оплатой поставок.

Опытом делятся эксперты-практики, без воды

До конца недели скорость загрузки YouTube на стационарных компьютерах может снизиться до 40%, а к концу следующей — уже до 70%

Мера затронет только десктопную версию. Мобильную замедлять пока не будут

Бесплатно с ФСБУ Документооборот

ФСБУ 27/2021 «Документы и документооборот в бухгалтерском учете»

Кто должен применять ФСБУ 27/2021, какие требования предъявляются к бухгалтерским документам и документообороту, как правильно составить документ и исправить ошибку.

ФСБУ 27/2021 «Документы и документооборот в бухгалтерском учете»
Реклама

Депутаты выступили против рекламы на запрещенных ресурсах

Ответственность за нарушение закона будут нести и рекламодатели, и распространители сообщений.

Поручение

Как составить договор поручения: суть, условия и образец

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

Как составить договор поручения: суть, условия и образец

Маркетплейсы будут размещать ссылки на сертификаты качества

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

НДС

Все коды видов операций по НДС: таблица

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

Все коды видов операций по НДС: таблица

Нейросеть для бухгалтеров или психиатр для нейросети

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

Нейросеть для бухгалтеров или психиатр для нейросети

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

Продажа товаров с истекшим сроком годности запрещена. Она изымается из оборота и в дальнейшем подлежит утилизации или уничтожению. При каких условиях понесенные при этом расходы можно учесть при расчете налога на прибыль?

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

О подозрительных операциях нотариусы и майнеры будут сообщать в Росфинмониторинг

Майнеров криптовалют и нотариусов обязали соблюдать антиотмывочный закон 115-ФЗ.

Застройщиков обяжут рядом с ЖК возводить школы

Вместе с жилищными комплексами застройщики будут стоить объекты социальной и транспортной инфраструктуры.

⚡️ Итоги дня: ФАС раскрыла картель на торгах соцтоварами, активисты приклеили себя к взлетной полосе, а спортсмены жалуются на еду в Олимпийской деревне

Подготовили обзор главных событий дня — 25 июля 2024 года. Все самое интересное, что писали и обсуждали в сети, в одной подборке.

Банки

У ВТБ появился сервис покупки автомобилей частями

Сервис «ВТБ Авто» позволяет разделить покупку машины на части: сначала взять авто в аренду, а в конце срока выкупить его по остаточной стоимости.

Штрафы ГАИ

Сервисы по аренде электросамокатов наказали нарушителей больше 400 тысяч раз

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

Интересные материалы

НДС

Сегодня последний день сдачи отчетности по НДС без штрафов

25 июля это крайний срок сдачи декларации НДС организациями и ИП на ОСНО, а также на ЕСХН.