gifts2017

Коррекция регистров

Опубликовал Владислав Цылёв (vet7777) в раздел Администрирование - Сервисные утилиты

Документ "Коррекция регистров" для правки движений по любому регистру.
Редактирование регистров я давно хотел добавить в "Редактор реквизитов" (http://infostart.ru/projects/3072/), но время показало, что гораздо удобнее и правильнее создавать корректирующий документ.
Если решил бы реализовывать редактирование движений в редакторе, то , во-первых, пришлось бы это делать прямыми запросами, во-вторых, повторное проведение документа восстановило бы старые движения.
Вообще, вот вам еще один мой инструмент "исключительно для админо-программерского использования". Его я еще не показывал на публику, хотя написан он также давно, в году 2004 наверное.

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

Есть фильтр для отбора итогов, чтобы можно было скорректировать неправильные остатки, поняв как пользоваться этим фильтром, сможете многое...

Можно заполнить текущими остатками, можно частями по фильтру, главное не превысить 9999 строк в документе в DBF базе и 32767 в SQL и выгрузить его в пустую конфигурацию с теми же справочниками, организовав тем самым свертку базы.

В общем, если научитесь пользоваться этим инструментом, применение найдёте и не одно.

В приложенной конфигурации содержится 2 объекта: документ "КоррекцияРегистров" и журнал документов "КоррекцииРегистров", их собственно и нужно загрузить в вашу через объединение. Потом не забудьте права настроить и в интерфейс добавить, если нужно.

Ограничение для использования: в регистре не больше 10 измерений, 10 ресурсов и 10 реквизитов, но я думаю вам хватит, мне хватало с запасом. :)

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

Наименование Файл Версия Размер
v1.1 970
.1230982725 25,15Kb
01.08.14
970
.1230982725 25,15Kb Скачать

См. также

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

Комментарии

1. Владислав Цылёв (vet7777) 02.01.09 17:52
вот собственно и мой подарок вам....
2. Сергей (seermak) 03.01.09 08:38
Интересно,я не до конца разобрался пока. Вопрос:
Процедура ОбработкаПроведения()
СпрТов=Создатьобъект("Справочник.Номенклатура");
СпрТов.ВыбратьЭлементы();
Пока СпрТов.ПолучитьЭлемент()=1 Цикл
Если СпрТов.ЭтоГруппа()=0 Тогда
Значение=СпрТов.ТекущийЭлемент();
Прервать;
КонецЕсли;
КонецЦикла;
этот кусок кода для чего?
3. Владислав Цылёв (vet7777) 03.01.09 09:21
сам не помню уже :) давно писал....
спасибо за находку, поправлю.
4. Владислав Цылёв (vet7777) 03.01.09 14:41
новая версия 1.1
- удалил лишнее, подравнял, запеременил процедуры и функции...
- добавил возможность вводить сторно на основании другой коррекции или любого документа (нужнот только установить возможность вводить на его основании)
5. Сhe Burashka (CheBurator) 04.01.09 20:09
Заголовки измерений меняются после выбора вида регистра?
6. Poppy (poppy) 04.01.09 21:09
КолИзм = Метаданные.Регистр(ПечРегистр).Измерение();
{Документ.КоррекцияРегистров.Форма.Модуль(732)}: Поле агрегатного объекта не обнаружено (Измерение)
7. Сhe Burashka (CheBurator) 04.01.09 21:20
(6) в качестве ПечРеггистр передан идентификатор несуществующего регистра...??
8. Poppy (poppy) 04.01.09 21:34
(7) Точно, в конфигурации где регистров нету совсем... ;-)
9. Сhe Burashka (CheBurator) 04.01.09 21:56
Ура! я выиграл пирожок! просто тольо потому, что получил аналогичную ошибку при обрашении к Ревизит(ИмяРеквизита).Длина - имяреквизита было "неправильное"
10. Poppy (poppy) 04.01.09 22:31
У меня в аналогичной разработке стоит запрет на создание документа при отсутствии регистров.
11. Vasily Kushnir (vasilykushnir) 05.01.09 10:38
(7) Или я чего-то не понял, или... тяжелое последствие праздников... Обработка "Коррекция регистров". А что корректировать, если регистров нет...?

А вообще спасибо автору - давно ожидаемая обработка.
12. Владислав Цылёв (vet7777) 05.01.09 16:09
сделать чтобы при открытии посылала в сад, когда нет регистров? :)))))
vasilykushnir; +1 Ответить 2
13. Poppy (poppy) 05.01.09 17:44
(12)Напиши например так:
В процедуре ПриОткрытии()
Код
   Если ВидРегистра.РазмерСписка()>0 Тогда
      Если ВидРегистра.ТекущаяСтрока()=0 Тогда
         ВидРегистра.ТекущаяСтрока(1);
      КонецЕсли;
   Иначе
      Сообщить("В данной конфигурации нет ни одного регистра!");
      СтатусВозврата(0);
   КонецЕсли;
Показать полностью


Посмотри как у меня сделано в идентичном документе http://infostart.ru/projects/888/
14. Vasily Kushnir (vasilykushnir) 06.01.09 08:45
(12) +5
- Папа, откуда берутся дети?
- Оттуда, куда потом посылают взрослых.....
15. Владислав Цылёв (vet7777) 11.01.09 11:14
так что? дальше открытия документа кто-нибудь ходил? :)
какие еще есть пожелания, замечания?
16. Сергей (seermak) 11.01.09 11:21
я включил в рабочую конфу, но пока "оказии" для применения небыло. Надеюсь что в нужный момент не подведет;)
17. Poppy (poppy) 12.01.09 12:30
(15)
Есть еще фича. В оборотных регистрах движение не завист от знака, указанного в документе.
18. Епрст (Ёпрст) 12.01.09 12:44
19. Евгений Долиновский (Dolly_EV) 12.01.09 13:03
+ неглядя! как раз сейчас трубуется сие, в свое время сам писал, но там не было фильтра... потестю - отпишу.

(10) poppy, а ваше аналогичное посмотреть можно?
20. Poppy (poppy) 12.01.09 13:37
(19) Конечно смотри http://infostart.ru/projects/888/

Вот еще похожий документ http://infostart.ru/projects/2172/ не мое.

(18)
Нет, недолжно. Здесь для создания движений оборотных регистров вместо метода ДвижениеВыполнить() используются методы ДвижениеПриходВыполнить() и ДвижениеРасходВыполнить(). Вроде все работает, но в этом есть некоторая неаккуратность...
ЛохНесс; +1 Ответить 2
21. Епрст (Ёпрст) 12.01.09 13:45
(20) Ну, раз создатели не озаботились правильной работой методов то и ладно.. :)
Это как получение атрибутов ДатаДок и НомерДок у документа двигающего регистр в запросе... Тоже по-разному "работает" в скули и дбф, хотя не должно работать вообще...
22. Сергей (seermak) 12.01.09 13:54
А и правда: методы для регистров оборотов и остатков разные.......
23. Евгений Долиновский (Dolly_EV) 12.01.09 14:10
24. Евгений Долиновский (Dolly_EV) 12.01.09 14:37
Вобщем - весчь! Автору - респект!.. добавил еще фильтр "В" для измерений (тип "Справочник") и ПОООЛностью удовлетворился!
жаль, только 1 плюс ставится.
25. Епрст (Ёпрст) 12.01.09 14:46
Аналогичная ошибка и в этой обработке при работе с метаданными....
Точнее недочОт и еще какой...
Хорошие грабли для начинающих :)
26. Владимир Вовк (vovk_v) 12.01.09 23:41
Владислав, спасибо! Работает на твердое 5! +1 :) Отдельная благодарность за то, что поделились разработкой, ведь теперь мы можем сосредоточиться на решении других задач, а не решать каждый по отдельности одно и то же 1000 раз. ;)
27. Владислав Цылёв (vet7777) 13.01.09 09:31
(24,26) Очень рад что разработка понравилась и пригодилась!
Сам пользовался и редактором реквизитов и коррекцией регистров довольно долго, инструменты получились очень хорошие, много раз выручали...
To Dolly_EV: В следующую версию добавлю фильтр "В" для измерений. :)
На базе этой коррекции можно решить проблему свертки, только нужно сделать или найти обработки - выгрузка документов в файл, загрузка документов из файла, ну и обработку свертки написать, которая создаст по всем регистрам остатков документы коррекции пачками (с учетом ограничения строк в документе) ...
Наработки такие были, найду - выложу...
А так вообще, чем вам не редактор движений? )
Если в качестве документа основания для коррекции, установите какой нибудь другой документ, то на его основании можно будет делать коррекцию его движений, попробуйте... Выбираете регистр и коррекция заполняется сторнирующими движениями. Так же можно и корректировать коррекцию... Вообщем применений много, про фильтр вы и сами уже должны были прочувствовать удобство, фактически засунул в документ отчет по итогам...
28. Епрст (Ёпрст) 14.01.09 09:52
29. Владислав Цылёв (vet7777) 14.01.09 13:38
(28) в 25 ничего конкретно не написано, может в 6?
30. Епрст (Ёпрст) 14.01.09 13:58
(29) а ну да, забыл сказать, просто в другой ветке говорил... :)

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

Все как-то про них забывают. Потом граблёй по лбу имеют... Особенно при свёртке.
31. Vasily Kushnir (vasilykushnir) 15.01.09 09:39
(30) А если для неопределенного предложить юзьверу выбрать тип метаданного, а потом уже по назначенному типу - выбор самого матаданного? Кстати, ты прав, этим грешат даже очень солидные проекты - сколько раз предлагал Доржи сделать подобный выбор в Новейшем Отчете, цены б ему тогда не было.... Хотя он и так в ракламе не нуждается - функционал выше крыши.
А вот эти две обработочки Влада - текущая и редактор реквизитов - не смотря на мелкие шероховатости - просто прелесть. Правда Редактор реквизитов я дополнил перепроведением дока - честно! влом мне создавать еще один корректирующий документ. Знаю, знаю, что это есть неверный подход, но... Да и сами данные меняю только те, что не влияют на товарные отчеты и в документах, любое действие над которыми уже запрещено - доки у меня могут корректироватся только не более 3-х дневной давности - более поздние уже фиг (только обработочка Влада и выручает).
32. Епрст (Ёпрст) 15.01.09 09:57
(31) Зачем юзверю это надо ? :))
Всё гораздо проще :
При записи атрибутов , просто поглядеть на тип реквизита/измерения (смотря, куда пишем) из самих метаданных, если неопределенно и значение записываемого атрибута не пустое - назначаем тип реквизиту/измерению, беря его из самого значения атрибута.. Вот и всё. Т.е. тупо вставить условие на неопределенный тип.
Пара строк кода.
:)
33. Епрст (Ёпрст) 15.01.09 09:58
+32 А вид, как мы знаем, назначать необязательно, главное ТИП ...
34. Vasily Kushnir (vasilykushnir) 15.01.09 12:22
(33) В принципе таки да - можно и так. Это даже попроще.
35. Vasily Kushnir (vasilykushnir) 15.01.09 12:23
+ к (34) А под юзьвером я предполагал человека работающего с обработкой и это далеко не рядовой юз.
36. Евгений Долиновский (Dolly_EV) 16.01.09 05:30
помимо "В" еще ошибочка (или недоЧОТ)):
При выборе значения фильтра у тебя уловие сбрасывается всегда на "=", даже если оно уже ранее выбрано - поправил проверкой на пустое значение.
37. kairat primbetov (karat60) 16.01.09 11:33
38. Евгений Стоянов (quick) 24.03.10 17:17
39. Александр Макаров (makaray) 13.09.10 09:36
я хоть и занимаюсь 1С не очень давно, но уже реально оценил, вещчь!
40. Владимир Балашов (vlanik) 02.07.13 11:31
Задумка хорошая, с недочетами можно справиться и самому, а так вещь полезная.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа