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

08.02.12

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

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

Файлы

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

Наименование Скачано Купить файл
Версия 1.6 от 22.10.2009
.ert 213,00Kb
337 2 500 руб. Купить
Версия 1.4 от 09.06.2009
.1230215086 182,50Kb
941 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Из основных фич:
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С:Предприятие 7.7 1C77 Абонемент ($m)

Обновлённый распаковщик дистрибутивов 1С 7.7. Утилита находит многотомные архивы InstallShield 3.x в папках DISK1…DISKn или внутри ZIP, показывает список файлов, проверяет распаковку и извлекает конфигурацию без запуска старого установщика.

1 стартмани

02.10.2026    406    0    twilight5023    0    

4

Инструменты администратора БД Разработчик 1С:Предприятие 7.7 1C77 Россия Абонемент ($m)

Блокировка открытия формы обработки одним пользователем.

1 стартмани

24.05.2023    3489    igor7777    1    

0

Инструменты администратора БД Системный администратор Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)

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

1 стартмани

18.02.2022    5990    0    igor7777    6    

2

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

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

2 стартмани

25.05.2020    7702    2    CheBurator    3    

2

Журнал регистрации Инструменты администратора БД Системный администратор Разработчик 1С:Предприятие 7.7 1C77 Бесплатно (free)

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

22.01.2019    14783    phsin    20    

28

Инструменты администратора БД Системный администратор Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)

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

1 стартмани

22.04.2017    17557    4    devlabnn    2    

6

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

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

1 стартмани

23.09.2016    5420    1    Genyak    1    

0

Инструменты администратора БД Системный администратор 1С:Предприятие 7.7 1C77 Абонемент ($m)

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

1 стартмани

09.06.2016    31046    21    tux    3    

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

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

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

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

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

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

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



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

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

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

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


63. kalleka 47 03.02.09 14:41 Сейчас в теме
Лог добавил? лучше если с настройкой "подробности" лога
64. Altair777 649 06.02.09 10:24 Сейчас в теме
(63) еще нет. Работа..... :-(
65. gator 07.02.09 11:41 Сейчас в теме
Не знаю, может у меня чего в ТиС не так, или руки там итп, но штатная у меня работает быстрее вдвое...
усомнился...
сделал копию базы, хотел устроить "соревнования" при прочих равных - некогда...
А пока не утруждал себя точной записью результатов, извините.
На вскидку получилось так:
по данным обработки среднее время проведения под 20 секунд...
это ~3 дока в минуту...
штатная нt считает среднее время, но по 7-10 обычных доков в минуту делает...
(инвентаризационные итп большие доки не берем)
Идеи reconnect, с таймером - понравились,
проводить последовательность онлайн, в рабочее время...
(в штатную засуну?)
делал через "Предупреждение" - да, глючит, тут много вокруг этого понаписано по объект таймер итп...
67. Altair777 649 07.02.09 11:58 Сейчас в теме
(65) соревнования надо проводить в нерабочее время, по очереди
(66) а ты попробуй :-)
66. Abadonna 3979 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 649 10.06.09 15:57 Сейчас в теме
Версия обновлена до 1.4 от 09.06.2009 - добавлена возможность сортировки нескольких видов документов, предварительно помещаемых в начало дня.
70. Altair777 649 18.09.09 19:02 Сейчас в теме
По просьбам из комментариев

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

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

Кстати, забыл упомянуть о седьмой фичи :D
75. iov 409 28.09.09 17:51 Сейчас в теме
(74) а можно подробнее с нюансами? Потому как планирую назад вставить реконнект (только с возможностью установить переодичность в документах).
76. Altair777 649 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 409 28.09.09 19:28 Сейчас в теме
(76) Более свежий скуль для 7.7 даже с патчами не хочет стабильно работать у меня... Частые вылеты + непонятные блокировки и зависающие сессии. Очень сильно переписанная конфа. Просто нет возможности отловить все баги. Вообщем остается надежда на реконнект.
Тем более я как поборол эту бяку (открытые курсоры)... писал все в список значений (Это для того чтобы в одном месте была процедура) сохранял в Значениевстроку а после выполнения метода восстанавливал.
А если требовалось в обработке то просто это значениеВСтроку и после метода реконнект(). А по поводу скуля поновее есть ли пример (версия с какими патчами) корректно работает? Чем черт не шутит вдруг правда встанет (уже год переписываю все на прямые запросы и иные ускорители исправил кучу косяков, может помогло). а так респект за обработку очень нужная вещь. Если найду гдето был запрос на версию sql с чем работаем и активация реконнект по этому методу сильно облегчит жизнь..
80. Altair777 649 29.09.09 11:30 Сейчас в теме
(77) > писал все в список значений (Это для того чтобы в одном месте была процедура) сохранял в Значениевстроку а после выполнения метода восстанавливал.

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

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


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

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

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

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

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

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

Версия 1.6 от 22.10.2009
Исправлено: обработка ситуации для режима "Перепроводить ВСЕ документы" в случае, когда граница последовательности стоит не на документе.
100. quick 587 03.03.10 14:48 Сейчас в теме
Спасибо! То что надо!
101. SnakePlisskin 3 05.07.10 13:50 Сейчас в теме
Кто нить юзал обработку под Скулей 2000-тысячной? Реконнект работает? Или в ошибку сваливается?
102. eu2 09.12.10 12:38 Сейчас в теме
(101) Я юзаю под Скулей2000-й. Реконнект работает. В ошибку не сваливается.

Была ошибка у меня:
Версия обработки 1.6 от 22.10.2009:

ТекстПротокол.ДобавитьСтроку("Последовательность : "+Последовательность.ОсновнаяПоследовательность.Получить());
{C:\REPAIR16.ERT(49)}: Поле агрегатного объекта не обнаружено (ОсновнаяПоследовательность)

Оказалось, что у меня в конфе последовательность называется "Производство", а не "ОсновнаяПоследовательность"
Заменил в модуле везде, где встречается одно на другое, и ура-заработало!

Altair777, спасибо за хорошую обработку!
103. eu2 10.12.10 10:05 Сейчас в теме
Версия обработки 1.6 от 22.10.2009

Небольшая ошибка:
Когда ставишь галочку "По дату", там подсказка всплывает "по дату включительно", но на самом деле отрабатывает НЕ включительно. Т.е. ни одного документа из указанной даты не перепроводиться. Думаю, не страшно - нужно просто на день больше выставлять.
104. VapPaha 11.10.11 07:36 Сейчас в теме
Спасибо! попробую
105. at383 02.11.11 17:29 Сейчас в теме
Очень помогла. Когда не нужно выгонять всех из 1с и нельзя в монопольном режиме. Спокойно и тихонько восстанавливает последовательность в рабочее время.
107. Altair777 649 23.01.12 15:01 Сейчас в теме
(105) at383, а плюсик где? ;)
106. nickkey 24.11.11 18:19 Сейчас в теме
Спасибо за обработку только скачал посмотрим думаю она меня щас спасет бухи с региона базу просрали гп стоит аж 1.02.10 я так думаю с месяц наверно колбасить будет а чо делать восстанавливать надо ато зашел в дебиторку и челюсть выпала ниже пола :(
108. PtizaPtiza 5 06.08.12 15:37 Сейчас в теме
А у меня тай-аут не работает(((( в версии 1.3 всё работало.
109. Altair777 649 07.08.12 14:44 Сейчас в теме
(108) PtizaPtiza, правда? Я сегодня обязательно проверю!
Если где-то вкралась ошибка - переведу на ваш счет 1 с/м для повторного скачивания.
Ну... и еще 4 за моральный ущерб :)
110. CaSH_2004 376 10.08.12 06:22 Сейчас в теме
Уважаемый Altair777, есть предложение несколько удобств которых реально нехватает, я их конечно добавил у себя, но думаю стоит внести в официальный релиз, итак:

1. Указывать произвольный параметр проведения, например мне удобно делать так:
Результат = ДокиДляПроведения.Провести( , "ГрупповаяОбработка");

При этом в документах я обрабатываю этот параметр аналогично типовому методу ГрупповаяОбработка(), чего всем советую.
Т.к. я не понял как можно получить ситуацию чтобы ГрупповаяОбработка() = 1 при немонопольном проведении и не штатным проведением, то я придумал себе костыль, если есть вариант другой я бы рад его узнать

2. Указывать кроме даты проводимого документа еще и его время - мелачь а все таки забадывает смотреть на документ, а потом вверх на ГП и сопоставлять ( лень:) ) Я имею ввиду на форме, но и в окно сообщений тоже стоило-бы, хотя я его отключаю для ускорения

3. По умолчанию не стоит устанавливать механизм вывода проводимых документов в окно сообщений, т.к. это занимает лишнее время, и ИМХО не имеет смысла т.к. при выводе ошибке и так напишется документ, а лишней инфы не нужно

4. Выводить на форму при проведении среднее время проведения документа, для оценки

5. Не изучал сильно код, но удобно было бы вывести прдположительное время которое нужно потратить на проведениее оставшихся документов, и выводить его вместе с датой и временем когда закончится проведение, немного сложновато но реально
Altair777; +1 – Ответить
111. Altair777 649 10.08.12 12:20 Сейчас в теме
(110) CaSH_2004, спасибо за столь обстоятельный пост.
В ближайшее время внесу эти Ваши пожелания. Может быть не все, но все-же... :)
112. CaSH_2004 376 10.08.12 23:05 Сейчас в теме
(111) Ну если будет желание полезных идей могу накидать еще
113. Altair777 649 11.08.12 10:03 Сейчас в теме
(112) CaSH_2004, кидайте. Может найду для них время.
Я теперь почти полностью переключился на 8-ку... тряхну стариной :)
114. jk3 65 25.09.12 12:35 Сейчас в теме
Спасибо за обработку, есть только одно замечание.

Пауза реализована неправильно, на форме написано в сек, а судя по коду:

Пока 1000*(_GetPerformanceCounter()-НачалоОтсчета)<ТаймАут Цикл

в миллионных долях секунды. Для того, чтобы было в секундах, строчка должна быть такой:

Пока (_GetPerformanceCounter()-НачалоОтсчета)/1000 < ТаймАут Цикл


И еще, невозможно принудительно остановить обработку в течение паузы.
115. Altair777 649 25.09.12 14:01 Сейчас в теме
(114) jk3,

> в миллионных долях секунды
не в миллионных, а в тысячных

Синтаксис:
_GetPerformanceCounter()
Назначение:
Возвращает число миллисекунд (1000-чных долей секунды) прошедших с момента включения компьютера.
Замечание:
Разница между значениями двух замеров позволяет определить количество миллисекунд прошедших между замерами.

и кажется мне что, все-таки, надо умножать

P.S. я теперь полностью переключился на 8-ку и никак не доберусь до тестовой 7-ой базы
эх.... времени не хватает
116. jk3 65 25.09.12 19:26 Сейчас в теме
>не в миллионных, а в тысячных

Всё правильно, сама функция _GetPerformanceCounter() возвращает в тысячных долях секунды, а вы еще умножаете на 1000, получаются миллионные доли.

Нужно наоборот, делить на 1000, чтобы получить секунды.

Например, с момента включения компьютера прошло 30 секунд, функция вернет 30'000. Прошло 5 сек, функция вернет 35'000.

По вашему условию: 1000*(35'000 - 30'000) < 5 == 5'000'000 < 5 // будет истинным 1 мс
По моему условию: (35'000 - 30'000)/1000 < 5 == 5 < 5 // будет истинным в течение 5 сек
117. Vortigaunt 102 30.06.21 11:54 Сейчас в теме
Не знаю, актуально или нет. Проблема, которую вы решали через reconnectnative на самом деле возникает из-за массового создания временных таблиц. В SQL 2000 это приводит к сильному падению производительности. Временные таблицы при проведении документов создаются как правило инструкцией языка 1с: ВыгрузитьИтоги() регистра накопления. Я переписал списание партий на прямые запросы без использования временных таблиц. И эта проблема решилась.
Для отправки сообщения требуется регистрация/авторизация