— перепроведения уже проведенных документов:
* По организациям
* По контрагентам
* По выбранным документам,
— восстановление границ последовательности,
— установку дат запрета редактирования данных
в разрезе ОРГАНИЗАЦИЙ.
Имеется запуск по таймеру!!!
Обработка сделана на базе //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С с восстановленными последовательностями и установленной датой запрета.
Отдельное место в обработке уделено разделению прав доступа. В конфигурациях без регламента (не бухгалтерские) — разграничений по правам нет. В бухгалтерских же конфигурациях — пользователи с полными правами могут пользоваться обработкой без ограничений, остальные пользователи могут перепроводить документы только в незакрытом периоде.
Дата запрета устанавливается на выбранные организации. Если организаций не выбрано, то даты запрета устанавливается на все организации.
Последовательность восстанавливается так же в зависимости от выбора организации в списке. Если организация не выбрана, то последовательности восстанавливается по всем организациям.
____________________________________________
Ликбез
Необходимость в данной обработке возникла, когда бухгалтерам стало необходимо перепроводить документы по определенным контрагентам для восстановления хронологии событий. Типовыми средствами с этой бедой можно справиться:
— через «Контроль последовательности проведения документов» в обработке «Закрытие месяца», но только по всем документам конфигурации, что долго и притормаживает работу пользователей. Поэтому если запускать типовую обработку, то только в конце рабочего дня перед уходом домой. А если СРОЧНО надо среди дня???
— через универсальную обработку «Обработка справочников и документов». Но я не рискую давать её, поскольку можно забыть поставить условие, например, что проводить только проведенные документы и проведены будут все документы. Или ошиблись в дате на год (случайно) и слетел учет.
Ситуацию обострил момент закрытия месяца, когда после восстановления последовательности на всякий случай делаем перепроведение закрываемого месяца и после перепроведения устанавливаем дату запрета изменения данных, что бы к закрываемому месяцу доступ был только у меня (программиста 1с) и зам. главбуха делающего проверку ошибок и окончательное закрытие месяца. Учитыва то, что бухгалтера или экономисты могут остаться работать и вечером (что часто бывает), то для того, что бы установить дату запрета редактирования данных необходимо или всех выгнать (что делается с большой неохотой) или дождаться когда все выйдут, т.е. самому остаться после работы (а этого уже не хочется мне).
Обработка решила все проблемы с перепроведением и установкой даты запрета:
1) Обычные бухгалтера могу перепроводить любых контрагентов в открытом месяце не боясь ошибиться в настройках (изменение даты запрета им недоступно).
2) Когда нужно установить дату запрета и сделать перепроведение документов, я спокойно ставлю таймер часов на 21.00 вечера (главное, что бы комп не ушел в спячку, т.е. тут надо операционку подстроить) и ухожу домой. С утра — все сделано!!!
Какое нафиг это безопасное … если неучитываются последовательности, после такого проведения жди красноты в оборотке.
(1) petrov_al, думал над сказанном Вами, но пришел к выводу, что «кашу маслом не испортишь».
Смотрите! Если последовательность нарушена с 3 числа некого месяца, а
1) …запустили обработку с 5 числа, то если была краснота, то так краснота и останется;
2) …запустили обработку с 3 числа, то документ сбивший последовательность перепроведется, а все последующие перепроводимые документы уже выровняют красноту;
3) …запустили обработку с 1 числа, то аналогично п.2)
Если я не прав поправьте меня, допишу. Или я не правильно понял ваш комментарий?
Безопасное перепроведение в том смысле, что обработку можно без опаски давать в работу бухгалтерам (что б не дергали по тупому вопросу — «а давай перепроведем клиентика, а то авансы кривовато легли», а делали это сами).
А ты был бы уверен, что перепроведутся именно проведенные доки и в закрытый период никто не залезет случайно.
Согласен с (1) и добавлю от себя: Выполнили перепроведение документов Поступления, а оценка стоимости выбытия МПЗ — по среднему. А Расход был под остаток — в итоге суммы зависли, значит надо было перепроводить и Расход…
И опять таймер на 21-00 ?
А там, глядишь, еще что-то всплывет …
Ну и конечно же нужно мозг включать при выборе документов для перепроведения.
А самое радикальное — это выбирать все документы (я так и делаю — поэтому не сразу понял про что речь), в этом случае произойдет перепроведение всех доков по всем организациям, по всем котрагентам в порядке хронологии. Решает названную вами проблему, а так же и многие другие.
Вообще же — спс за комментарий, хорошая пища для мозга. Может у кого есть светлые идеи как дописать обработку, что бы перепроводила правильно без выбора выбора всех имющихся в конфе доков?
А что к 9 вечера всплывет (ставьте другое время, 13.05 например и идите на обед)? Что бы не вспыло — выбор «все документы» разрулят, а утром работа начнется с исправленными ошибками.:-)
(4) У меня стоит Бухгалтерия и я обычно пользуюсь стандартным проведением документов:
Интерфейс «Полный», «Операции» -> «Проведение документов» (проведение и восстановление последовательности проведения документов). Мне хватает.
(5) sstar90, я про такую и не знал… (((
Получается — изобрел велосипед с тем функционалом, который нужен именно мне. Кстати — хорошая идея последовательности добавить в обработку. Займусь на досуге!!! Спс за подкинутую идею!
(6) всегда пожалуйста
А значение реквизита «Ручная корректировка» учитывается ли при перепроведении?
(8) lvictor58, скажу прямо — нет!
Разрешите поинтересоваться — зачем это нужно? Если логика в проверке есть, то допишу и эту проверку (всё-равно собираюсь дописывать — вставить проверку последовательностей и возможность восстановления).
Условие:
Если ВыборОрганизации = 0 Тогда
…………………………………………………………….
Иначе
Если СписокОрганизаций.Количество() > 0 Тогда // здесь должна быть проверка количества списка контрагентов
…………………………………………………………….
Иначе
…………………………………………………………….
КонецЕсли;
КонецЕсли;
будет изначально выдает ошибку, если выбрана организация, а списка клиентов нет
{Форма.Форма.Форма(28)}: Значение не является значением объектного типа (ВыгрузитьКолонку)
СписокДокументов = ПерепроведениеДокументов(НачПериода, КонПериода, СписокОрганизаций.ВыгрузитьКолонку(«Организация»),ОтменятьПроведение,ИсключитьОбщии,СписокРазрешенныхДокументов,СписокРазрешенныхКонтрагентов.ВыгрузитьКолонку(«Контрагенты»));
и дату запрета редактирования ставит на все организации, а не на выбранную.
(9) Ну логика у всех может быть своя, но при установленном крыже ручной корректировке движений по регистрам такой документ все равно перепроводиться не будет (и не должен!), а если еще там будет стоять крыж «Отменять проведение для нерабочих документов», то есть риск того, что вся работа по их корректировке (или сверке) может быть коту под хвост!
и всего то в текст запроса вставить фрагмент по аналогии по фильтру с контрагентами и организациями
Если ДокументМетаданные.Реквизиты.Найти(«РучнаяКорректировка») <> Неопределено Тогда
Запрос.Текст = Запрос.Текст + » И Документ.» + ДокументМетаданные.Имя + «.РучнаяКорректировка = Ложь»;
КонецЕсли;
(10) serg63, абсолютно согласен!!! Ошибочка вылетела!!! Обидно!!! (((
Естественно, вместо
…
Иначе
Если СписокОрганизаций.Количество() > 0 Тогда // это строка 27 модуля основной формы
…
Должно быть так:
…
Иначе
Если СписокКонтрагентов.Количество() > 0 Тогда // это строка 27 модуля основной формы
…
Пофиксел!!! Исправляем кто скачал!!!
При следующей выкладке обработки — её не будет!!!
(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 сейчас выложу!
(13) Сами же признаете «Ничего криминального не произошло, но по логике вещей конечно доки с ручной корректировкой нужно из списка перепроводимых исключать!»
значит это все таки не домыслы, а мысли!
И еще одна (мысль): крыж «Отменять проведение для нерабочих документов» отменяет проведение документов, которые не удалось перепровести. И тем самым нарушает джостоверность информации базы данных. Эти распроведенные документы надо будет отыскивать (и не дай Бог какой либо упустить изи виду! А для этого надо внимательнейшим образом отследить все сообщения. А если программа завершит работу до того как?) разбираться с ошибками а потом заново все перепроводить! Так может этот крыж переименовать в «Останавливаться на ошибке» присвоив соответствующий функционал прерывания цикла. По логике вещей!? Подобное есть кажется в стандартной обработке.
(14) lvictor58, учел сказанное Вами! А так же много что другого… )))
Новая обработка должна порадовать всех, так что ждите. Как допишу — тут же выложу.
Если у кого ещё есть пожелания, то пишите…
Сейчас пытаюсь победить последовательность — если граница осталась в закрытом месяце, то установив соответствующую галку, можно будет перенести последовательность на начало дня 1 числа открытого периода. Это сделал, но… по логике вещей — последовательность должна быть актуализирована по документу и к тому же что бы этот документ принадлежал проверяемой последовательности. Так?
Если поддерживаете — подскажите алгоритм нахождения первого проведенного документа последовательности в заданном периоде (учитывая, что обработка должна быть универсальна) — вот не могу придумать как его найти. Наверное переработал!!!
Всё!!! Выложил!!!
Кажись реализовал всё, что задумал!!!
Как-то страшновато брать некую обработку перепроведения документов от человека, не знающего стандартных механизмов контроля последовательности документов. А партионность? А документы, влияющие на последовательность (приход, расход)?
В Интерфейс «Полный», «Операции» -> «Проведение документов» (проведение и восстановление последовательности проведения документов) нет отбора по контрагентам, организациям, только по датам можно отобрать и по документам. А если у нас несколько организаций и только по одной нужно перепровести документы.
(17) putin-vv, улыбнуло, учитывая то, что ни одной обработки от вас нет… )))
Всё ж доступно написал — если существует граница последовательности в закрытом периоде, то обработкой вы можете (переключатели в рамке «Последовательность»):
— игнорировать этот факт (и тупо перепроводить документы в открытом периоде);
— или же перенести последовательнось на начало открытого периода и восстановить по текущий день (а потом перепровести выбранные документы).
Решать вам!!! Т.е. в обработке придерживается основная мысль, что «в закрытый период не лезь!!!». Поэтому для выполнения любых действий в закрытом периоде — или делайте самостоятельно или раскрывайте месяц.
Почему так? При закрытии месяца мы изначально заходим в «Контроль последовательности перепроведения документов» и видя что последовательность нарушена и находится в закрытом месяце, мы что делаем???? ))) Ну конечно же 1) «Изменить контрольную дату», а потом 2) «Перепровести документы», начиная с даты, указанной в 1). ТО ЖЕ САМОЕ ДЕЛАЕТ ОБРАБОТКА!
Единственное, соглашусь с тем, что надо добавить информативности — существуют ли последовательности, которые надо восстанавливать??? Продумаю этот вопрос.
(18) ГердаКай, обработка позволяет: Перепроводить/Восстанавливать последовательности/Устанавливать дату запрета как по всем, так и по конкретной организации (Выбор организации — По выбранным организациям — и в открывшейся вкладке «Организации» указывайте нужные организации).
Хотя все мои проверки прошли отлично, но на всякий случай проверьте сказанное ещё раз.
(20) да мне этим и нравится ваша обработка,что есть отбор.(5)sstar90 писал, что «У меня стоит Бухгалтерия и я обычно пользуюсь стандартным проведением документов:
Интерфейс «Полный», «Операции» -> «Проведение документов» (проведение и восстановление последовательности проведения документов). Мне хватает. »
Вот там как раз и нет отбора по организациям и по контрагентам. И вобщем-то типовых решений, удовлетворяющих всем этим условиям, я пока не знаю, если заблуждаюсь — поправьте.
(21) ГердаКай, Спс!
Если будут светлые мысли (можно и бредовые, их тоже рассмотрим) — чего в обработке хотелось бы видеть ещё, то пишите.
У меня, например, задумки:
1) сделать галочку «Запускать при получении монопольности», в этом случае при активации таймера будут делаться проверки — остался ли кто в базе? и если никого нет, то выполнять все установленные действия.
2) сделать галочку «Выгнать пользователей при окончании таймера», и соответственно удалять все сеансы, кроме текущего и после этого выполнять все заданные действия.
И надо бы доработать:
1) добавить информативности, что имеется/не имеется последовательность в закрытом месяце.
2) кнопку «Восстановить последовательность» на закладке последовательности, и при нажатии делать проверку — если последовательность в открытом месяце, то её могут восстанавливать и обычные бухгалтера, если в закрытом, то однозначно — только пользователи с полными правами.
Большая просьба — проверять работоспособность перед использоватением, поскольку обработка в разработке. )))
Запускаю в Комплексной последней версии и выдаётся ошибка:
//
{Форма.Форма.Форма(557)}: Поле объекта не обнаружено (РегламентнаяОперация)
ВыборкаРегламентныхДокументов = Документы.РегламентнаяОперация.Выбрать(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата()));
//
Спасибо! Подправил, выложил исправленный вариант (версия 3.3).
Спасибо и Вам
Что то с обновлением формы на вкладке Последовательности, не зря там кнопка Обновить есть.
То показывает все галки, то от старых настроек, то …
На вкладке «Посделовательности» выбор последовательностей по умолчанию завязан на выбранные организации:
— Если стоит галка «По всем организациям», то соответственно стоят все галки в восстановлении последовательностей.
— Если поставить галку «По выбранным организациям», но организацию не указать, то выберутся только последовательности, без измерения «Организация»
— Если поставить галку «По выбранным организациям», и выбрать организации, то выберутся последовательности выбранных организаций и без измерения «Организация».
Когда галочек последовательностей не было, кнопка «Обновить» обновляла форму, но сейчас потеряла актуальность. Сейчас кнопка «Обновить» выставляет Последовательности по умолчанию, т.е. мне думается её надо переименовать в «По умолчанию».
Автор работа конечно зачетная слов нет но как быть с таким дело как последовательности. при работе твоей обработки все потом не будет красным.второй вопрос могу ли я выбрать 3 типадокументов и устанавить отбор по табличной части номенклатура.Зарание спасибо за ответ