gifts2017

Перепроведение, восстановление последовательностей и дат запрета изменения данных В РАЗРЕЗЕ ОРГАНИЗАЦИЙ (версия 3.5 от 12.09.2012)

Опубликовал Николай Захаренков (ikar-nikolay) в раздел Администрирование - Сервисные утилиты

Осуществляет В ОТКРЫТОМ ПЕРИОДЕ:
- перепроведения уже проведенных документов:
    * По организациям
    * По контрагентам
    * По выбранным документам,
- восстановление границ последовательности,
- установку дат запрета редактирования данных
в разрезе ОРГАНИЗАЦИЙ.

Имеется запуск по таймеру!!!

Обработка сделана на базе http://infostart.ru/public/15617/ (надеюсь, что претензий ко мне со стороны создателей не будет), конвертирована в 8.2 с добавлением нового функционала.


Обновление!!!:

 В версии 3.5 от 12 сентября 2012 года:

 1) Изменен интерфейс на более интуитивно понятный.

 2) При открытии формы по умолчанию открывается панель Последовательностей.

 3) Установлены привязки.


В версии 3.4 от 20 августа 2012 года:

1) Исправлена ошибка восстановления последовательностей при установленной галочке "Последовательности игнорировать"

2) Табличные поля с выбором Организаций и Контрагентов, а так же настройки - вынесены на "морду" обработки.

3) При выборе значения "По выбранным контрагентам" поле с документами заполняется документами, в которых имеется реквизит "Контрагент"; при переключении на "По всем контрагентам" - заполняется список всех разрешенных документов.


В версии 3.3 от 30 июля 2012 года:

1) Исправлена замеченная ошибка - проверка на наличие регламентных документов при выборе даты начала периода.


В версии 3.2 от 20 июля 2012 года:

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

2) Пользователь с правами отличными от "ПолныеПрава" может восстанавливать последовательность, граница которой находится в открытом периоде. Установить же границу на начало открытого периода может исключительно только пользователь с полными правами.

3) Из списка документов для перепроведения (на закладке Документы) удалены документы, к которым нет доступа пользователю без полных прав.

4) Исправлены замеченные ошибки.


В версии 3.1 от 13 июля 2012 года:

1) При некоторых настройках потенциально могла вылететь ошибка - исправлено!

2) Последовательности теперь показываются в разрезе организаций.

3) Добавлено комментирование при восстановлении последовательности.


В Версии 3.0 от 06.07.2012 обновлено:

1) Добавлен механизм восстановления последовательностей перед проведением

2) Распределение функционала обработки в соответствии с правами пользователей (ко всему функционалу имеют доступ только пользователи с полными правами)

3) Галка "Отменять проведение для нерабочих документов" в бухгалтерских конфигурациях теперь неактивна!

4) В Справочной информации (вызывается по кнопке F1) описаyj краткое руководство по пользованию обработкой.


В версии 2.1 от 04.07.2012 добавлено:

1) Исправлена ошибка вылетающая при выборе Организации.

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


В версии 2.0 от 02.07.2012 добавлено:

1) Обработка стала универсальной для всех конфигураций (на основных конфигурациях проверил, - работает!);

2) При открытии - в список документов попадают все документы конфигурации;

3) При активации таймера - делается проверка на корректность введенных в форме данных;

4) Поле "Дата запрета" перенесено вверх.


Обработка позволяет производить перепроведение уже проведенных документов по следующим разрезам:

* По организации;
* По контрагентам;
* По видам документов.

Дополнительные возможности:

* Устанавливает дату запрета изменения данных перед проведением документа;

* Восстанавливает последовательности;

* Запуск по таймеру;

* Снятие признака проведения у нерабочих документов;

* Исключение из обработки общих документов (без организации);

* Формирование списка не проведенных документов.

Особенности:

Обработка предназначена для

- перепроведения документов,

- восстановления последовательностей,

- установки даты запрета редактирования

как по всем так и по выбранным организациям.

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

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

Дата запрета устанавливается на выбранные организации. Если организаций не выбрано, то даты запрета устанавливается на все организации.

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

____________________________________________

Ликбез
Необходимость в данной обработке возникла, когда бухгалтерам стало необходимо перепроводить документы по определенным контрагентам для восстановления хронологии событий. Типовыми средствами с этой бедой можно справиться:

- через "Контроль последовательности проведения документов" в обработке "Закрытие месяца", но только по всем документам конфигурации, что долго и притормаживает работу пользователей. Поэтому если запускать типовую обработку, то только в конце рабочего дня перед уходом домой. А если СРОЧНО надо среди дня??? Surprised

- через универсальную обработку "Обработка справочников и документов". Но я не рискую давать её, поскольку можно забыть поставить условие, например, что проводить только проведенные документы и проведены будут все документы. Или ошиблись в дате на год (случайно) и слетел учет.

Ситуацию обострил момент закрытия месяца, когда после восстановления последовательности на всякий случай делаем перепроведение закрываемого месяца и после перепроведения устанавливаем дату запрета изменения данных, что бы к закрываемому месяцу доступ был только у меня (программиста 1с) и зам. главбуха делающего проверку ошибок и окончательное закрытие месяца. Учитыва то, что бухгалтера или экономисты могут остаться работать и вечером (что часто бывает), то для того, что бы установить дату запрета редактирования данных необходимо или всех выгнать (что делается с большой неохотой) или дождаться когда все выйдут, т.е. самому остаться после работы (а этого уже не хочется мне).

Обработка решила все проблемы с перепроведением и установкой даты запрета:

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

2) Когда нужно установить дату запрета и сделать перепроведение документов, я спокойно ставлю таймер часов на 21.00 вечера (главное, что бы комп не ушел в спячку, т.е. тут надо операционку подстроить) и ухожу домой. С утра - все сделано!!!

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

Наименование Файл Версия Размер
ПерепроведениеДокументовБезопасное8.2_v3.5.epf 353
.epf 41,80Kb
12.09.12
353
.epf 41,80Kb Скачать
ПерепроведениеДокументовБезопасное8.2_v3.4 42
.epf 41,45Kb
12.09.12
42
.epf 41,45Kb Скачать
ПерепроведениеДокументовБезопасное8.2_v3.3 64
.epf 38,73Kb
21.08.12
64
.epf 38,73Kb Скачать
ПерепроведениеДокументовБезопасное8.2_v3.2 37
.epf 38,14Kb
20.08.12
37
.epf 38,14Kb Скачать

См. также

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

Комментарии

1. al petrov (petrov_al) 28.06.12 10:19
Какое нафиг это безопасное ... если неучитываются последовательности, после такого проведения жди красноты в оборотке.
2. Николай Захаренков (ikar-nikolay) 28.06.12 21:38
(1) petrov_al, думал над сказанном Вами, но пришел к выводу, что "кашу маслом не испортишь".
Смотрите! Если последовательность нарушена с 3 числа некого месяца, а
1) ...запустили обработку с 5 числа, то если была краснота, то так краснота и останется;
2) ...запустили обработку с 3 числа, то документ сбивший последовательность перепроведется, а все последующие перепроводимые документы уже выровняют красноту;
3) ...запустили обработку с 1 числа, то аналогично п.2)
Если я не прав поправьте меня, допишу. Или я не правильно понял ваш комментарий?

Безопасное перепроведение в том смысле, что обработку можно без опаски давать в работу бухгалтерам (что б не дергали по тупому вопросу - "а давай перепроведем клиентика, а то авансы кривовато легли", а делали это сами).
А ты был бы уверен, что перепроведутся именно проведенные доки и в закрытый период никто не залезет случайно.
3. Сергей (sstar90) 29.06.12 19:39
Согласен с (1) и добавлю от себя: Выполнили перепроведение документов Поступления, а оценка стоимости выбытия МПЗ - по среднему. А Расход был под остаток - в итоге суммы зависли, значит надо было перепроводить и Расход...
И опять таймер на 21-00 ?
А там, глядишь, еще что-то всплывет ...
4. Николай Захаренков (ikar-nikolay) 30.06.12 20:15
Ну и конечно же нужно мозг включать при выборе документов для перепроведения.
А самое радикальное - это выбирать все документы (я так и делаю - поэтому не сразу понял про что речь), в этом случае произойдет перепроведение всех доков по всем организациям, по всем котрагентам в порядке хронологии. Решает названную вами проблему, а так же и многие другие.

Вообще же - спс за комментарий, хорошая пища для мозга. Может у кого есть светлые идеи как дописать обработку, что бы перепроводила правильно без выбора выбора всех имющихся в конфе доков?

А что к 9 вечера всплывет (ставьте другое время, 13.05 например и идите на обед)? Что бы не вспыло - выбор "все документы" разрулят, а утром работа начнется с исправленными ошибками.:-)
5. Сергей (sstar90) 03.07.12 09:46
(4) У меня стоит Бухгалтерия и я обычно пользуюсь стандартным проведением документов:
Интерфейс "Полный", "Операции" -> "Проведение документов" (проведение и восстановление последовательности проведения документов). Мне хватает.
6. Николай Захаренков (ikar-nikolay) 03.07.12 19:36
(5) sstar90, я про такую и не знал... (((
Получается - изобрел велосипед с тем функционалом, который нужен именно мне. Кстати - хорошая идея последовательности добавить в обработку. Займусь на досуге!!! Спс за подкинутую идею!
7. Сергей (sstar90) 04.07.12 06:52
8. Виктор Левченко (lvictor58) 04.07.12 12:59
А значение реквизита "Ручная корректировка" учитывается ли при перепроведении?
9. Николай Захаренков (ikar-nikolay) 04.07.12 13:37
(8) lvictor58, скажу прямо - нет!
Разрешите поинтересоваться - зачем это нужно? Если логика в проверке есть, то допишу и эту проверку (всё-равно собираюсь дописывать - вставить проверку последовательностей и возможность восстановления).
10. Sergey Б (serg63) 04.07.12 14:20
Условие:
Если ВыборОрганизации = 0 Тогда
......................................................................
Иначе
Если СписокОрганизаций.Количество() > 0 Тогда // здесь должна быть проверка количества списка контрагентов
......................................................................
Иначе
......................................................................
КонецЕсли;
КонецЕсли;

будет изначально выдает ошибку, если выбрана организация, а списка клиентов нет
{Форма.Форма.Форма(28)}: Значение не является значением объектного типа (ВыгрузитьКолонку)
СписокДокументов = ПерепроведениеДокументов(НачПериода, КонПериода, СписокОрганизаций.ВыгрузитьКолонку("Организация"),ОтменятьПроведение,ИсключитьОбщии,СписокРазрешенныхДокументов,СписокРазрешенныхКонтрагентов.ВыгрузитьКолонку("Контрагенты"));
и дату запрета редактирования ставит на все организации, а не на выбранную.
11. Виктор Левченко (lvictor58) 04.07.12 16:13
(9) Ну логика у всех может быть своя, но при установленном крыже ручной корректировке движений по регистрам такой документ все равно перепроводиться не будет (и не должен!), а если еще там будет стоять крыж "Отменять проведение для нерабочих документов", то есть риск того, что вся работа по их корректировке (или сверке) может быть коту под хвост!

и всего то в текст запроса вставить фрагмент по аналогии по фильтру с контрагентами и организациями
Если ДокументМетаданные.Реквизиты.Найти("РучнаяКорректировка") <> Неопределено Тогда
Запрос.Текст = Запрос.Текст + " И Документ." + ДокументМетаданные.Имя + ".РучнаяКорректировка = Ложь";
КонецЕсли;
12. Николай Захаренков (ikar-nikolay) 04.07.12 16:52
(10) serg63, абсолютно согласен!!! Ошибочка вылетела!!! Обидно!!! (((

Естественно, вместо

...
Иначе
Если СписокОрганизаций.Количество() > 0 Тогда // это строка 27 модуля основной формы
...

Должно быть так:

...
Иначе
Если СписокКонтрагентов.Количество() > 0 Тогда // это строка 27 модуля основной формы
...

Пофиксел!!! Исправляем кто скачал!!!
При следующей выкладке обработки - её не будет!!!
13. Николай Захаренков (ikar-nikolay) 04.07.12 19:20
(11) lvictor58, проверил ваши домыслы, документ O0000002945 отредактирован вручную и включил названную Вами галку:

Начало проведения: 04.07.2012 17:59:45
Перепровожу: Поступление товаров и услуг O0000002930 от 01.06.2012 15:21:30
Перепровожу: Поступление товаров и услуг O0000002945 от 01.06.2012 15:40:20
Проведение документа: Поступление товаров и услуг O0000002945 от 01.06.2012 15:40:20 (Покупка, комиссия)
Движения документа отредактированы вручную и не могут быть автоматически актуализированы.
Перепровожу: Поступление товаров и услуг O0000002980 от 01.06.2012 15:40:22
Перепровожу: Поступление товаров и услуг O0000002983 от 01.06.2012 15:40:23
Перепровожу: Поступление товаров и услуг O0000002989 от 01.06.2012 15:40:24
Перепровожу: Поступление товаров и услуг O0000002991 от 01.06.2012 15:40:27
Конец проведения: 04.07.2012 17:59:55

Ничего криминального не произошло, но по логике вещей конечно доки с ручной корректировкой нужно из списка перепроводимых исключать!
Сделал так - по умолчанию откорректированные вручную исключаются из перепроведения, но кто захочет перепроводить документы, откорректированные вручную, на вкладке Настройка - есть соответствующая галка!

Кстати, выводимые сообщения тоже подредактировал - теперь сначала выводится сообщение "Перепровожу...", а потом только делается попытка перепроведения.

Все изменения в версии обработки 2.1 сейчас выложу!
14. Виктор Левченко (lvictor58) 05.07.12 10:53
(13) Сами же признаете "Ничего криминального не произошло, но по логике вещей конечно доки с ручной корректировкой нужно из списка перепроводимых исключать!"
значит это все таки не домыслы, а мысли!

И еще одна (мысль): крыж "Отменять проведение для нерабочих документов" отменяет проведение документов, которые не удалось перепровести. И тем самым нарушает джостоверность информации базы данных. Эти распроведенные документы надо будет отыскивать (и не дай Бог какой либо упустить изи виду! А для этого надо внимательнейшим образом отследить все сообщения. А если программа завершит работу до того как?) разбираться с ошибками а потом заново все перепроводить! Так может этот крыж переименовать в "Останавливаться на ошибке" присвоив соответствующий функционал прерывания цикла. По логике вещей!? Подобное есть кажется в стандартной обработке.
15. Николай Захаренков (ikar-nikolay) 05.07.12 21:06
(14) lvictor58, учел сказанное Вами! А так же много что другого... )))
Новая обработка должна порадовать всех, так что ждите. Как допишу - тут же выложу.
Если у кого ещё есть пожелания, то пишите...

Сейчас пытаюсь победить последовательность - если граница осталась в закрытом месяце, то установив соответствующую галку, можно будет перенести последовательность на начало дня 1 числа открытого периода. Это сделал, но... по логике вещей - последовательность должна быть актуализирована по документу и к тому же что бы этот документ принадлежал проверяемой последовательности. Так?

Если поддерживаете - подскажите алгоритм нахождения первого проведенного документа последовательности в заданном периоде (учитывая, что обработка должна быть универсальна) - вот не могу придумать как его найти. Наверное переработал!!!
16. Николай Захаренков (ikar-nikolay) 06.07.12 16:50
Всё!!! Выложил!!!
Кажись реализовал всё, что задумал!!!
17. Владимир Путин (putin-vv) 11.07.12 01:53
Как-то страшновато брать некую обработку перепроведения документов от человека, не знающего стандартных механизмов контроля последовательности документов. А партионность? А документы, влияющие на последовательность (приход, расход)?
18. Галина Волостных (ГердаКай) 11.07.12 09:37
В Интерфейс "Полный", "Операции" -> "Проведение документов" (проведение и восстановление последовательности проведения документов) нет отбора по контрагентам, организациям, только по датам можно отобрать и по документам. А если у нас несколько организаций и только по одной нужно перепровести документы.
19. Николай Захаренков (ikar-nikolay) 11.07.12 09:54
(17) putin-vv, улыбнуло, учитывая то, что ни одной обработки от вас нет... )))

Всё ж доступно написал - если существует граница последовательности в закрытом периоде, то обработкой вы можете (переключатели в рамке "Последовательность"):
- игнорировать этот факт (и тупо перепроводить документы в открытом периоде);
- или же перенести последовательнось на начало открытого периода и восстановить по текущий день (а потом перепровести выбранные документы).
Решать вам!!! Т.е. в обработке придерживается основная мысль, что "в закрытый период не лезь!!!". Поэтому для выполнения любых действий в закрытом периоде - или делайте самостоятельно или раскрывайте месяц.

Почему так? При закрытии месяца мы изначально заходим в "Контроль последовательности перепроведения документов" и видя что последовательность нарушена и находится в закрытом месяце, мы что делаем???? ))) Ну конечно же 1) "Изменить контрольную дату", а потом 2) "Перепровести документы", начиная с даты, указанной в 1). ТО ЖЕ САМОЕ ДЕЛАЕТ ОБРАБОТКА!

Единственное, соглашусь с тем, что надо добавить информативности - существуют ли последовательности, которые надо восстанавливать??? Продумаю этот вопрос.
20. Николай Захаренков (ikar-nikolay) 11.07.12 10:02
(18) ГердаКай, обработка позволяет: Перепроводить/Восстанавливать последовательности/Устанавливать дату запрета как по всем, так и по конкретной организации (Выбор организации - По выбранным организациям - и в открывшейся вкладке "Организации" указывайте нужные организации).
Хотя все мои проверки прошли отлично, но на всякий случай проверьте сказанное ещё раз.
21. Галина Волостных (ГердаКай) 11.07.12 12:16
(20) ikar-nikolay, да мне этим и нравится ваша обработка,что есть отбор.(5)sstar90 писал, что "У меня стоит Бухгалтерия и я обычно пользуюсь стандартным проведением документов:
Интерфейс "Полный", "Операции" -> "Проведение документов" (проведение и восстановление последовательности проведения документов). Мне хватает. "
Вот там как раз и нет отбора по организациям и по контрагентам. И вобщем-то типовых решений, удовлетворяющих всем этим условиям, я пока не знаю, если заблуждаюсь - поправьте.
22. Николай Захаренков (ikar-nikolay) 11.07.12 14:37
(21) ГердаКай, Спс!
Если будут светлые мысли (можно и бредовые, их тоже рассмотрим) - чего в обработке хотелось бы видеть ещё, то пишите.

