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



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

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

Обработка сделана на базе //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 вечера (главное, что бы комп не ушел в спячку, т.е. тут надо операционку подстроить) и ухожу домой. С утра — все сделано!!!

28 Comments

  1. petrov_al

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

    Reply
  2. ikar-nikolay

    (1) petrov_al, думал над сказанном Вами, но пришел к выводу, что «кашу маслом не испортишь».

    Смотрите! Если последовательность нарушена с 3 числа некого месяца, а

    1) …запустили обработку с 5 числа, то если была краснота, то так краснота и останется;

    2) …запустили обработку с 3 числа, то документ сбивший последовательность перепроведется, а все последующие перепроводимые документы уже выровняют красноту;

    3) …запустили обработку с 1 числа, то аналогично п.2)

    Если я не прав поправьте меня, допишу. Или я не правильно понял ваш комментарий?

    Безопасное перепроведение в том смысле, что обработку можно без опаски давать в работу бухгалтерам (что б не дергали по тупому вопросу — «а давай перепроведем клиентика, а то авансы кривовато легли», а делали это сами).

    А ты был бы уверен, что перепроведутся именно проведенные доки и в закрытый период никто не залезет случайно.

    Reply
  3. sstar90

    Согласен с (1) и добавлю от себя: Выполнили перепроведение документов Поступления, а оценка стоимости выбытия МПЗ — по среднему. А Расход был под остаток — в итоге суммы зависли, значит надо было перепроводить и Расход…

    И опять таймер на 21-00 ?

    А там, глядишь, еще что-то всплывет …

    Reply
  4. ikar-nikolay

    Ну и конечно же нужно мозг включать при выборе документов для перепроведения.

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

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

    А что к 9 вечера всплывет (ставьте другое время, 13.05 например и идите на обед)? Что бы не вспыло — выбор «все документы» разрулят, а утром работа начнется с исправленными ошибками.:-)

    Reply
  5. sstar90

    (4) У меня стоит Бухгалтерия и я обычно пользуюсь стандартным проведением документов:

    Интерфейс «Полный», «Операции» -> «Проведение документов» (проведение и восстановление последовательности проведения документов). Мне хватает.

    Reply
  6. ikar-nikolay

    (5) sstar90, я про такую и не знал… (((

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

    Reply
  7. sstar90

    (6) всегда пожалуйста

    Reply
  8. lvictor58

    А значение реквизита «Ручная корректировка» учитывается ли при перепроведении?

    Reply
  9. ikar-nikolay

    (8) lvictor58, скажу прямо — нет!

    Разрешите поинтересоваться — зачем это нужно? Если логика в проверке есть, то допишу и эту проверку (всё-равно собираюсь дописывать — вставить проверку последовательностей и возможность восстановления).

    Reply
  10. serg63

    Условие:

    Если ВыборОрганизации = 0 Тогда

    …………………………………………………………….

    Иначе

    Если СписокОрганизаций.Количество() > 0 Тогда // здесь должна быть проверка количества списка контрагентов

    …………………………………………………………….

    Иначе

    …………………………………………………………….

    КонецЕсли;

    КонецЕсли;

    будет изначально выдает ошибку, если выбрана организация, а списка клиентов нет

    {Форма.Форма.Форма(28)}: Значение не является значением объектного типа (ВыгрузитьКолонку)

    СписокДокументов = ПерепроведениеДокументов(НачПериода, КонПериода, СписокОрганизаций.ВыгрузитьКолонку(«Организация»),ОтменятьПроведение,ИсключитьОбщии,СписокРазрешенныхДокументов,СписокРазрешенныхКонтрагентов.ВыгрузитьКолонку(«Контрагенты»));

    и дату запрета редактирования ставит на все организации, а не на выбранную.

    Reply
  11. lvictor58

    (9) Ну логика у всех может быть своя, но при установленном крыже ручной корректировке движений по регистрам такой документ все равно перепроводиться не будет (и не должен!), а если еще там будет стоять крыж «Отменять проведение для нерабочих документов», то есть риск того, что вся работа по их корректировке (или сверке) может быть коту под хвост!

    и всего то в текст запроса вставить фрагмент по аналогии по фильтру с контрагентами и организациями

    Если ДокументМетаданные.Реквизиты.Найти(«РучнаяКорректировка») <> Неопределено Тогда

    Запрос.Текст = Запрос.Текст + » И Документ.» + ДокументМетаданные.Имя + «.РучнаяКорректировка = Ложь»;

    КонецЕсли;

    Reply
  12. ikar-nikolay

    (10) serg63, абсолютно согласен!!! Ошибочка вылетела!!! Обидно!!! (((

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



    Иначе

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

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



    Иначе

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

    Пофиксел!!! Исправляем кто скачал!!!

    При следующей выкладке обработки — её не будет!!!

    Reply
  13. ikar-nikolay

    (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 сейчас выложу!

    Reply
  14. lvictor58

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

    значит это все таки не домыслы, а мысли!

    И еще одна (мысль): крыж «Отменять проведение для нерабочих документов» отменяет проведение документов, которые не удалось перепровести. И тем самым нарушает джостоверность информации базы данных. Эти распроведенные документы надо будет отыскивать (и не дай Бог какой либо упустить изи виду! А для этого надо внимательнейшим образом отследить все сообщения. А если программа завершит работу до того как?) разбираться с ошибками а потом заново все перепроводить! Так может этот крыж переименовать в «Останавливаться на ошибке» присвоив соответствующий функционал прерывания цикла. По логике вещей!? Подобное есть кажется в стандартной обработке.

    Reply
  15. ikar-nikolay

    (14) lvictor58, учел сказанное Вами! А так же много что другого… )))

    Новая обработка должна порадовать всех, так что ждите. Как допишу — тут же выложу.

    Если у кого ещё есть пожелания, то пишите…

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

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

    Reply
  16. ikar-nikolay

    Всё!!! Выложил!!!

    Кажись реализовал всё, что задумал!!!

    Reply
  17. putin-vv

    Как-то страшновато брать некую обработку перепроведения документов от человека, не знающего стандартных механизмов контроля последовательности документов. А партионность? А документы, влияющие на последовательность (приход, расход)?

    Reply
  18. ГердаКай

    В Интерфейс «Полный», «Операции» -> «Проведение документов» (проведение и восстановление последовательности проведения документов) нет отбора по контрагентам, организациям, только по датам можно отобрать и по документам. А если у нас несколько организаций и только по одной нужно перепровести документы.

    Reply
  19. ikar-nikolay

    (17) putin-vv, улыбнуло, учитывая то, что ни одной обработки от вас нет… )))

    Всё ж доступно написал — если существует граница последовательности в закрытом периоде, то обработкой вы можете (переключатели в рамке «Последовательность»):

    — игнорировать этот факт (и тупо перепроводить документы в открытом периоде);

    — или же перенести последовательнось на начало открытого периода и восстановить по текущий день (а потом перепровести выбранные документы).

    Решать вам!!! Т.е. в обработке придерживается основная мысль, что «в закрытый период не лезь!!!». Поэтому для выполнения любых действий в закрытом периоде — или делайте самостоятельно или раскрывайте месяц.

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

    Единственное, соглашусь с тем, что надо добавить информативности — существуют ли последовательности, которые надо восстанавливать??? Продумаю этот вопрос.

    Reply
  20. ikar-nikolay

    (18) ГердаКай, обработка позволяет: Перепроводить/Восстанавливать последовательности/Устанавливать дату запрета как по всем, так и по конкретной организации (Выбор организации — По выбранным организациям — и в открывшейся вкладке «Организации» указывайте нужные организации).

    Хотя все мои проверки прошли отлично, но на всякий случай проверьте сказанное ещё раз.

    Reply
  21. ГердаКай

    (20) да мне этим и нравится ваша обработка,что есть отбор.(5)sstar90 писал, что «У меня стоит Бухгалтерия и я обычно пользуюсь стандартным проведением документов:

    Интерфейс «Полный», «Операции» -> «Проведение документов» (проведение и восстановление последовательности проведения документов). Мне хватает. »

    Вот там как раз и нет отбора по организациям и по контрагентам. И вобщем-то типовых решений, удовлетворяющих всем этим условиям, я пока не знаю, если заблуждаюсь — поправьте.

    Reply
  22. ikar-nikolay

    (21) ГердаКай, Спс!

    Если будут светлые мысли (можно и бредовые, их тоже рассмотрим) — чего в обработке хотелось бы видеть ещё, то пишите.

    У меня, например, задумки:

    1) сделать галочку «Запускать при получении монопольности», в этом случае при активации таймера будут делаться проверки — остался ли кто в базе? и если никого нет, то выполнять все установленные действия.

    2) сделать галочку «Выгнать пользователей при окончании таймера», и соответственно удалять все сеансы, кроме текущего и после этого выполнять все заданные действия.

    И надо бы доработать:

    1) добавить информативности, что имеется/не имеется последовательность в закрытом месяце.

    2) кнопку «Восстановить последовательность» на закладке последовательности, и при нажатии делать проверку — если последовательность в открытом месяце, то её могут восстанавливать и обычные бухгалтера, если в закрытом, то однозначно — только пользователи с полными правами.

    Большая просьба — проверять работоспособность перед использоватением, поскольку обработка в разработке. )))

    Reply
  23. noook

    Запускаю в Комплексной последней версии и выдаётся ошибка:

    //

    {Форма.Форма.Форма(557)}: Поле объекта не обнаружено (РегламентнаяОперация)

    ВыборкаРегламентныхДокументов = Документы.РегламентнаяОперация.Выбрать(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата()));

    //

    Reply
  24. ikar-nikolay

    Спасибо! Подправил, выложил исправленный вариант (версия 3.3).

    Reply
  25. noook

    Спасибо и Вам

    Reply
  26. noook

    Что то с обновлением формы на вкладке Последовательности, не зря там кнопка Обновить есть.

    То показывает все галки, то от старых настроек, то …

    Reply
  27. ikar-nikolay

    На вкладке «Посделовательности» выбор последовательностей по умолчанию завязан на выбранные организации:

    — Если стоит галка «По всем организациям», то соответственно стоят все галки в восстановлении последовательностей.

    — Если поставить галку «По выбранным организациям», но организацию не указать, то выберутся только последовательности, без измерения «Организация»

    — Если поставить галку «По выбранным организациям», и выбрать организации, то выберутся последовательности выбранных организаций и без измерения «Организация».

    Когда галочек последовательностей не было, кнопка «Обновить» обновляла форму, но сейчас потеряла актуальность. Сейчас кнопка «Обновить» выставляет Последовательности по умолчанию, т.е. мне думается её надо переименовать в «По умолчанию».

    Reply
  28. dyak84

    Автор работа конечно зачетная слов нет но как быть с таким дело как последовательности. при работе твоей обработки все потом не будет красным.второй вопрос могу ли я выбрать 3 типадокументов и устанавить отбор по табличной части номенклатура.Зарание спасибо за ответ

    Reply

Leave a Comment

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