bdd2

Простая свертка базы данных Управление торговлей 10.3

Опубликовал Сергей Лактионов (lavrov) в раздел Обработки - Свертка базы

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

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

Использование :
Добавляем обработки как внешние обработки табличных частей документов оприходование  товаров , и ввода начальных остатков по взаиморасчетам соответственно. Делается это через  через сервис- внешние печатные формы и обработки - внешние обработки заполнения табличных частей. Обработки  можно добавлять к любой табличной части документа. 
Обратите внимание
1. Документов   ввода начальных остатков по взаиморасчетам  должно быть два , один с видом операции расчеты с поставщиками , другой с видом операции - расчеты с покупателями. 
2. Документов оприходование товаров  должно быть столько -ко же сколько у вас  складов. Для каждого склада делаем отдельный документ, в нем выбираем склад, и нажимаем кнопку заполнить .

Обратите внимание:

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

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

Наименование Файл Версия Размер
Заполнение остатков взаиморасчетов
.epf 4,83Kb
21.11.12
811
.epf 4,83Kb 811 Скачать
Заполнить остатки товаров по регистру товары организаций
.epf 4,99Kb
21.11.12
329
.epf 4,99Kb 329 Скачать
Заполнить остатки товаров по регистру остатки по складам
.epf 4,95Kb
21.11.12
540
.epf 4,95Kb 540 Скачать

См. также

Добавить вознаграждение
Комментарии
0. Сергей Лактионов (lavrov) 134 01.01.70 03:00 Сейчас в теме
Самый простой способ свернуть базу, это удалить все документы из базы , оставив только справочники. Затем нужно ввести документы по вводу остатков товаров и остатков по взаиморасчетам с контрагентами.
Данные обработки заполнения табличных частей документов позволяют сначала заполнить документы ввода начальных остатков по взаиморасчетам и остаткам товаров , затем удалив все остальные документы из базы групповой обработкой получить на выходе свернутую базу.

Перейти к публикации

1. Жека Moscow (SpartakM) 32 03.12.11 23:57 Сейчас в теме
Вот спасибо!
как раз сейчас стоит задача по свертке УТ.
Надеюсь работоспособность соответствует заявленным требованиям.
2. Андрей Акулов (DrAku1a) 1182 05.12.11 01:29 Сейчас в теме
Плюс ставлю заранее. Скоро понадобится - не буду изобретать велосипед. А при учете "по заказам" - сворачивает нормально (с сохранением целостности ссылок)?
3. Сергей Лактионов (lavrov) 134 05.12.11 22:09 Сейчас в теме
DrAku1a пишет:
люс ставлю заранее. Скоро понадобится - не буду изобретать велосипед. А при учете "по заказам" - сворачивает нормально (с сохранением целостности ссылок)?


Обновил версию , теперь должна корректно заполнять при учете по заказам.
5. Александр (alexkl) 07.12.11 14:15 Сейчас в теме
Да, что и говорить - вовремя.
7. Жека Moscow (SpartakM) 32 08.12.11 09:43 Сейчас в теме
Остатки товаров формируются без учета характеристик, если я правильно понял.
Это не совсем правильно).
Лучше было бы эту возможность добавить!
8. Сергей Лактионов (lavrov) 134 08.12.11 15:21 Сейчас в теме
SpartakM пишет:

Остатки товаров формируются без учета характеристик, если я правильно понял.

Это не совсем правильно).

Лучше было бы эту возможность добавить!


Добавил такую возможность.
9. Андрей Андрей (diarki) 13.12.11 13:54 Сейчас в теме
А как быть с регистром накопления товары переданные? есть ли возможность (например мне нужно занать сколько у контрагента числится многооборотной тары которую он должен вернуть) этот регистр свернуть и перенести?
10. Сергей Лактионов (lavrov) 134 15.12.11 00:08 Сейчас в теме
(9) diarki,
Есть конечно , на инфостате куча обработок на эту тему. Заполняйте итоги по регистру товары переданные в документ корректировка значений регистров.
В моем случае обработки заполняют табличные части документов, эти документы движений по регистру товары переданные делать просто не умеют.
11. Андрей (Genneral) 04.01.12 13:12 Сейчас в теме
Спасибо. То что нужно и ничего лишнего, особенно когда приходится сворачивать большие базы где не совсем верно велся учет и при свертке стандартной обработкой вываливается куча ошибок. Ещё бы и для 8.1 ))
12. AOchkasov (aochkasov) 10.01.12 13:59 Сейчас в теме
13. Александр Омельянов (proger1c81) 22.01.12 18:51 Сейчас в теме
Супер! как кстати мне сейчас пришлась эта обработочка..... я целый день мучаюсь со стандартными "свертками", но они меня не устраивают тем, что оставляют ссылки на помеченные на удаление документы, из-за чего их нельзя удалить навсегда. Для себя решил, что мне всего лишь нужно перенести остатки в Оприходование товаров и перенести взаиморасчеты... Остальное мне не нужно сворачивать. Спасибо за готовое решение! думаю, что она востребованной оказалось для многих!
14. margo2007 (margo2007) 6 04.02.12 02:42 Сейчас в теме
При свертке базы данные о сроке задолженности контрагента будут потеряны?
15. Сергей Лактионов (lavrov) 134 06.02.12 12:52 Сейчас в теме
16. Сергей (serg_aramis) 8 21.02.12 12:43 Сейчас в теме
Сказочная хрень. Решал аналогичную задачу решил банально сравнить. Скачал заполнение остатков взаиморасчетов. Посмотрел
3 ошибки одна из которых наигрубейшая.
Начну с самого нестрашного. Что вам помешало взаиморасчеты и авансы поместить в один запрос и сгруппировать по ">0" и "<0"?
Данные из базы лучше всего получать за 1 запрос а не за несколько. Вы же все равно заполняете обе табличных части в одной процедуре.
Второе. "1 КАК КурсВзаиморасчетов" Это что за ерунда? Открою вам глаза на то что многие ведут управленческий учет в валюте отличной от рубря и присоединить таблицу регистров сведений курсов валют проблема всего на 5 минут. Но это в принципе тоже ерунда по сравнению с третьим
"Запрос.УстановитьПараметр("дата",КонецДня(ДокОбъект.Дата));" Вот такая установка параметра на таблицу остатков регистра накопления приводит к тому что документы-регистраторы которые проведены таким же концом дня, как и ваш документ, а именно в 23.59.59 банально выпадают из итогов и из заполнения вашего документа. А значит и в остатках не участвуют и сворачивается неверно. Советую почитать ЖКК по таким вещам как МоментВремени и Граница.
Всех скачавших и плюсанувших поздравляю.
sstas007; itwonline; +2 1 Ответить 1
17. Сергей Лактионов (lavrov) 134 28.02.12 13:13 Сейчас в теме
Обработка писалась из расчета именно на рублевый учет , в описании об этом написано.
на счет количества запросов , может вы и правы, но мне так было удобней сделать.
Выложите на инфостат вашу версию и дайте тут ссылку , может она действительно будет лучше.
18. Сергей (serg_aramis) 8 05.03.12 05:58 Сейчас в теме
Свою обработку я выкладывать не буду так как она решает немного другие задачи. А именно подключается через com соединение и производит сверку остатков внешней базы на конкретную дату и приведение в соответствие с ними данные по остаткам в текущей базе. Для решения задач свертки вполне достаточно вашей. Просто хотелось бы чтобы она работала правильно. Подскажу еще кое что. После выполнения свертки как правило сверяют результат. Для этого формируют ведомость по взаиморасчетам. Так вот. Данный отчет работает на двух регистрах: На регистре ВзаиморасчетыСКонтрагентами к которому вы строите свой запрос и на регистре ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов. Если в базе все ровно и никто никогда не менял состояние флажка ВестиПоДокументамРасчетовСКонтрагентами в Договорах контрагентов то можно сказать повезло. А если нет то возникнет масса вопросов из серии а чего это у меня не сходится долг васи пупкина по моим данным и его. И как правило вылезает такая вещь как один или несколько документов у которых не установлен флаг управленческого учета при взведенном ВестиПоДокументамРасчетовСКонтрагентами.
Так как документ Ввода остатков также делает проведение по обоим регистрам то и запрос в базу на остатки лучше всего сделать в точности таким как в ВедомостьВзаиморасчетыСКонтрагентами.
PS Все это я пишу не для самоутверждения, а для того чтобы вы занимаясь задачами сворачивания баз учитывали такие моменты и не натыкались на те грабли на которые наткнулся я.
19. Sergio Kr (sergio0) 09.03.12 18:32 Сейчас в теме
Не получается скачать свертку товаров, по обеим ссылкам скачивается свертка взаиморасчетов!
20. Sergio Kr (sergio0) 09.03.12 19:16 Сейчас в теме
Может у кого есть обработка свертки товаров, скачанная отсюда? Если есть поделитесь)
21. Дарья (ДахаМузыка) 32 20.03.12 05:37 Сейчас в теме
спасибо за обработку, очень помогла!
22. makaorel 54 28.03.12 10:19 Сейчас в теме
24. Владимир Клименко (KliMich) 13.05.12 13:26 Сейчас в теме
Спасибо! Простенько и наглядно!
25. i z (izz) 04.06.12 13:54 Сейчас в теме
Плюсик ставлю заранее, так как проверять буду чуть позже :) Спасибо!
26. Александр Киричков (Bezeus) 03.07.12 19:42 Сейчас в теме
Большой и жирный плюс заранее. Подобные задачи начинают возникать с завидной периодичностью, и ваша обработка будет как нельзя кстати!
27. Дмитрий Утенков (automatizator) 166 07.07.12 04:26 Сейчас в теме
(16) serg_aramis, Если так резко подходить к разработкам, пропадет всякое желание их публиковать.


Спасибо автору!
Думаю воспользоваться обработкой, только не понял. Она подойдет, если я не хочу удалять все доки,а только на оговоренную дату?
28. Сергей Лактионов (lavrov) 134 10.07.12 11:22 Сейчас в теме
(27) automatizator,
Да , конечно подойдет , например модно обрезать лишний год . Вы формируете документы сами, указывая дату на которую эти документы заполнять остатками.
29. Андрей Тарлыков (Tarlich) 66 09.09.12 21:29 Сейчас в теме
То же заранее + -)) надеюсь что остатки заполняются в разрезе организаций, склаждов , (а взаиморасчеты в разрезе договоров) а вот со средней я бы оочень подумал - лично мое мнение (не 100% достоверное но максимально приближенное)- я бы лучще брал цену последней закупки
30. Андрей Вершинин (&-rey) 59 21.11.12 17:16 Сейчас в теме
остатки заполняются не в разрезе организаций! Нужно добавить фильтр по Организации в запрос
31. Андрей Вершинин (&-rey) 59 21.11.12 18:45 Сейчас в теме
ах..там запрос по регистру ТоварыНаСкладах, а он не имеет измерения по Организации... Тогда годится как частный случай, если одна организация или неважно кто продаст, "того и тапки")) Это фактически заполнялка из инвентаризации.....

А если нужно строго по организации то можно чуть переделать типа такого:




Процедура Инициализировать(ДокОбъект, ИмяТабЧасти, ТабПоле) экспорт
ТабЧастьТовары = ДокОбъект.Товары;

Склад=ДокОбъект.Склад;
Организация = ДокОбъект.Организация;
запрос=новый запрос;
запрос.Текст="ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.Качество,
| СУММА(Остатки.Количество) КАК Количество,
| Остатки.ЕдиницаИзмерения,
| Остатки.ЕдиницаИзмеренияМест,
| Остатки.КоличествоМест,
| Остатки.Коэффициент,
| Партии.Цена,
| Партии.Цена * Остатки.Количество КАК сумма,
| Партии.Цена * Остатки.Количество КАК СуммаРегл,
| Остатки.ХарактеристикаНоменклатуры,
| Остатки.СерияНоменклатуры
|ИЗ
| (ВЫБРАТЬ
| ТоварыОрганизацийОстатки.Номенклатура КАК Номенклатура,
| ТоварыОрганизацийОстатки.Качество КАК Качество,
| СУММА(ТоварыОрганизацийОстатки.КоличествоОстаток) КАК Количество,
| ТоварыОрганизацийОстатки.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| ТоварыОрганизацийОстатки.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмеренияМест,
| 1 КАК КоличествоМест,
| 1 КАК Коэффициент,
| ТоварыОрганизацийОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ТоварыОрганизацийОстатки.СерияНоменклатуры КАК СерияНоменклатуры
| ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(&дата, Склад = &Склад И Организация = &Организация) КАК ТоварыОрганизацийОстатки
| ГДЕ
| ТоварыОрганизацийОстатки.Склад = &Склад
| И ТоварыОрганизацийОстатки.Организация = &Организация
|
| СГРУППИРОВАТЬ ПО
| ТоварыОрганизацийОстатки.Номенклатура,
| ТоварыОрганизацийОстатки.Качество,
| ТоварыОрганизацийОстатки.Номенклатура.ЕдиницаХраненияОстатков,
| ТоварыОрганизацийОстатки.ХарактеристикаНоменклатуры,
| ТоварыОрганизацийОстатки.СерияНоменклатуры,
| ТоварыОрганизацийОстатки.Номенклатура.ЕдиницаХраненияОстатков) КАК Остатки
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ПартииТоваровНаСкладахОстатки.СтоимостьОстаток / ВЫБОР
| КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 1) = 0
| ТОГДА 1
| ИНАЧЕ ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 1)
| КОНЕЦ КАК Цена,
| ПартииТоваровНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПартииТоваровНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры
| ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&дата, ) КАК ПартииТоваровНаСкладахОстатки) КАК Партии
| ПО Остатки.Номенклатура = Партии.Номенклатура
| И Остатки.ХарактеристикаНоменклатуры = Партии.ХарактеристикаНоменклатуры
| И Остатки.СерияНоменклатуры = Партии.СерияНоменклатуры
|
|СГРУППИРОВАТЬ ПО
| Остатки.ЕдиницаИзмерения,
| Остатки.Качество,
| Остатки.ЕдиницаИзмеренияМест,
| Остатки.Номенклатура,
| Остатки.КоличествоМест,
| Остатки.Коэффициент,
| Партии.Цена,
| Партии.Цена * Остатки.Количество,
| Остатки.ХарактеристикаНоменклатуры,
| Остатки.СерияНоменклатуры,
| Партии.Цена * Остатки.Количество
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("дата", Новый Граница(КонецДня(ДокОбъект.Дата), ВидГраницы.Включая));
Запрос.УстановитьПараметр("Склад",Склад);
Запрос.УстановитьПараметр("Организация", Организация);
Результат=запрос.Выполнить().Выгрузить();
ТабЧастьТовары.очистить();
для каждого стр из Результат цикл
НоваяСтрока= ТабЧастьТовары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,стр);
конецЦикла;

КонецПроцедуры
32. Андрей Вершинин (&-rey) 59 21.11.12 19:38 Сейчас в теме
во! еще файлик добавил с моим вариантом, пусть будет, так уже поинтересне, ладно, плюс от меня...
33. Сергей Лактионов (lavrov) 134 21.11.12 20:10 Сейчас в теме
Совершенно с Вами согласен , поэтому добавил еще и Ваш вариант.
34. Алексей Роза (DoctorRoza) 22.11.12 10:03 Сейчас в теме
Отмечусь, может пригодится!
35. Андрей Тарлыков (Tarlich) 66 11.12.12 09:38 Сейчас в теме
Хочу посоветовать - в связке с этой обработкой использовать http://infostart.ru/public/16288/
36. arjuna (arjuna) 31.12.12 16:33 Сейчас в теме
Ну по остаткам товаров можно и стандартными методами обойтись, по свертке цен тоже. А вот за остатки по взаиморасчетам спасибо.
37. KV1s (KroVladS) 09.01.13 16:24 Сейчас в теме
На сколько корректно отрабатывает если взаиморасчёты идут по документам расчётов?
38. Сергей Лактионов (lavrov) 134 09.01.13 16:37 Сейчас в теме
Обработка строит отчет по регистру ВзаиморасчетыСКонтрагентами , на счет взаимрасчетом по документа расчетов нужно переделывать.
39. Андрей (ankr) 18 13.01.13 12:14 Сейчас в теме
Обработка
Заполнить ввод остатков товаров по регистру товары организаций.epf
как я понял, добавляется как внешняя обработка к документу
"ввод начальных остатков"...
Добавил, запустил... ничего не заполнилось :(
40. Андрей (ankr) 18 13.01.13 12:21 Сейчас в теме
Обработка
Заполнить ввод остатков взаиморасчетов.epf
у меня нормально отработала, а вот
Заполнить ввод остатков товаров по складам.epf
у меня работает с ошибками... Не заполняет
цену (по большинству позиций) и, соответственно, сумму
(скрин попробую прикрепить в конце поста)
Кроме того, есть такая особенность, что остатки могут быть отрицательными
(сам обнаружил неожиданно для себя).
В этом случае количество не заполняется (этот реквизит в документе неотрицательный).
Думаю, это стоит учесть при заполнении.
41. Сергей Лактионов (lavrov) 134 21.01.13 14:53 Сейчас в теме
Скорей всего в регистре партий по нулевым позициям нет остатка на дату формирования.
Если сумма отрицательная - как мне кажеться это тоже ошибка , и с ней должен разбираться человек , почему так получилось.
42. Юрий Зайцев (Yury1001) 1447 09.04.13 13:56 Сейчас в теме
Это всё конечно хорошо, но вот как быстро удалить несколько сотен тысяч проведенных документов?
Это вам не семёрка, где перенёс точку актуальности на ноль и удаляй 100-150 док/секунда.

Мои попытки на восьмёрке показывают результат 3-3,5 док/секунда.
Установка границы рассчитанных итогов в ноль даёт скорость 5-5,3 док/сек.
И вот передо мною скромная база 350 000 документов за год, 6 Gb, не SQL,
что бы её свернуть по вашей методе нужно всего лишь 18 с небольшим часов:) вернее только чтобы пометить документы!
Не зачёт!

УстановитьИспользованиеИтогов(Ложь)
Скорость 9-10 док/сек.

Если кто знает способ быстрой отмены проведения, можно с разрушением итогов, их всё равно пересчитывать, пожалуйста напишите.
43. Юрий Зайцев (Yury1001) 1447 09.04.13 14:00 Сейчас в теме
для сравнения на семёрке свёртка происходит очень быстро
44. Андрей (ankr) 18 01.09.13 12:54 Сейчас в теме
(41) lavrov,
Остатки в регистрах есть. Может дело в том, что не учитывались серии...?
Решил проблему просто: сделал документ инвентаризация (там все цены сформировались верно) и на его основании ввел оприходование остатков.
46. Anton Dunaev (dunaev.anton) 20.08.14 22:31 Сейчас в теме
(42) Yury1001, Создать в конфигурации новый план обмена с признаком распределенная инф. база, в состав включить всё кроме документов и регистров накопления (рег. сведений выборочно по месту). создать образ - получится в итоге то что Вам нужно
47. Алексей Резухин (a.rezyhin) 22 10.09.14 22:17 Сейчас в теме
Не могу скачать, проверьте файлы, пожалуйста.
48. Сергей Лактионов (lavrov) 134 10.09.14 22:49 Сейчас в теме
Проверил - качаются. Попробуйте скачать под FF, у меня иногда под другими браузерами тоже с Инфостата не качает.
49. Нагим Османов (nagimo) 27.10.14 23:17 Сейчас в теме
Спасибо за обработки. Как раз сейчас пригодилась. Есть конечно стандартная свертка на ИТС, но у меня она некорректно работает.
50. Алексей Мусихин (AlexLM75) 20.01.15 19:14 Сейчас в теме
После некоторого допиливания заработали и в моей базе... Спасибо за обработки!