У меня, например, задумки:
1) сделать галочку "Запускать при получении монопольности", в этом случае при активации таймера будут делаться проверки - остался ли кто в базе? и если никого нет, то выполнять все установленные действия.
2) сделать галочку "Выгнать пользователей при окончании таймера", и соответственно удалять все сеансы, кроме текущего и после этого выполнять все заданные действия.

И надо бы доработать:
1) добавить информативности, что имеется/не имеется последовательность в закрытом месяце.
2) кнопку "Восстановить последовательность" на закладке последовательности, и при нажатии делать проверку - если последовательность в открытом месяце, то её могут восстанавливать и обычные бухгалтера, если в закрытом, то однозначно - только пользователи с полными правами.

Большая просьба - проверять работоспособность перед использоватением, поскольку обработка в разработке. )))
23. Максим Красовский (noook) 30.07.12 07:38
Запускаю в Комплексной последней версии и выдаётся ошибка:
//
{Форма.Форма.Форма(557)}: Поле объекта не обнаружено (РегламентнаяОперация)
ВыборкаРегламентныхДокументов = Документы.РегламентнаяОперация.Выбрать(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата()));
//
24. Николай Захаренков (ikar-nikolay) 30.07.12 15:40
Спасибо! Подправил, выложил исправленный вариант (версия 3.3).
25. Максим Красовский (noook) 01.08.12 05:13
26. Максим Красовский (noook) 01.08.12 06:04
Что то с обновлением формы на вкладке Последовательности, не зря там кнопка Обновить есть.
То показывает все галки, то от старых настроек, то ...
27. Николай Захаренков (ikar-nikolay) 02.08.12 09:36
На вкладке "Посделовательности" выбор последовательностей по умолчанию завязан на выбранные организации:
- Если стоит галка "По всем организациям", то соответственно стоят все галки в восстановлении последовательностей.
- Если поставить галку "По выбранным организациям", но организацию не указать, то выберутся только последовательности, без измерения "Организация"
- Если поставить галку "По выбранным организациям", и выбрать организации, то выберутся последовательности выбранных организаций и без измерения "Организация".

Когда галочек последовательностей не было, кнопка "Обновить" обновляла форму, но сейчас потеряла актуальность. Сейчас кнопка "Обновить" выставляет Последовательности по умолчанию, т.е. мне думается её надо переименовать в "По умолчанию".
28. andrey dyak (dyak84) 26.09.13 10:54
Автор работа конечно зачетная слов нет но как быть с таким дело как последовательности. при работе твоей обработки все потом не будет красным.второй вопрос могу ли я выбрать 3 типадокументов и устанавить отбор по табличной части номенклатура.Зарание спасибо за ответ
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа