gifts2017

Универсальная свертка + корректировка регистров SQL 1.0

Опубликовал Вадим 1С911.BY (Вадимко) в раздел Обработки - Свертка базы

1. "Рыба" свертки с выборочным удалением документов
2. Самостоятельный документ корректировки регистров

Описание обработки «Свертка ОУ SQL»

1. Используется ВК 1cpp.dll
2. Позволяет выборочно удалять документы в сворачиваемом периоде.
3. Автоматически восстанавливает итоги регистров после свертки.
4. Позволяет организовать свой контроль по итогам регистров до свертки. Для документов обработка контролирует удаление по остаткам регистров, для собственных контролей можно создавать свои строки в ТЗСсылок (см. закомментированный пример).
5. Позволяет вести лог выполнения.
6. Содержит две части. Универсальная часть отвечает за контроль, восстановление итогов регистров, ведение лога. Сама процедура свертки пишется программистом.
7. После свертки создаются документы «Двигатель регистров». Движения создаются такие, чтобы сравнять текущие итоги с тем, какими они были до свертки.

Возможности документа «Двигатель регистров»

Документ может использоваться самостоятельно и встраиваться в любую конфигурацию (не забываем про картинки) в которой есть регистры.
В процессе свертки остатки (с учетом необходимых корректировок, если удаляются не все документы в сворачиваемом периоде) вводятся документом “Двигатель регистров».
Этот документ универсален и позволяет:
1. Корректировать данные регистров (вводить новые строки в таблицу, копировать, удалять, изменять любые значения в колонках таблицы).
2. По кнопке «Действия» сохранять таблицу движений в файл и восстанавливать таблицу из файла. Может использоваться, например, для переноса данных между идентичными базами, полученными копированием.
3. Заполнять таблицу итогами регистра на выбранную дату.
4. Инвертировать знак регистра (только для регистров остатков).

Особенности и примеры использования документа «Двигатель регистров»

Т.к. документ не содержит табличной части, то информация в таблицу считывается из движений документа. Поэтому при отмене проведения таблица окажется пустой и корректировать будет нечего!
Например, для изменения даты документа необходимо сохранить таблицу в файл, отменить проведение, изменить дату, восстановит таблицу из файла.
Для того чтобы полностью или выборочно списать итоги регистра необходимо заполнить таблицу по итогам, произвести необходимые корректировки и инвертировать знаки.
Естественно список действий можно дополнять своими процедурами

Оригинал обработки

http://1c911.by/skachat-1s-besplatno/universalnaya-svertka-korrektirovka-registrov-sql.htm

Изменения и новые обработки смотрите на http://1c911.by/skachat-besplatno-1s.htm

Скачать файлы

Наименование Файл Версия Размер
- 357
.1215171359 22,71Kb
27.02.13
357
.1215171359 22,71Kb Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Вадим 1С911.BY (Вадимко) 05.07.08 02:38
Если необходимо контролировать ссылки в остатках на подчиненные и прочие документы - делаем по аналогии

ДокП.ВыбратьПодчиненныеДокументы(,,Док.ТекущийДокумент());
Пока ДокП.ПолучитьДокумент() = 1 Цикл
Если ЕстьСсылкиНаОбъект(ДокП.ТекущийДокумент()) = 1 Тогда
ЗаписьВЛог(Строка(Док.ТекущийДокумент())+" есть остатки по подчиненным документам, не удален");
Удалять = 0;
Прервать;
КонецЕсли;
КонецЦикла;

В общем надеюсь понятно
Отработала обработка в этот раз за час (можно еще ускорить), в прошлом году на базе тех же клиентов - примерно 2.5 на DBF (старая обработка)
2. Alex (devsvc) 06.07.08 02:26
> (не забываем про картинки)
Как это сделать попроще?
3. Вадим 1С911.BY (Вадимко) 06.07.08 22:22
Сохранить картинки в файл из моей конфиги и потом добавить в свою библиотеку
4. Вадим 1С911.BY (Вадимко) 06.07.08 22:26
Кое какие мелочи делались на ходу без проверки
Основные моменты прошли боевое крещение
Так что пишите письма ежели что
5. Alex (devsvc) 07.07.08 05:17
Перед запуском Свертки видимо нужно запустить Wrap например на 31.12.06.
Создадутся остатки на эту дату.
Что проще сделать чтобы не удалить их Сверткой.
6. Вадим 1С911.BY (Вадимко) 07.07.08 15:25
Ничего запускать не надо
Свертка сворачивает регистры
Проводки в базе заказчика я делал по-тупому (все обнулял и заливал остатки)
Важнее было понять что можно удалять а что нет (инфа есть в регистрах и т.п.)
7. Alex (devsvc) 08.07.08 02:52
>Проводки в базе заказчика я делал по-тупому (все обнулял и заливал остатки)
Например я провел Свертку на 31.12.06.
Половина документов (проводки остались) не удалена из за наличия ссылок.
И как мне залить бухгалтерские остатки?

Я думал сделать wrap (удалить проводки) свертку бухгалтерии на 31.12.06.
Затем свертку Регистров на 30.11.06.
8. Вадим 1С911.BY (Вадимко) 08.07.08 17:55
Разницы нет, но логичнее делать манипуляции с проводками после свертки, не правда ли (в том случае если документы имеют и проводки и движения)?
Как залить?
Списать остатки в ноль
А потом выгрузить из эталонной базы
9. Вадим 1С911.BY (Вадимко) 09.07.08 12:18
10. Alex (devsvc) 10.07.08 00:00
Я пока на 1 стадии
Стандартная Wrap очень долго (10-15 часов 2 года убирает), база 15 гб - комплексная. Log файл разрастается до 13 гб.
Занимался wrap_sql_dbf - Быстрая свертка Бухгалтерских баз (1c.proclub.ru).
Но там обязателен пересчет итогов, а главное не корректно удаляет проводки (пока не понял из за чего).

Черновые проходы свертки Регистров делал, достаточно неплохо.
Но мы оставляем 2 года и возрат ТА в текущее состояние занимает время 2-3 часа.
Для сверки баз купил ж. диск 500 гб - завтра поставлю.
Первые впечатления достаточно хорошие, будем дожимать.
11. Вадим 1С911.BY (Вадимко) 10.07.08 01:06
В общем-то более быстрым может быть только удаление объектов напрямую (весьма быстро)
Но это потребует последующего ТиИ, на базе 10 гиг у моего компа ушло 8 часов
Такой долгий перенос ТА :0
Возможно из-за идиотского регистра в котором ведется УСН...
Если не сдвигать ТА - замедлится удаление

ЗЫ. Ну это я преувеличил слегка, есть поле для оптимизации :)
12. Валерий (VV) 16.08.08 11:45
Вадимко, а что - тока для СКУЛя работает?
13. Вадим 1С911.BY (Вадимко) 19.08.08 11:40
Да, для DBF не буду делать
По сути мало будет отличаться
14. Artem (kalleka) 03.02.09 16:43
Кстати у нас при свертке(частично использовали твою обработку) возникла проблема - существует документы сторнирующие свои документы основания - соответственно они минусуют полностью движения основания и делают свои движения. При этом если основание до даты свертки, а сторнирующий документ после и основаниене висит в остатках, то лезут косяки - сторнировать то нечего. Как сам бы решал такую проблему?
15. Artem (kalleka) 03.02.09 16:49
к 14, имелось в виду основание не висит в остатках

к примеру до свертки
остаток на дату свертки 0
докоснование движение: остатки ТМЦ товар расход 10 (датаДок до свертки)
корректировка: остаки ТМЦ товар расход -10(датаДок после свертки)
: остаки ТМЦ товар расход 5
остаток после корректировки 5

после свертки:
основания нет, корректировка делает движения: остаки ТМЦ товар расход 5

остаток после корректировки -5


после свертки* основания нет
16. Вадим 1С911.BY (Вадимко) 28.02.09 18:55
(14) Не очень понятно из-за чего такое может случиться
Конечно я сталкивался с похожим (допустим частичная оплата документа в обрезаемом периоде) - все было корректно
Документ «Двигатель регистров» должен был зафиксировать остаток +5 по-любому
Может базу обрезали не на ту дату что надо либо меняли даты документов ДвижениеРегистра
Ну или кривое что-то в сторнировке :)
Если все же действительно что-то не так - можно проверять такие ситуации см. пост № 1 и не удалять некоторые документы
17. V Z (UserPro) 03.12.09 01:16
:?: Проверил работает.
Режим стандартной обработки ( неиспользую внешнюю компоненту ).
Добавил простую процедуру удаления документов
(удаляем все доки на дату свертки) с контролем % выполнения удаления
интересно до 80% удаление происходит быстро после резкое торможение.
:?: ? кто знает почему.
18. Светлана (Svetos) 14.04.10 08:36
Как ее установить? Я объединила конфигурации, но теперь называется мой предприниматель сверткой 1.0 СКЛ, журналы открываются с ошибкой, документы видимо пустые, т.к. не вижу ни контрагента, ни суммы. А дальше то что?
19. Stepan Yarancev (yrancev) 15.04.10 04:50
Столкнулся с проблемой на SQL 2005, Сам я прямые запросы не знаю поэтому прошу помочь исправить данную обработку под SQL 2005. Ошибка:
"ТЗ = ЗапросСКЛ.ВыполнитьИнструкцию(ТекстЗапроса);
{Обработка.СверткаSQL.Форма.Модуль(527)}: State 42000, native 102, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '77'."
20. var_ad vad_ad (var_ad) 08.12.11 13:50
Комментарии настораживают... но, думаю, рискнуть стоит, а вдруг получится... Другими свертками не удалось свернуть базу sql в 12 гигов. А вдруг получится)))
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа