Коноваленко Юрий | Начальник отдела IT | АО "Пролетарий"

«Интеграция 1С с промышленным оборудованием»

Получение данных по технологии OPC (OLE for process control). Результат: 1. Мониторинг оборудования ONLINE; 2. Получение оперативного учета продукции, энергоносителей.

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

Обработки - Обработка документов

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

Из основных фич:
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.6 от 22.10.2009
.ert 213,00Kb
08.02.12
328
.ert 213,00Kb 328 Скачать
Версия 1.4 от 09.06.2009
.1230215086 182,50Kb
08.02.12
940
.1230215086 182,50Kb 940 Скачать

См. также

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

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

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

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

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

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

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



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

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

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

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


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

68. dav405 104 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 639 10.06.09 15:57 Сейчас в теме
Версия обновлена до 1.4 от 09.06.2009 - добавлена возможность сортировки нескольких видов документов, предварительно помещаемых в начало дня.
70. Altair777 639 18.09.09 19:02 Сейчас в теме
По просьбам из комментариев

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

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

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

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

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


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

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

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

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

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

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

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