gifts2017

Автоматическое восстановление последовательности документов.

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

Обработка предназначена для автоматического восстановления последовательности (перепроведения) документов в нерабочее время.

Для каких конфигураций предназначена?
Обработка была написана для ПУБ. Сейчас эксплуатируется на ТиС и Бух.

Как изменить типовую конфигурацию?
1. Файл ПроведениеДокументов.ert вставить в конфигурацию в ветку Обработки, назвать "ПроведениеДокументов". Для Администратора назначить права - Использование.

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

3. Использовать старые или создать новые права (например BackUp). В правах обязательно должен быть доступ к следующим элементам (это рекомендация для ТиС, для других конфигураций может быть иной состав объектов):
- Задача.Монопольный режим
- Обработка.НастройкаКонстант.Использование
- Обработка.ПомощникНачалаРаботы.Использование
- Обработка.ТорговоеОборудование.Использование
- Обработка.Трассировка.Использование
- Обработка.ПроведениеДокументов.Использование

4. Создать пользователя под именем BackUp (или другим именем) c правами из п.3.

5. Запустить в режиме Предприятия под пользователем BackUp (или другим из п.4). Во всех появившихся окнах снять галочки "показывать при запуске".

6. (Опять только для ТиС) Запустить в режиме Предприятия под любым пользователем, у которого есть права на изменение справочника пользователи. Пользователю BackUp снять галочку "Запрашивать подтверждение при выходе из системы". Галочка "Отменить комментирование действий" должна быть сброшена. При необходимости, назначить полномочия, например разрешить продавать резерв или разрешить превышение кредита.Запустить обработку проведение документов. Задать необходимые параметры, записать их.

7. В глобальном модуле, в самом конце процедуры ПриНачалеРаботыСистемы добавить строки:

Если ПравоДоступа("Использование","Обработка.ПроведениеДокументов")=1 Тогда
ОткрытьФорму("Обработка.ПроведениеДокументов", "Старт");
КонецЕсли;

8. В Windows'е назначить запуск программы в режиме предприятия с ключами /m, /nBackUp и /d<Каталог ИБ> не раньше, чем окончание работы пользователей.

9. Зайти в программы под любым пользователем, у которого есть права на использование этой обработки. Открыть обработку и установить необходимые параметры для работы обработки и нажать кнопку "Установить".

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

Наименование Файл Версия Размер Кол. Скачив.
-
.1176403933 8,24Kb
27.09.09
738
.1176403933 8,24Kb 738 Скачать

См. также

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

Комментарии

1. Сhe Burashka (CheBurator) 13.04.07 03:43
Бяка! А где рассылка сообщения об успешности/неуспешности на мобилу/мылу админу?
Логгирование пртокола сообщений ведется?
2. Poppy (poppy) 13.04.07 09:09
> А где рассылка сообщения об успешности/неуспешности на мобилу/мылу админу?
Что считать успешностью/неуспешностью? Перепроведение всех документов или полное восстановление последовательности?
Рассмотренная обработка используется там, где ни первое, ни второе за одну ночь не выполняется.

Если программа зависла во время работы, то админ и так узнает об этом по телефону от бухов. ;)

> Логгирование пртокола сообщений ведется?

Ведется. Смотри п.2 Специально подготовленные пиплы, при запуске программы, получают два отчета - один о проведении документов от границы последовательности, другой о сегодняшней (вчерашней) работе.
3. Валерий (VV) 14.04.07 14:06
Че, что докулупался? Мне тож на фиг не нужен спам на телефон и мыло :)))
К автору: лично я даю права админа ТОЛЬКО себе, ну могу еще и роботу (ночному юзверю), для получения отчета давать права админа - роскошь и вред! ИМХО.
В целом интерфейс интуитивно понятен, на галки подсказки подробные повесь - неохота каждый раз в ридми лазить. "Установить" что делает? Настройки сохраняет? А если Настройка - сохранять автоматически, использовать при открытии?
Запустил, сейчас молотит, хочу табличку с отчетом глянуть :)
4. Сhe Burashka (CheBurator) 15.04.07 16:32
такс, ща тут крупную правку придется в сентябрь 2006 г. внести.. попробуем восстановиться данной прогой..
- успешностью считать восстановление ГП (если запущено для восстановления ГП).
- а чего это вдруг она должна зависнуть...? (вот штатное восстановление/перепроведение за 4 года ни разу не зависло)
5. Сhe Burashka (CheBurator) 15.04.07 17:50
такс... имхо штатное восстановление гп происходит СУЩЕСТВЕННО БЫСТРЕЕ.
6. Poppy (poppy) 15.04.07 19:27
> - а чего это вдруг она должна зависнуть...? (вот штатное восстановление/перепроведение за 4 года ни разу не зависло)

За несколько лет эксплуатации было несколько зависаний. Причины:
- для информационной базы на Скуль-сервере был назначен предел размера 1Гиг для файла транзакций. В будние дни проблем не было, но в выходные...
- закончилось место на диске, где хранилась база скуль-сервера.
7. Poppy (poppy) 15.04.07 22:22
> такс... имхо штатное восстановление гп происходит СУЩЕСТВЕННО БЫСТРЕЕ.

Это не обсуждается. Штатные средства (меню\операции\проведение документов об этом ведем речь?) самые быстрые.

Управлять скоростью проведения документов можно с помощью галочки "Не передвигать ТА". Известно, что проведение доукмента задним числом занимает значительно больше времени, чем при актуальных итогах.
Другая сторона медали состоит в том, что по окончании работы необходимо передвинуть ТА на "старое" место. У меня были случаи, когда это происходило несколько часов.
Другими словами. При установленной галочке "Не передвигать ТА" проведение документов происходит медленне, но завершение работы - почти мгновенно. При снятой галочке наооборот. Выбор за пользователем.

Фишка моей технологии не в том, что она быстрее штатных средств. Она работает ежедневно (еженочно) не зависимо от желания пользователя. Она проводит документы - восстанавливает последовательность. Если есть ошибки в документе, т.е. последовательность не удалось восстановить, обработка продолжит перепроведение документов дальше. Не успела провести все документы сегодня, остальные будут проведены завтра.
У меня есть клиенты, у которых проведение документов от ГП до ТА занимает до двух недель...
8. Poppy (poppy) 15.04.07 22:23
> - успешностью считать восстановление ГП (если запущено для восстановления ГП).

Такая успешность зависит от текущего состояния информационной базы, но не от иструмента, с помощью которого ты будешь перепроводить документы...
9. Валерий (VV) 16.04.07 12:40
<<Не успела провести все документы сегодня, остальные будут проведены завтра.>> - как отслеживаешь? Я вчера тоже не дождался - отключил обработку.
10. Poppy (poppy) 16.04.07 12:52
> <<Не успела провести все документы сегодня, остальные будут проведены завтра.>> - как отслеживаешь?

Обработка отключается самостоятельно в назначенное время или по окончании документов. Если остановка произошла по-времени, то запоминается последний проведенный документ и при следующем запуске проведение начнется с него (при условии, что ГП не передвинули).

Если установлена галочка "Каждый день начинать с начала", то проведение документов всегда начинается с ГП.
11. Доржи Цыденов (support) 14.05.07 12:37
12. Poppy (poppy) 08.07.07 14:52
> "Установить" что делает? Настройки сохраняет? А если Настройка - сохранять
> автоматически, использовать при открытии?

Штатно настройки сохраняются только для текущего пользователя. Такой вариант не подойдет, потому что эти настройки нужны для другого пользователя, т.е. "робота".

Кнопка "Установить" записывает настройки из рамок "Настройки" и "Расписание" в файл. При открытии эти настройки восстанавливаются.
Поэтому, режим "использовать при открытии" в этой обработке не работает.
13. Poppy (poppy) 08.07.07 14:55
Обработка обновлена.

Ко всем элементам управления добавлено описание.
14. Вадим 1С911.BY (Вадимко) 30.07.07 13:09
Интересно, какой документ восстанавливается если обработка запускается в первый раз? :)

глСообщениеТрассировки(глСообщенияТрассировки, "Окончание: " + ВосстановитьЗначение("ПоследнийДокумент").ПолучитьПозицию() + " (" + глПредставлениеДокумента(ВосстановитьЗначение("ПоследнийДокумент")) + ")", -1,,,,,,,,,, ВосстановитьЗначение("ПоследнийДокумент"));
{Обработка.ПроведениеДокументов.Форма.Модуль(239)}: Значение не представляет агрегатный объект (ПолучитьПозицию)
15. Вадим 1С911.BY (Вадимко) 30.07.07 13:20
Смотрю в камент на флажке "При след. запуске начать с начала"
и вижу:
"Установка этой галочки имеет смысл только при
снятой галочке "Каждый день начинать с начала"."

Где эта галочка?

А если несколько последовательностей?

Если ИмяПользователя() = "BackUp" Тогда
Сообщить(пПоследовательность.Получить()

Зачем тогда пользователя можно выбирать если он прописан в коде жестко?

ЗЫ. Не цепляюсь, просто открыл по потребности
16. Вадим 1С911.BY (Вадимко) 30.07.07 14:49
И еще прошу пояснить... может не догнал... насколько имеет смысл запоминать последний документ и что-то проверять если мы восстанавливаем последовательность а система САМА устанавливает ее границу???
Или тут задумывалось все же не для последовательности?
17. Сhe Burashka (CheBurator) 30.07.07 15:06
У себя я еженочно восстанавливаю только Основную последовательность, так как прочие (Книги покупок/продаж) для ежедневной работы - неактуальны.
18. Вадим 1С911.BY (Вадимко) 30.07.07 15:43
Могу разработать специально для SQL 2000... надо? :)
19. Poppy (poppy) 31.07.07 17:45
(14)
Описанная ошибка возникает при первом запуске оработки, если ни один из документов не проводился.
20. Poppy (poppy) 31.07.07 17:46
(15)
п.1 В описании должно быть так:
"Установка этой галочки имеет смысл только при
снятой галочке "Каждый день начинать с ГП"."
21. Poppy (poppy) 31.07.07 17:51
(15)
п.2 Планировалось, что обработка может восстанавливать несколько последовательностей. Сначала она была заточена под одну и в процессе эксплуатации восстанавливать несколько последовательностей не потребовалось.
Об этом же пишет и Че (17)
22. Poppy (poppy) 31.07.07 17:52
(15)
п.3 Этот код остался с времен, когда имя пользователя поменять было нельзя.
Этот "косяк" будет исправлен.
23. Poppy (poppy) 31.07.07 18:21
(16)
Действительно, не только для последовательности.
В том случае, если ГП "застряла" из-за какой-либо ошибки и за один сеанс работы не удается перепровести все оставшиеся документы, то при каждом сеансе будет перепроводится один и тоже состав документов, пока не будет исправлена ошибка.

Последний проведенный документ - это псевдо-граница последовательности. Такое решение применяется когда для наведения порядка в одном регистре (остатки ТМЦ) требуется продолжительное время, но по другому регистру (взаиморасчеты) нужен порядок уже сейчас.
Посмотри еще (7).
24. Poppy (poppy) 31.07.07 18:26
Обработка обновлена.
Исправлены ошибки, указанные в (14) и (15). Спасибо Вадимко за замечания.
25. Aleksandr (murmanPV) 16.10.07 21:26
последовательность не восстановилась
26. Сhe Burashka (CheBurator) 16.10.07 23:01
отрубить нафиг трассировку, все плювать в табло сообщений, табло капчить 1spy
27. Сhe Burashka (CheBurator) 16.10.07 23:07
если перепроведение доков не успело дотямкать до финиша и было прервано по времени - я например, такую базу запустить в работу могу только на короткий срок... т.е. получается - использование такой обработки имеет смысл где прога используется как печмаш или я чего-то недотумкал...?
28. Poppy (poppy) 16.10.07 23:47
(26)
Как вариант, но в мокселе хранятся ссылки на документы с ошибками или предупреждениями. Их можно легко открыть.
29. Сhe Burashka (CheBurator) 17.10.07 02:11
(28) тоже верно... только это актуально для первого (т.е. всего одного?) непроведенного /плохого документа - после его исправления - все заново... ;-)
30. Олег Пономаренко (O-Planet) 17.10.07 03:22
По мне, так перепроведение в нерабочее время - крайне вредная операция. У меня перепроведение требует присутствия виновников. Когда встречается непроводящийся документ, она его открывает и ждет исправления. Потом медленно продолжает свое темное дело...
31. Poppy (poppy) 17.10.07 20:48
(30)
Не вреднее, чем менять в проводках 60.2 на 60.1 счет.
32. Аркадий Кучер (Abadonna) 03.04.08 04:42
Как раз что-то похожее понадобилось. Ставлю плюс не глядя, ибо в poppy не сомневаюсь
33. Аркадий Кучер (Abadonna) 03.04.08 04:42
Упс. Оказвается уже голосовал ;)))
34. Виктор Точко (vist) 16.11.08 03:52
У меня ошибки вылезли
пПоследовательность = Последовательность.ПолучитьАтрибут(фСоставДокументов.ПолучитьЗначение(фСоставДокументов.ТекущаяСтрока()));
{Обработка.ПроведениеДокументов.Форма.Модуль(84)}: Индекс не входит в границы списка значений.
пПоследовательность = Последовательность.ПолучитьАтрибут(фСоставДокументов.ПолучитьЗначение(фСоставДокументов.ТекущаяСтрока()));
{Обработка.ПроведениеДокументов.Форма.Модуль(84)}: Неверное имя атрибута
35. Poppy (poppy) 17.11.08 16:22
(34)
Ошибка исправлена. Спасибо за сообщение.
36. Альтаир (Altair777) 18.11.08 11:27
to poppy
На SQL-базах юзали?
У меня была проблема производительности после перехода на SQL.
Решилась с помощью 1С++ методом ReconnectNative()
37. Аркадий Кучер (Abadonna) 18.11.08 11:32
(36)>Решилась с помощью 1С++ методом ReconnectNative()
А поподробнее можно? Или сюда, или в личку
38. Альтаир (Altair777) 18.11.08 11:43
(37) > А поподробнее можно? Или сюда, или в личку

в глобальном объявляется

Перем глDataBase Экспорт;
глDataBase = СоздатьОбъект("ODBCDatabase");
глDataBase.Attach1C();

в обработке "Восстановления последовательности" после каждого перепроведенного дока глDataBase.ReconnectNative();
(там была фармфирма, доки от 100 до 8 тыс строк)

этот метод отключает от sql-базы и снова подключает
при этом в данном экземпляре программы не должно быть открытых журналов, справочников, доков
40. maff 26.01.09 15:03
41. Светлана Мих (alina-aud) 21.07.09 23:28
бух 7.70.507

при запуске выдает: последовательности док-ов не обнаружены. Обработка работать не будет =(
42. Poppy (poppy) 30.07.09 17:16
(41)
Да, в типовой бухии нет последовательностей, поэтому обработка отказывается работать.

У меня, в такую конфигурацию, добавлена последовательность, для перепроведения документов по 60 и 62 счетам. В этом случае обработка работает.
43. Аркадий Кучер (Abadonna) 30.07.09 17:34
(41,42) Вопрос тупого: зачем последовательность в бухгалтерии, если интервал актуальности итогов там составляет 24 часа?
44. Роман Тарасевич (tarroman) 19.08.09 12:22
(43) - основная задача последовательности - фиксация факта хронологического проведения документов в базе, и контроль нарушения хрнологии.

В компоненте "Бухгалтерский учет" нет понятия ТА (это не интервал, это точка времени, на которую в системе хранятся итоги для регистров), но понятие расчета бух. итогов на момент времени есть.

Как правило алгоритмы проведения документов в базах 7.7 используют итоги, рассчитанные на позицию проводимого документа. Как следствие - любой документ, проводимый/перепроводимый задним числом (временем) потенциально меняет информацию в итогах для других документов, проводимых после него. В бухгалтерии, например в ряде документов заложен алгоритм определения корр. счета (62.1 или 62.2, например) в зависимости от состояния итогов (например, при приходе денег от контрагента, важно знать - есть ли долг контрагета по ранее совершенным отгрузкам (фильтр - контрагент + договор) и деньги пойдут на его закрытие, или же долга нет - будет аванс).
45. Роман Тарасевич (tarroman) 19.08.09 12:23
Обработка полезная (особенно, когда нужно автоматизировать перепроведение доков по последовательности, а под рукой ничего нету :) Пасиба.
46. logdog (logdog) 27.10.09 22:03
(42)
У меня, в такую конфигурацию, добавлена последовательность, для перепроведения документов по 60 и 62 счетам. В этом случае обработка работает

Как эта последовательность туда добавлена?
47. Poppy (poppy) 27.10.09 23:40
(46) Штатными средствами. В конфигураторе.
48. Alexander Nick (nickkey) 24.11.11 18:24
если перепроведение документов не успело доперелопатить до финиша и было прервано по времени - ну тобиш, наступило утро бухи снова в базу, такую базу запустить в работу можно или потом еще хуже будет? А так вообще спасибо за такого робота а то щас восстанавливаю чтоб потом гимороя снова не было зацеплю и пускай каждый день молотит :)
49. Alex (4ish) 20.01.12 14:10
Преамбула - столкнулся с такой проблемой - есть база ТиС, в которой каждую ночь запускается обработка подобная Вашей. Проблема в том, что если нехорошие пользователи залезут в документы на месяц назад и обработка начнет перепроводить документы, то часть хоз. проводок может и не сделаться.
Пример - есть Возврат от покупателя, на его основании ввели РКО. В результате перепроведения возврата от покупателя не формируется проводка Дт 62.1 - Кт 90.1.2 (сторно реализации) - сумма-то нулевая.

Теперь собственно вопрос - Ваша обработка решит ситуацию такого рода?
50. Rino (Rino) 10.02.12 12:03
есть ли такая-же на УТ 11?
51. Лобов Максим (corsar4ik) 24.02.12 09:48
Перепроведение документов штука тонкая и делать её надо вручную под чутким руководством ГЛАВНОГО... иначе быть беде.. Но спасибо за труды!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа