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

08.02.12

База данных - Инструменты администратора БД

Обработка  предназначена для восстановления последовательности документов.
Версия 1.6 от 22.10.2009

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Версия 1.6 от 22.10.2009
.ert 213,00Kb
336
336 Скачать (1 SM) Купить за 1 850 руб.
Версия 1.4 от 09.06.2009
.1230215086 182,50Kb
941
941 Скачать (1 SM) Купить за 1 850 руб.

Из основных фич:
1) Возможность тайм-аута между проведениями документов. Нужна при запуске в рабочее время.
2) Возможность прекращения обработки в заданное время. Например, после окончания рабочего дня запустили, и что бы она часиков в 8 прекратила базу насиловать :-)
3) Изменение времени документов с возможность выбора вида в начало дня в заданном интервале.
4) Возможность выборочного протоколирования результатов файл.
5) Возможность перепроведения всех документов, а не только из последовательности.
6) Для SQL-баз, работающих под SQL-2000 и наличии ВК 1С++, можно использовать метод ReconnectNative(), что существенно ускоряет обработку. Огромное спасибо Артуру (artbear) за 1С++ (Удалено в версии 1.5)
7) Возможность автоматической обработки. Например, в Глобальном модуле:
   

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

   И обработка сама выставляет параметры (см. процедуру ПриОткрытии)


История версий

1.1 от 13.01.2009
Добавлено: проверка на существование документов, входящих в Последовательности, с автоматическим отсеиванием "пустых" последовательностей. Спасибо  Notka за найденную проблему.

1.2 от 28.01.2009
Исправлено: ошибка расчета общего времени проведения, если обработка работала больше 2 календарных суток. Спасибо Poppy за найденную проблему.

1.3 от 30.01.2009
Добавлено: возможность выбора нескольких видов документов, предварительно помещаемых в начало дня.

1.4 от 09.06.2009
Добавлено: возможность сортировки видов документов по видам, предварительно помещаемых в начало дня.

1.5 от 18.09.2009
Добавлено: возможность выборочного протоколирования результатов файл.
Добавлено: возможность перепроведения всех документов, а не только из последовательности.
Удалено (!):  использование метода ReconnectNative()

1.6 от 22.10.2009
Исправлено: обработка ситуации для режима "Перепроводить ВСЕ документы" в случае, когда граница последовательности стоит не на документе.

См. также

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

18.02.2022    4051    0    igor7777    6    

2

Инструменты администратора БД Программист Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

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

2 стартмани

25.05.2020    5889    2    CheBurator    3    

2

Журнал регистрации Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11603    phsin    20    

28

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    15878    4    devlabnn    2    

6

Инструменты администратора БД Бухгалтер Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    3859    1    Genyak    1    

0

Инструменты администратора БД Системный администратор Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    28163    19    tux    3    

1

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    37399    rudjuk    21    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Altair777 645 25.12.08 17:33 Сейчас в теме
Новая моя программуленка. Т.е. она старая, просто не пулбиковалась.
Сильно не ругайте, лучше посоветуйте что нужно улучшить :-)
2. notka 115 12.01.09 14:05 Сейчас в теме
У меня вот что пишет:
ДатаС=Что.ПолучитьДокумент().ТекущийДокумент().ДатаДок+1;
{C:\DOCUMENTS AND SETTINGS\PC_10\РАБОЧИЙ СТОЛ\ВОССТАНОВЛЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ.ERT(238)}: Значение не представляет агрегатный объект (ДатаДок)
3. Altair777 645 12.01.09 14:14 Сейчас в теме
(2) Последовательности есть в конфигурации? Хоть одна?
А граница у нее есть? Выставлена документом? Этот документ не удалили?
4. poppy 12.01.09 22:39 Сейчас в теме
(3)
> Последовательности есть в конфигурации? Хоть одна?

Зачем это спрашивать у пользователя? Может проверить программно?
Кстати, ошибка будет другая:
Имя=Посл.ПолучитьЗначение(Посл.ТекущаяСтрока());
{С:\REPAIR.ERT(236)}: Индекс не входит в границы списка значений.
Что=Последовательность.ПолучитьАтрибут(Имя);
{С:\REPAIR.ERT(237)}: Неверное имя атрибута

> А граница у нее есть? Выставлена документом? Этот документ не удалили?

Для чего нужна эта обработка? Заявлено, чтобы ответы были "ДА" независимо от начальных условий. После работы обработки, но не до начала... ;)
6. Altair777 645 13.01.09 09:21 Сейчас в теме
(4) ты права, сделаю проверку для блондинок :-)
Только не обижайтесь, милые дамы :-)
Лучше расскажите, чем вы там занимаетесь. Мы, мужчины, очень любим блондиночек. А я - ужос какой любопытный :-)
7. Altair777 645 13.01.09 09:45 Сейчас в теме
(6) хм... проверка нужна еще и в том случае, когда последовательности есть, но не все они имеют документы.
9. Abadonna 3969 13.01.09 10:26 Сейчас в теме
(6)>Мы, мужчины, очень любим блондиночек.
За всех не расписывайся! Я люблю зеленоглазых шатенок
11. Altair777 645 13.01.09 10:34 Сейчас в теме
(9) прости, Аркадий! Я дико извиняюсь :-)
Вообще, внешность не главное. Главное - чтоб человек хороший был.
13. Abadonna 3969 13.01.09 10:40 Сейчас в теме
(11)>Вообще, внешность не главное.
ИЗВИНЯЙСЯ второй раз:))))))))))
- Карлсон, поверь, не в пирогах счастье!
- Ты что, с ума сошел? А в чем же еще?
;)
5. notka 115 13.01.09 06:29 Сейчас в теме
Я прошу прощения. Смотрела в конфигурации, где нет ни одного документа из последовательности. Проверила на другой все работает.
8. Altair777 645 13.01.09 10:26 Сейчас в теме
(5) Обновил версию. Спасибо!
10. notka 115 13.01.09 10:31 Сейчас в теме
Вот за что я люблю мужчин-программистов, так это за их снисхождение к нам... блондиночкам, шатеночкам...
12. Altair777 645 13.01.09 10:35 Сейчас в теме
(10) и к брюнеточкам тоже :-)
14. Altair777 645 13.01.09 10:42 Сейчас в теме
фик! не извинюсь! :-)
счастье - в начинке ;-)
15. poppy 13.01.09 22:02 Сейчас в теме
Как-то не очень правильно считает время выполнения:

Общее время обработки 3615 сек.
Общее время проведения 90014 сек.
16. Altair777 645 14.01.09 09:51 Сейчас в теме
(15) ого! спасибо, я посмотрю
но у меня все было правильно :-)
21. magus 22.01.09 16:37 Сейчас в теме
(16)
Запусти обработку на пару суток. Сразу увидишь неправиьлность.
23. Altair777 645 22.01.09 17:14 Сейчас в теме
(21) спасибо, я понял в чем суть
17. kalleka 47 22.01.09 15:57 Сейчас в теме
Надо попробовать. Только вот, что метки присутствуют настораживает
18. kalleka 47 22.01.09 15:57 Сейчас в теме
ReconnectNative() сильно увеличивает скорость?
19. Altair777 645 22.01.09 16:14 Сейчас в теме
(18) для 2000 SQL в десятки раз :-)
20. Altair777 645 22.01.09 16:15 Сейчас в теме
+ (19) для 2005, как я понимаю - нет
В нем была исправлена ошибка
22. kalleka 47 22.01.09 16:53 Сейчас в теме
у нас 2000)) в 10 раз по сравнению со стандартной?
24. Altair777 645 22.01.09 17:19 Сейчас в теме
(22) был такой случай, это касается не этой обработки, а вообще метода.
Нужно было провести примерно 20 документов по 3'000-8'000 строк.
Первый провелся за 15 минут, 10 за 3 часа, 15 не провелся вообще (оборвали)
Началось в пятницу вечером, не закончилось в понедельниу утром.
Цифры примерные, просто для оценки количественной характеристики.
25. kalleka 47 23.01.09 08:39 Сейчас в теме
(25) Ну у нас вообще большой документооборот, в основном по 5-30 строк доки. Немного допишу твою, добавлю лог в частности и проверим. Спасибо в общем - мне вот влом что то выкладывать
26. kalleka 47 23.01.09 09:00 Сейчас в теме
+ я не помню как в типовой торговле, но у нас приходные накладные вводятся на основании заказа поставщику, а те в свою очередь по заказу покупателя(не всегда). Так что тупо перенести приходные на начало дня не получится - будут минусы в регистрах резервах, заявках и прочее. Но мысль хорошая
27. ПАО 23.01.09 10:06 Сейчас в теме
Ребята, а можете написать обработку для проверки все ли кассы отправили закрытие смены в общую базу, их 21 шт. отправляют (обмен авто по фтп серверу) чтобы можно было с утра нажать кнопочку и увидеть если не пришел хотя бы 1 отчет). ТиС 7.7..помогите..вы же "монстры"*))
28. kalleka 47 23.01.09 10:13 Сейчас в теме
А (27) может написать обработку "Автоматическое доведение вашей конфы до божественной" ))) Чтобы запустил и все отлично стало, при чем у всех сразу
29. Altair777 645 23.01.09 13:32 Сейчас в теме
(27) мы все можем.... но иногда нам лень :-)
30. Altair777 645 25.01.09 12:12 Сейчас в теме
Обновил, но не проверил. Надеюсь, хуже не стало :-)
На домашнем компе, оказывается, не установлен телепат.
Ацкие муки :-(
31. Hunta 26.01.09 20:06 Сейчас в теме
Спасибо! Прям что то как то быстро отработала, в отличии от стандартной =)
Большой и жирный плюс!!! "+"
32. Altair777 645 26.01.09 23:12 Сейчас в теме
(31) Спасибо за комментарий! Я очень рад, что пригодилось.
Лично я стандартным восстановлением последевательности последний раз пользовался еще в прошлом веке. :-)
Воспоминания очень неприятные.
33. CheBurator 2684 27.01.09 00:20 Сейчас в теме
Извините за нескромный вопрос: а зачем таймаут между документами в 10 сек, понятно что в рабочее время.. но и врабочее время есть моменты относительного "бездействия" системы - и зачем в это время ждать по 10 сек?
34. Altair777 645 27.01.09 00:30 Сейчас в теме
(33) Мне кажется трудно отследить, а тем более, спрогнозировать занятость системы.
Ситуация - работают 5-10 менеджеров, а нужно срочно восстанавливать последовательность (бухи требуют).
Если не делать паузы - ожидание захвата таблиц.
35. CheBurator 2684 27.01.09 00:43 Сейчас в теме
(34)
1. а если попробовать ромиксовый патч 100% загрузки проца?
2. делать 10 сек паузу там, где модно обойтись вообще без пауз - бяка, подход "в лоб"...
36. Altair777 645 27.01.09 00:57 Сейчас в теме
(35) а если не под терминалами?
37. CheBurator 2684 27.01.09 01:00 Сейчас в теме
38. Altair777 645 27.01.09 01:04 Сейчас в теме
(37) отож :-)
Поэтому, если нет другого варианта (установленный патч)- тогда паузы.
Пользователь сам может выбрать.
39. hogik 443 27.01.09 03:48 Сейчас в теме
(35-38)
;-) Интересный разговор получился у вас.
Паузы между транзакциям не имеют никакого отношения к "ромиксовый патч 100% загрузки проца". А обмен мнениями по поводу терминального режима какое имеет отношение к паузам между транзакциями и "100% загрузки процессора"?
Пауза между транзакциями позволяет другой задаче вклиниться в сплошной поток транзакций, а разработка Романа позволяет не загружать систему уже в процессе выполнения транзакции опросом блокировок в ожидающей задаче. Т.е. надо делать и паузы между транзакциями, и использовать разработку Романа. И не только в терминальном режиме, а и в обычном сетевом режиме.
40. Altair777 645 27.01.09 04:08 Сейчас в теме
(39) не мог же я спорить с самим Че :-)

Насколько я помню, основной выигрыш патч Ромикса дает именно в терминальном варианте. Поэтому в сетевом режиме он не так актуален. Какая разница, будет ли процессор загружен на 100% на клиентской машине, если все равно пользователю сначала нужно провести документ.

А вообще, я согласен - паузы нужны в "дневном режиме".
Поэтому они и есть :-)



42. hogik 443 27.01.09 04:40 Сейчас в теме
(40)
;-) Совсем меня запутали.
Да, больший "выигрыш патч Ромикса дает" в терминальном режиме чем в сетевом. Хотя загрузка сети на 100% при опросе блокировок тоже не положительно влияет на производительность системы. Да и не совсем безразлично "будет ли процессор загружен на 100% на клиентской машине". Например на клиентской машине выполняется задача с "пакетным" проведением документов, а пользователь работает в текстовом редакторе. Вроде в последних версиях Windows-а уже можно запускать две задачи...
44. Altair777 645 27.01.09 04:56 Сейчас в теме
(42) под словом "клиентская" я понимал что это не сервер.
"Обычные" пользователи не запускают такие обработки, они накладные колбасят.
Их запускают Администраторы БД, а сами идут пить пиво :-)
Поэтому многозадачность Windows в данном случае не востребованна.

(43) У меня тоже много фич есть, но я удовольствие растягиваю :-)
41. Altair777 645 27.01.09 04:11 Сейчас в теме
Кстати, мне кажется, пауз больше нет ни в одной аналогичной разработке на ИС.
43. hogik 443 27.01.09 04:44 Сейчас в теме
41)
"Кстати, мне кажется, пауз больше нет ни в одной аналогичной разработке на ИС."
Про ИС не скажу, а у меня во всех разработка такого рода есть окно диалога с количеством секунд ожидания между...
45. kalleka 47 27.01.09 11:24 Сейчас в теме
Кстати еще одно пожелание. Иногда бывает необходимо, чтобы если док не проводится он не прерывал обработку, а продолжил ее, ведя при этом лог. Смысл в следующем: Приходишь с утра, заглядываешь в лог - смотришь доки, которые не провелись, исправляешь косяки и запускаешь восстановление последовательности
46. Altair777 645 27.01.09 16:37 Сейчас в теме
(45) ноу проблем
но я себе тогда не делал
Ситуация - партионный учет, не провелся док с 500 или 1000 позиций.
А остальные провелись. Как будто :-)

47. kalleka 47 27.01.09 20:48 Сейчас в теме
(46) у нас тоже партионный учет, но за пару дней может быть 2-3, а то и больше косячных документов - отделу закупок большие права дали, по перепроведению документов и их изменению, а там такая система взаимосвязанная с заявками. реализациями и прочее. Сам я себе уже добавил и лог и чтобы проводилось дальше. Мне кажется лог по крайней мере нужен - хотя бы инфа когда началось, когда кончилось, ну статистика по скорости. какие доки не провелись.. а то прихожу на работу последний в отделе - а там раз и сервак скульный перегрузили и не понятно без лога чем закончилось дело)))
48. Altair777 645 27.01.09 21:16 Сейчас в теме
(47) Лог у меня есть
в первоначальном варианте записывалось в текстовый файл.
После каждого дока он записывался, как раз на случай не предвиденных ситуаций.
49. CheBurator 2684 28.01.09 00:55 Сейчас в теме
- да я тоже не против пауз, напрягает только полная "тупизна" такой организации пауз...
- решение по восстановлению последовательности с паузами в рабочем режиме вроде есть на дисках ИТС (давно туда не заглядывал)
- (47) зарубите на! всякие манипуляции с задним числом в обычном режиме работы, приучите юзверя СРАЗУ РАБОТАТЬ КАЧЕСТВЕННО, а не по типу "нахренячу по-быстрому, а завтра поправлю если что..." - сразу будет БОООЛЬШОЕ облегчение...
- у мну регламентом восстанавливалась ГП штатным образом с отправкой сообщения смской мне на мобилу,Э а так как взад лазил только я и 1 доверенный более-менее грамотный человек - восстановление ГП в 90% случаев проходило без проблем.. если утром на мобиле смски нет - лез по терминалу и смотрел текстовый протокол.: протокл лучше напрямую каптчить из табло сообщенйи и больше ничем не заморачиваться - используя 1Spy.dll
50. poppy 28.01.09 00:57 Сейчас в теме
51. Altair777 645 28.01.09 01:22 Сейчас в теме
(50) мда... а давайте все будем заходить в чужие аналогичные разработки и переманивать на свои.
52. artbear 1565 28.01.09 06:26 Сейчас в теме
(51) А почему бы этого не делать? Пользователи должны знать о различных вариантах и использовать лучшее.
53. alexk-is 6544 28.01.09 07:55 Сейчас в теме
(52) Я, например, думал, что для этого создан рубрикатор. Иначе у пользователя может создаться "неверное" (неполное) представление. Обработок подобной направленности на ИС не 2, а в десятки раз больше...
54. kalleka 47 28.01.09 08:40 Сейчас в теме
(52) Мне в этой обработке понравился ReconnectNative(), к тому же я скомпоновал с нашей предыдущей обработкой и все вроде устраивает пока
(49) Насчет ограничения Юзверей согласен. Но здесь работаю месяц всего, пока не время наводить свои порядки
Altair777; +1 Ответить
55. kalleka 47 28.01.09 10:35 Сейчас в теме
Блин, не понятно зачем в 182 строке ТекДок.Провести(,1) передан параметр 1? Для чего? У нас один документ использует этот параметр и он криво провелся. За 3 дня таких доков 100 наверное - из за кривого проведения вылезли минусы в остатках
56. Altair777 645 28.01.09 10:48 Сейчас в теме
(55) Я извиняюсь, уже убрал и перезалил
57. Altair777 645 28.01.09 11:38 Сейчас в теме
(55) Отослал сообщение о найденной проблеме всем плюсовавшим.
Почти всем :-)
58. avgur777 26 30.01.09 14:41 Сейчас в теме
При установке галочки "Предварительно ПН - в начало дня" выдает сообщение об ошибке создания объекта "Документ.ПриходнаяНакладная"...и это правильно, потому что в Торговле 7.7 такого документа НЕТ! А есть "Документ.ПоступлениеТМЦ"....
59. Altair777 645 30.01.09 15:04 Сейчас в теме
(58) Я об этом уже думал, что бы сделать поле для выбора вида Приходного документа.

> потому что в Торговле 7.7 такого документа НЕТ
Не следует путать платформу и конфигурацию :-)
Вот, например, Комплекс: ПриходнаяНакладная, Т_ПриходнаяНакладная
60. avgur777 26 30.01.09 15:27 Сейчас в теме
Что вижу, то и пою....В описании написано "Внешний отчет, обработка для 1С: Торговля и склад 7.7 "
ЗЫ: В Комплексной 7.7 тоже нет объекта "Документ.ПриходнаяНакладная"... или мы используем разные конфигурации??
61. Altair777 645 30.01.09 15:38 Сейчас в теме
(60) Конфигураций много :-)
Уже изменил, скоро выложу.
62. Altair777 645 30.01.09 16:49 Сейчас в теме
Обновил. Еще куча новых идей появилась :-)
78. iov 407 28.09.09 19:34 Сейчас в теме
(62) кстати из новых идей. как бы оформить возможность предварительной обработки документов по виду? все просто предлагаю закладку для спецов в которой они по виду документа например перед обработкой что-то делали (например меняли поля или добавляли что-то к комментарию документа) соответственно как параметр- сам документ
например так
вид документа |обработка(путь)|Модально|
"Реализация" | каталогобработок\ОбработкаИзмененияКомментария.ert |1|


63. kalleka 47 03.02.09 14:41 Сейчас в теме
Лог добавил? лучше если с настройкой "подробности" лога
64. Altair777 645 06.02.09 10:24 Сейчас в теме
65. gator 07.02.09 11:41 Сейчас в теме
Не знаю, может у меня чего в ТиС не так, или руки там итп, но штатная у меня работает быстрее вдвое...
усомнился...
сделал копию базы, хотел устроить "соревнования" при прочих равных - некогда...
А пока не утруждал себя точной записью результатов, извините.
На вскидку получилось так:
по данным обработки среднее время проведения под 20 секунд...
это ~3 дока в минуту...
штатная нt считает среднее время, но по 7-10 обычных доков в минуту делает...
(инвентаризационные итп большие доки не берем)
Идеи reconnect, с таймером - понравились,
проводить последовательность онлайн, в рабочее время...
(в штатную засуну?)
делал через "Предупреждение" - да, глючит, тут много вокруг этого понаписано по объект таймер итп...
67. Altair777 645 07.02.09 11:58 Сейчас в теме
(65) соревнования надо проводить в нерабочее время, по очереди
(66) а ты попробуй :-)
66. Abadonna 3969 07.02.09 11:53 Сейчас в теме
>проводить последовательность онлайн, в рабочее время...
Не знаю как на других базах, а на моей манагеры просто работать не смогут, если ГП в рабочее время пойдет. Будет полный виснец

68. dav405 103 17.02.09 20:24 Сейчас в теме
Мне бы очень понравилось, если бы
1) сообщения о проведенных доках можно было бы выводить пакетами по сколько-нибудь штук,либо вовсе не выводить
2) Если бы время шло все-таки в секундах.миллисекундах
3) если бы была возможность вызывать обработку снаружи, тогда, например,
добавим в глобальный модуль
Функция RunAny(Параметр,ИмяФайла) Экспорт
ОткрытьФорму("Отчет#", Параметр, ИмяФайла);
Return 1;
КонецФункции
И вызываем из штатного шедулера vbs скрипт
set v7 = CreateObject("V77.Application")
result = v7.Initialize(v7.RMTrade, "/DПутб\ /NСпецЮзер /PЕгоПароль","NO_SPLASH_SHOW")
if result then
LogFile.WriteLine " Ok connected "+FormatDateTime(Time)
V7.EvalExpr("RunAny(""СтрокаПараметра"",""\\ПутьКОбработке\repair.ert"")")
......
69. Altair777 645 10.06.09 15:57 Сейчас в теме
Версия обновлена до 1.4 от 09.06.2009 - добавлена возможность сортировки нескольких видов документов, предварительно помещаемых в начало дня.
70. Altair777 645 18.09.09 19:02 Сейчас в теме
По просьбам из комментариев

1.5 от 18.09.2009
Добавлено: возможность выборочного протоколирования результатов файл.
Добавлено: возможность перепроведения всех документов, а не только из последовательности.
Удалено (!): использование метода ReconnectNative()
71. post84d 21.09.09 08:35 Сейчас в теме
Обработка -супер. Достоинство в том что при про проведении не засоряется Журнал регистрации, до этого я пользовался другой , там постоянно (при проведении каждого документа переносилась ТА), таким образом два -три дня в ЖР шум в 500-600 ненужных записей. Спасибо!!!!!
72. Altair777 645 21.09.09 10:27 Сейчас в теме
(71) Не за что :-)

P.S. А плюсовать лучше не комментрии, а саму разработку ;-)
73. iov 407 26.09.09 22:00 Сейчас в теме
(0)вот честно здря реконнект убрал. Обработка жирный плюс... но мог бы оставить желающие и знающие бы использовали.
74. Altair777 645 28.09.09 17:33 Сейчас в теме
(73) Были нюансы... Но предыдущую версию я оставил.
Спасибо!

Кстати, забыл упомянуть о седьмой фичи :D
75. iov 407 28.09.09 17:51 Сейчас в теме
(74) а можно подробнее с нюансами? Потому как планирую назад вставить реконнект (только с возможностью установить переодичность в документах).
76. Altair777 645 28.09.09 18:38 Сейчас в теме
(75) http://www.1cpp.ru/docum/html/ODBC.html#reconnectnative-reconnectnative

Описание: специальный метод для решения проблемы с MSSQL 2000 (Bug #: 472280) Выполняет отключение и подключение родного соединения программы с сервером. При этом не должно быть открытых форм списков, форм объектов, прочих объектов языка на основе курсора, подготовленных или перебираемых объектов ODBCRecordset (через родное соединение, разумеется). Не допускается вызывать этот метод в транзакции явной или неявной.

Насколько я помню, когда затачивал под ReconnectNative() пришлось отказаться от объявления Перем ДокиДляПроведения в модуле процедуры.
Сравните, как это делается в 4 версии. Там док для проведения каждый раз создается независимо из последовательности.
Но если очень надо, могу попробовать побороть.
Кстати, а почему бы Вам не поставить более свежий скуль?
77. iov 407 28.09.09 19:28 Сейчас в теме
(76) Более свежий скуль для 7.7 даже с патчами не хочет стабильно работать у меня... Частые вылеты + непонятные блокировки и зависающие сессии. Очень сильно переписанная конфа. Просто нет возможности отловить все баги. Вообщем остается надежда на реконнект.
Тем более я как поборол эту бяку (открытые курсоры)... писал все в список значений (Это для того чтобы в одном месте была процедура) сохранял в Значениевстроку а после выполнения метода восстанавливал.
А если требовалось в обработке то просто это значениеВСтроку и после метода реконнект(). А по поводу скуля поновее есть ли пример (версия с какими патчами) корректно работает? Чем черт не шутит вдруг правда встанет (уже год переписываю все на прямые запросы и иные ускорители исправил кучу косяков, может помогло). а так респект за обработку очень нужная вещь. Если найду гдето был запрос на версию sql с чем работаем и активация реконнект по этому методу сильно облегчит жизнь..
80. Altair777 645 29.09.09 11:30 Сейчас в теме
(77) > писал все в список значений (Это для того чтобы в одном месте была процедура) сохранял в Значениевстроку а после выполнения метода восстанавливал.

А зачем список значений? Хватило бы и переменной модуля обработки, в которой содержится ЗначениеВСтрокуВнутр последнего документа.

Кстати, через список значений у меня тоже есть в Функция ПНвНачало().
Это была отдельная грустная история.
В этой разработке объединенены несколько. И раньше была отдельная обработка, которая Приходные накладные перебрасывала в начало дня.
Как потом оказалось, она была коряво написана, хотя и работала. И даже на вид казалось правильной.
Док=СоздатьОбъект("Документ.Приходная");
Док.ВыбратьДокументы();
Пока Док.ПолучитьДокумент() = 1 Цикл
	// Тут было изменение времени документа
КонецЦикла;


И работала она довольно шустро. А когда по инициативе руководства был осуществленный внезапный неподготовленный переход на скуль, то оказалось, что время ее работы выросло в десятки! раз.
Кстати, этот "левый" переход сделал его приходящий корефан, который считал и, наверно, до сих пор себя считает крутым программистом :-)
Дошло даже до того что в первый рабочий день только один человек мог зайти в базу.
На мой вопрос:
- А вы проверяли?
Был дан ответ:
- Да
- А на скольки компьютерах 1С запускали?
- На одном
- А почему только на одном?!
.... ответа не последовало.... кажется. Давно это было...

Вот так и получилось, что все преимущества файловой версии потерялись, а недостатки скульной приобрелись.
81. Altair777 645 29.09.09 11:34 Сейчас в теме
+(80) Код должен был выглядеть так:

Док=СоздатьОбъект("Документ.Приходная");
Док.ВыбратьДокументы();
Пока Док.ПолучитьДокумент() = 1 Цикл
// Тут было изменение времени документа
КонецЦикла;
82. iov 407 29.09.09 14:39 Сейчас в теме
(80) в список значений это когда маркеры есть в глобальном модуле или еще где-то вот чтобы каждый раз не вспоминать их и ввел функцию которая собирала все в список сохраняла в строку а после реконнект востанавливала.
А насчет файловой версии есть плюсы есть минусы... Мне как-то скуль больше ипанирует в плане функционала а файловая в том что без использования реконнект проводит шустрее...
Ну а по поводу перевода на скуль. профи знает что делается это не за раз. А порой приходится и переписывать много.
83. Altair777 645 29.09.09 15:08 Сейчас в теме
(82) > профи знает что делается это не за раз

В том-то и дело :-)
Эксперименты надо проводить не на "живой" базе и не на живых людях.
Представьте каково мне было, когдя я прихожу на работу, а менеджеры практически рыдают - cрочная отргузка, а таблицы залочены.
А этот "Кулибин" с сисадмином (тоже приходящим) где-то на другом конце города....
84. iov 407 29.09.09 16:42 Сейчас в теме
(83) Я вот также прихожу в фирмы и говорю что быстро но без гарантий стоит столько + гарантии в3-10 раз дороже.(+ исправление неявных проблем). И договариваюсь при свидетелях. Обычно после раздумий отказываются завут "спеца" дешево и сердито а потом вновь меня починить то что он наделал. (ну или стыдно и не зовут). Причем я заранее описываю типичные ошибки которые "спец" совершит. Обидно с одной стороны потом слышать что не послушали - потом все сломалось и позвали СПЕЦИАЛИСТА и выясняется что случилось именно так как говорил..
И главная проблема всех что ПОЧТИ НИКТО не пишет документации (Особенно я максимум видео стправку накатаю как и что и куда.) А после моих автоматизаций все работает если не менять ничего ибо каменты к коду пишу только к передаваемым параметрам и основным функциям и прцедурам. которые хоть и универсальны но не терпят ошибок при обращении с ними. И как-то приспичило привлечь франчей... Так те обплевали мои некоторые наработки "типа не стандартно 1С" переписали через 2 недели все просто порвало.. и доказать что это их вина было очень тяжело... нет документациии, описание изменений и тд... И они сертифицированные специ а я? Самоучка с опытом в 10 лет и ни одной притензии от клиентов. все как часы + 24 часа поддержка.
P.S. Тема уж больно знакомая. Недавно фирма педдержки (софт- железо) сервак уронили бездействием а потом прислали спецов которые русского языка не понимают и слова домен и рейд их в панику вгоняют... похерили инфу и еще счет выставили.. вот как после этого к таким относится?
85. Altair777 645 29.09.09 16:56 Сейчас в теме
(84) Просто крик души какой-то получился :-)
86. iov 407 29.09.09 17:43 Сейчас в теме
(85) Просто надоели торгаши... они нихрена не создают кроме инфляции.
А создавать что-то, хоть и ввиде программ или сервисов- это хоть что-то... Я уважаю людей которые работают на созидание... А не тупо купи-продай это же система пожирающая сама себя... Мне обидно за будующее, точнее за его отсутствие... Просто сегодня все хотят отчетов а когда задал вопрос о том что надо ручками поработать" вбить данные правильные по своим клиентам" попытались свалить на меня со словами "ты же можешь"... Блин я могу и стрелять и пилить и петь, но это для души а остальное надо как-то оценивать а не требовать.
79. пользователь 28.09.09 19:39
Сообщение было скрыто модератором.
...
87. platinum 08.10.09 11:50 Сейчас в теме
Подскажи, вот у меня есть задача перенести все документы поступления начало дня и выровнять последовательность. Я на третьей закладке указал диапазон дат,поставил галку "предварительно документы в начало", выбрал документы "Поступление ТМЦ" и "Возврат от покупателя" в табл.части и обработка работала всю ночь,но выбранные документы так и не перенесла в начало дня. Может я не совсем понял предназначение данной обработки и она этого не делает или что-то мешает ей перенести эти доки в нач. дня.
88. Altair777 645 08.10.09 11:57 Сейчас в теме
(87) Проведенные переносит, а не проведенные - нет
89. platinum 08.10.09 12:26 Сейчас в теме
(88) сори сам разобрался, не обратил на дату "Не обрабатывать начиная со времени". По-умолчанию стоит ну уж очень позднее время, оказалось,что документы по реализации были на 06:00 ч., а некоторые по-поступлению чуть позже,но не позднее 8:00. Поставил время 02:00 и новое время от 0:30 и все норм.
90. Altair777 645 08.10.09 12:31 Сейчас в теме
91. platinum 08.10.09 13:33 Сейчас в теме
В некоторых случаях для ускорения процесса предварительного перемещения документов можно было сделать другой алгоритм, например:
1. сделать два списка: в одном будут документы поступления, в другом документы списания.
2.Делаем выборку по всем документам в базе за указанный период
3.Перебираем документы, и на даты, где есть документы, смотрим, есть ли документы поступления, на конкретную дату, которые стоят позже, чем первый документ списания, то помещаем их в отдельный список переносимых документов на начало дня.

На мой взгляд, процесс проведения документов, особенно если они большие, гораздо длительней, чем проверки описанные мной.
92. Altair777 645 08.10.09 14:08 Сейчас в теме
(91)
1) А если не 2 вида документов, а 15? То 15 списков? :-)
3) Так и делается

Лишние документы не перепроводятся!
93. platinum 08.10.09 14:27 Сейчас в теме
Я сейчас говорю про обработку для предварительного переноса, у тебя сделано, как я понял, так, ты перемещаешь все выбранные для предварительного переноса документы,которые находятся позже времени "Не обрабатывать начиная со времени", не смотря, если в день этого документа документы списания.
А про списки почему 15? Не важно сколько там будет видов документов, чаще всего требуется именно, чтобы поступление шло раньше списания и мы можем все документы разделить на два списка.
94. Altair777 645 08.10.09 14:36 Сейчас в теме
(93) И я о ней говорю.
1) Ситуация, когда нет документов списания на порядок реже, чем наоборот.
2) Обычно менеджеры когда начинают списывать товар? в 9 утра. Склады могут и в 8. Для этого и служит параметр на форме "Не обрабатывать начиная с времени, ЧЧ:ММ".
И как универсальная обработка может знать, какой документ списывает товар?
Как по Вашему, док "Наряд-Заказ Гидравлика" списывает или приходует? Или и то, и то? ;-)
95. platinum 08.10.09 14:51 Сейчас в теме
Согласен на счет документов,которые могут быть, как приходом и как списанием, их можно отнести к исключениям или пусть пользователь сам решит, чем будет этот документ. Я, например, сейчас зарядил твою обработку и она мне перепроводит все документы поступления,хотя большинство из них и трогать не нужно,т.к. доки по реализации стоят, в большей степени, стоят позже доков поступления. Если, конечно, не заморачиваться,то и так все норм, просто долго идет предварительная перестановка, а потом еще восстановление последовательности, так что закончит она у меня только к позднему вечеру или завтра. Конечно, документов списания гораздо больше, но и поступлений не мало у меня, уже пару часов переставляет, а еще целый год впереди,где поступлений еще больше. Я мог бы поставить более позднее время, после которого нужно проверять,но могу опять попасться на ситуацию,когда реализация будет очень ранней.
96. Altair777 645 08.10.09 15:01 Сейчас в теме
(95) Ясненько :-)
За целый год собрались одним махом все сделать?
Впервые эта оббработка работала в фарм.фирме с документами по 3-8 тыс. строк. Как приходными, так и расходными.
Перенос за один день шел порядка 10-15 минут. Если базу держать в актуальном состоянии, то будет попроще.
Кстати, общий совет... На надо переносить сразу за весь период, лучше частями, по месяцу или кварталу. И просматривайте логи.
97. platinum 08.10.09 15:16 Сейчас в теме
Дело в том, что пришел к клиенту, у которого последовательность не восстанавливалась уже с 2007 года, у них такой там бардак, и они еще удивляются, что как-то криво строятся отчеты. Если делать по-частям, то я совсем заколебусь все года разбирать. Ладно посмотрю, что получится, если будет куча косяков,то сверну базу,откорректируют остатки и пусть в обязанности какого-нибудь сотрудника, хотя раз в неделю запускать эту обработку.
98. Altair777 645 08.10.09 15:24 Сейчас в теме
(97) Желаю Вам удачи в этом :)
Очень интересно узнать, чем это все закончилось.
99. Altair777 645 22.10.09 11:54 Сейчас в теме
Обновил :)

Версия 1.6 от 22.10.2009
Исправлено: обработка ситуации для режима "Перепроводить ВСЕ документы" в случае, когда граница последовательности стоит не на документе.
Оставьте свое сообщение