Пересчет бухгалтерских таблиц отбора по счетам и по субконто для 1С 7.7

Скрипт для 1С 7.7 MS SQL.
Перезаполнение таблиц отбора счетов (_1SACCSEL) и отбора по субконто (_1SSBSEL)

В бухгалтерской подсистеме для 1С 7.7 в SQL версии есть несколько таблиц:

1. Счета _1SACCS, операции — _1SOPER, проводки — _1SENTRY;

2. Обороты между счетами — _1SBKTTLC (Содержит итоговые обороты по счетам по месяцам), Остатки — _1SBKTTL Хранит остатки и обороты по счетам по субконто по месяцам);

3. Отбор счетов — _1SACCSEL, Отбор проводок по субконто (для видов субконто, у которых включен режим отбора) — _1SSBSEL

2 и 3 группа таблиц заполняются на основе 1 группы.

Возникают случаи несоответствия первоначальным данным. Штатные средства 1С могут пересчитать таблицы только в монопольном режиме через «Управление бух. итогами»

В моем случае произошел также случай, когда и полный пересчет приводил к SQL ошибке.


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

Скрипт может быть запущен в Microsoft SQL Management Studio.

Далее необходимо выбрать базу данных вашей 1С и указать во второй строке период пересчета:

set @period = ‘XXXXX%’

например: set @period = ‘20%’ — пересчет за все даты из 2000,

set @period = ‘202406%’ — пересчет только за июнь 2024 года.

 


TODO:

Сделать скрипт через внешнюю обработку для 1С

Добавить в скрипт пересчет бухгалтерских итогов (группа таблиц 2)


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

Leave a Comment

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