Как свернуть базу УТ 10.3




Как свернуть УТ 10.3. Цель свертки — свернуть остатки по товарам и по взаиморасчетам с контрагентами.

Работы проводились на платформе 1С:Предприятие 8.3 (8.3.13.1644), в программе "Управление торговлей", редакция 10.3 (10.3.49.3).

Цель свертки — свернуть остатки по товарам и по взаиморасчетам с контрагентами. Характеристики и серии не учитываются. По вашему желанию будут добавлены.

По товарным остаткам нужно, чтобы остатки в товарном и в партионном учете совпадали.

1. Типовая свертка (с диска ИТС или ИТС-онлайн — обработка "Свертка информационной базы" https://its.1c.ru/db/metod8dev#content:3685:hdoc) сворачивает регистры "ТоварыОрганизаций", "ТоварыНаСкладах", "ПартииТоваровНаСкладах". Если в базе начались расхождения по этим регистрам, то в результате проведения типовой свертки вы получите те же расхождения и не сможете свести остатки. Поэтому наилучшим методом является не использовать типовую свертку по товарам, а написать обработку, которая переносит остатки по регистру "ТоварыНаСкладах" в документ "ОприходованиеТоваров". Прикладываю обработку к статье. Себестоимость товаров (которая указывается в поле Цена табл. части документа Оприходование) при этом можно брать по разному — приведу два возможных способа:

1) по средней из регистра "ПартииТоваровНаСкладах" (такой способ реализован в прилагаемой обработке)

2) если заданы "Приходные" цены, то из регистра сведений "ЦеныНоменклатуры"

3) по тем товарам, по которым себестоимость не определяется, проставляется 1 руб. (или 1 копейка), в дальнейшем правится руками. Для целей выделения НДС рекомендую ставить 1 руб. Если НДС нет, то 1 копейку.

2. Такой же вариант проведения свертки можно использовать для сворачивания взаиморасчетов по контрагентам. Так, к примеру, типовая свертка сворачивает регистры "ВзаиморасчетыСКонтрагентами", "ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов", "РасчетыСКонтрагентами". При этом по документам расчета не проверяется итоговая задолженность контрагента в целом по договору: по договору в целом задолженности может не быть, а остатки по документам расчета на определенную дату имеются (см.рис.1).

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

3. Сделал архивную копию базы, развернул две копии рабочей базы — первая для экспериментов, вторая база — неприкосновенная для сравнения с первоначальной рабочей базой. Вторая база пригодилась с неожиданной стороны. Я начал в рабочей базе восстанавливать последовательность проведения документов (по партионному учету). В итоге остатки по товарам и взаиморасчетам стали "скакать" — остатки по товарам ушли в минус, появились долги по контрагентам.

В результате выяснилось, что в базе имелись документы, в реквизитах которых стояли одни контрагенты или товары, а в проводках были другие. Такие ошибки могут возникать по разным причинам, назову только две известные мне:

1) при обмене документами с другими базами, не производится дальнейшая процедура перепроведения документов;

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

В итоге для исправления ошибок учета менеджеры создавали "Списания товаров", "Корректировку долга", "Оприходования товаров" вместо того, чтобы выявить причину происхождения ошибок и ликвидировать ее.

В общем, вывод такой — не всегда полезно восстанавливать последовательность перед сверткой. А так как в рабочей базе за два года были перепроведены документы, текущие остатки никого не устраивали. Пришлось или восстанавливать архив и переносить документы за пару дней работы менеджеров, или найти альтернативный вариант. Так как сворачивать рабочую базу уже было нельзя, а восстанавливать ее было долго, то было сделано так — на второй базе была проведена свертка, далее необходимые документы "ВводНачальныхОстатковПоВзаиморасчетам", "ОприходованиеТоваров", "КорректировкаЗаписейРегистров" были перенесены в рабочую базу с помощью типовой обработки "ВыгрузкаЗагрузкаДанныхXML82". В дальнейшем документы в рабочей базе были удалены до даты свертки.

4. При анализе регистров сведений — что сворачивать, а что оставить как есть, обнаружил такой момент. Для своих нетиповых регистров сведений, которые я добавлял в течение года, рекомендуется добавлять в качестве документа-регистратора документ "КорректировкаЗаписейРегистров". Это пригодится не только при корректировке записей этих регистров, но и при сворачивании информации  в конце года. Это было небольшое отступление. Что касается свертки :

Цены по товарам, как и все остальные регистры сведений, было решено не сворачивать!

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

 

Когда случайно перепутал кнопки — нажал "Свернуть все" вместо "Сформировать" — тогда потерял час времени, поскольку удалились записи по многим регистрам, потом пришлось восстанавливать копию из архива. Чтобы не путаться в кнопках, отключил их доступность совсем (см.рис.4). Для проведения типовой свертки по определенным регистрам накопления:

"ДенежныеСредства",

"ДенежныеСредстваКСписанию",

"ТоварыВРезервеНаСкладах",

"РазмещениеЗаказовПокупателей",

"ЗаказыПокупателей" —

использовал только кнопку "Сформировать" (см. рис.4).

5. Типовая свертка не сворачивает регистры оборотов: алгоритм не написан, используется вызов команды "Возврат" для оборотных регистров. Получается, что после проведения свертки из базы исчезнут вместе с документами-регистраторами вся накопленная информация по оборотным регистрам!

К примеру, если вы используете накопительные скидки, то вам важно сохранить после свертки информацию по регистру "Продажи по дисконтным картам". В результате я написал обработку для сворачивания оборотов по регистру "Продажи по дисконтным картам", выкладываю здесь. Для других оборотных регистров можно использовать тот же принцип, и доработать алгоритм обработки по аналогии.

6. Так как УТ обменивалась с БП 3.0, то перед проведением свертки, я провел обмен и изменил дату переноса документов на Дату свертки.

Так как процедура сворачивания остатков растянулась на несколько вечеров, то пришлось установить "Дату запрета редактирования" на Дату свертки, и включить "Применение даты запрета редактирования для полных прав" (через константу). Помним об этом!

7. После формирования документов остатков, документы за весь прошлый период распровел и пометил на удаление с помощью "Групповой обработки документов и справочников". И впоследствии удалил с помощью обработки "Удаление помеченных объектов без монопольного режима" (ищите на ИС). Хотя нет, удалил непосредственно с помощью обработки "Удалить документы без проверки" (выкладываю здесь).

Последнюю обработку не рекомендую использовать вслепую — требуется адаптация под вашу свертку. Поскольку с помощью нее удаляются все документы помеченные на удаление без проверки наличия ссылок на них, кроме документов, которые входят в записи регистров из документов "Корректировка записей регистров", используемых для отражения наших остатков в свертке базы. Зная какие регистры свернулись и содержат остатки на дату свертки, мы можем по ним исключить из удаления документы, входящие в состав остатков по данным регистрам. В общем, смотрите код обработки, он открыт, адаптируйте под себя!

8. Не использовал в запросах тип "Граница" вместо "Даты" (ДатыСвертки) — хотя по уму надо, и не пришлось анализировать и сворачивать регистры по НДС — и если кому придется, то воспользуйтесь подходом из пункта 2 и документом "ВводНачальныхОстатковНДС" и "ВводНачальныхОстатковНДСпоПартиям" соответственно.

Всем бобра, добра-бобра!   🙂


См. также:

Сравнение запросов в одном окне NEW!

Как эффективно использовать Инфостарт

Список реализаций + структура подчиненности + реестр документов SALE’1sm

Список заказов поставщикам + структура подчиненности SALE’1sm

Список заказов покупателей + структура подчиненности SALE’1sm

Договоры для 1с-ника ТОП-скачиваний

Сетка расписания (Планировщик) нестанДАрт

Два механизма, которые ускорили работу бухгалтеров в 1С нестанДАрт

Мини-CRM для УТ 10.3

Расчет банковских (рабочих) дней нестанДАрт

Шаблоны кода в режиме 1С:Предприятие SALE’1sm

Доработка конфигурации Конвертация Данных

Планирование платежей. Прогнозирование прибылей и убытков

Ввод показателей план-факта БП 3.0 Know-how

Инвентаризация личного опыта Для новичков 1С

Большие запросы: взгляд на проблему нестанДАрт

Технология создания коммерческих разработок Know-how

Андроид-решение для создания заказов в 1С Know-how + нестанДАрт

Отчет Остатки и цены

Печать ценников с одной и двумя ценами 55х40, 100х60, 140х200

Загрузка данных о розничных продажах из магазинов Intimissimi (Интимиссими) и Calzedonia (Кальцедония)

Доработки обмена "УТ 10.3 — интернет-магазина Shop-Script"

Гарантия возврата денег

ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

Leave a Comment

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