Очень маленькая и простая обработка фонового восстановления последовательности документов.
Всем привет! Собственно ничего нового я не изобретал. Выкладываю трехколесный велосипед, для тех кому не нужны мопеды.
Все очень просто, по указанному интервалу времени проводятся по одному документу. Тем самым позволяя спокойно работать в 1С и не сильно мешать работать другим. Все предельно просто и уже у многих использовалось. Просто маленькая и простая.
А в Комплексной работать нормально будет? 🙂
В любой где есть последовательность документов, что актуально для компоненты «Оперативный учет», которая используется в комплексной. Так что работать должна нормально 🙂
Ок, пасиб. Потестирую.
По-моему проще на ночь запускать восстановление. Чтобы юзерам не мешать
(4) далеко не у всех базы успевают за ночь перепроводиться. плюс ))
Я всегда запускал восстановление последовательность монопольно на ночь, но во-первых, как уже правильно заметили, не всегда успевает провестись за ночь, во-вторых часто возникает необходимость восстановить последовательность в течении дня, перед проведением инвентаризации и т.п. Поэтому и написал эту обработку 🙂
Что-то намудрил с паузой. Нельзя было написать
ОбработкаОжидания(«Ожидание»,ВыбВремя) ?
И заканчивать висячим модальным окошком не есть гут.
Там кода на пару десятков строк, подправить под свои нужды и вкусы не проблема. У кого возникнут сложности, пишите, помогу.
Просто и хорошо, молодец. Плюс.
Есть более функциональные аналоги, например:
http://infostart.ru/projects/3178/
http://infostart.ru/projects/887/
2 Altair777, Если Вы прочитали описание к моей обработке, то не стали бы писать свое сообщение. Никто не спорит что есть лучше и функциональнее, я же говорю, это велосипед для тех кому не нужен мопед 🙂 Тоесть все просто и по минимуму. Любой начинающий программист сможет подкорректировать и изменить ее под свои нужды. А Ваши, более продвинутые, даже опытный не сразу разберет, я про код конечно, а не про работу с обработкой. Поэтому и потребитель у наших с Вами обработок разный.
(11) Поверьте мне, все большее начиналось с малого 🙂
И я, и, наверно, poppy сначала написали нечто подобное.
Но… рано или поздно все упирается в функционал. У вас, имхо, еще не велосипед, а так… самокатик 🙂
И чем моя обработка сложнее Вашей в использованиии?
Тем, что добавлен выбор последовательности, возможность прекратить обработку в заданное время, или принудительно сразу установить на документ?
Ну, и еще парочка галочек и тесктовых информационных полей.
А знаете, как ценно открыть документ, на котором последовательность прервалась, прямо из формы обработки?
Если нет, то, похоже, Вы никогда не были администратором БД…
+(12) А пользователю и не надо разбирать код. Ему надо только пользоваться, на то он и «пользователь» 🙂
А если сложность в том, что программист не может разобрать код…
А Вы когда-нибудь разбирали глобальник типовой комплекс
(13) Мне функционала моей обработки хватает за глаза, ничего другого мне от нее не надо. Возможно со временем она обрастет функционалом, но пока самокат меня вполне устраивает. Пусть пользователи сами выбирают чей функционал им нужен. Но я еще раз подчеркну, моя обработка и не претендует на конкуренцию с другими обработками. Я, конечно, мог бы потратить лишнее время и добавить в обработку много чего «полезного», но только если пользователи этого захотят. Мне же, повторюсь, от нее большего не надо. Обратите внимание на другие мои обработки, в частностиhttp://infostart.ru/projects/2616/
Изначально ее функционал тоже был минимален, но при общении и отзывах пользователей она постепенно разрасталась. Забавно что лично я ей не пользуюсь уже после первого выкладывания. Люди просят, я доделываю.
И давайте прекратим этот флуд. Будем считать, что Вы меня «урыли» по навыкам программирования и Ваша обработка намного круче. Я не буду с Вами спорить 🙂
(14) ОК
Но это не флуд. Я лично думал, что это дискуссия 🙂
Хотя, наверно, Вы правы. Именно здесь ей не место.
+(12), забыл заметить. Не знаю какой у Вас опыт администрирования БД, но лично мне всегда казалось, что проблему надо предотвращать, а не ждать ее появления. Поэтому мне нет необходимости открывать документ, который не провелся. Он у меня просто не может
(16) Поверьте мне на слово, у меня большой опыт администрирования БД 🙂
А вот Вам самая простая ситуация.
Приходная накладная от 01.08. Приход — 100 шт. товара.
Расходная накладная от 10.08. Расход — 60 шт. товара.
Расходная накладная от 11.08. Расход — 40 шт. товара.
15.08 меняют расходную от 10.08 на 70 шт. И что, последовательность не споткнется на расходной от 11.08?
Пример можно было бы и усложнить, но пока и этого хватит.
Или Вы после каждой правки задним числом запускаете весь свой комплекс проверочных отчетов?
Имхо, восстановление последовательности — это самый надежный механизм проверки. И пялиться в экран монитора совсем не нужно. Для этого есть роботы, которые запускаются в определенное время по ночам и выполняют восстановление и всю необходимую информацию пишут в логи.
P.S. Что бы не засорять комменты в Вашей обработки и не пиарить ее лишний раз :-), предлагаю перенести (при Вашем желании) обсуждение способов администрирования БД и защиты от всех случаев жизни при перепроведении документов задним числом, например, сюдаhttp://infostart.ru/projects/3178/
(17) Ну раз пошла такая пьянка, к Вашему примеру добавлю:
— необходимо чтобы восстановление последовательности прошло 100% за ночь, так как на следующий день назначен инвентаризация или встречные проверки с поставщиками. Не знаю как у Вас, у меня такие ситуации возникают ровно каждую неделю.
В Вашем случае я что, должен показать руководству логи почему не провелись документы?
Нет, я не запускаю свой «комплекс» отчетов после каждым правки задним числом, я запускаю свой скромный отчет перед тем, как запустить восстановление последовательности. Выполняется отчет не более 30 секунд (прямые SQL запросы к базе данных), и как раз на подобных документах, как Вы привели в примере, он и ругается. Выдает список документов которые не будут перепроведены из-за минусов задним числом или резервом или отменой прихода и т.п.
В результате я исправляю сбойную ситуацию еще до того, как я буду восстанавливать последовательность и сэкономлю кучу времени и знаю что утром последовательность восстановлена на 100%.
Так что я остаюсь при своих методах администрирования
(18) А сбойную ситуацию должны исправлять не админы, программисты или администраторы БД, а те, кто ее создал. С вероятностью 95% — это менеджеры.
И последовательность надо восстанавливать не тогда, когда приспичит, а каждый день.
Могу Вам только пожелать удачи. Но…
«Суха теория, мой друг, а древо жизни пышно зеленеет…» © Гете «Фауст»
А вот теперь маленькое усложнение, даже два 🙂
1) Изменение задним числом получено по УРИБ роботом обмена непосредственно перед восстановлением последовательности.
2) 02.08 была еще одна приходная на тот же товар.
Первая расходная по фифо списала партию из первой приходной, а вторая не смогла, потому что она там явно задана явно. По каким-то понятным только менеджеру и/или клиенту причинами.