Переключение на Главную Страницу Страницы: 1 ... 6 7 [8] 9 10 ... 19 ОтправитьПечать
Очень популярная тема (более 25 ответов) Движения одного документа у другого (число прочтений - 65948 )
grayrat
Junior Member
**
Отсутствует



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #105 - 13. Ноября 2009 :: 10:55
Печать  
Кстати, у моих клиентов было примерно то-же самое: конфигурация - переделанная бухгалтерия, операция с правильного документа приципилась на документ, вообще не имеющий операций. Разрулить получилось с помощью ТИИ и с помощью выгрузки/загрузки - оба действия дали положительный результат.
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #106 - 19. Ноября 2009 :: 11:33
Печать  
Еще к вопросу о глюках движка 1С:  Круглые глаза

Мне встречались такие глюки.
При использовании метода Док.Провести(Режим) с определенным режимом (то ли 1, то ли 3, точно не помню) обнулялась запись в _1SSystem. При использовании метода провести без параметров: Провести(), все нормализовалось.

Были еще случаи, когда при проведении (либо при записи и проведении): грохалась ТЧ документа, а движения формировались; было, что грохались записи в _1Sjourn и шапке дока, при этом оставась ТЧ и движения; еще было, что часть движений и итогов формировались правильно, а часть нет, при этом документ тоже грохается.  Очень довольный В общем, чего только не бываает... все это было в разгар многопользовательской работы

P.S. С блокировками никогда не игрались, все происходит штатно))
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #107 - 19. Ноября 2009 :: 12:37
Печать  
Neo писал(а) 19. Ноября 2009 :: 11:33:
Еще к вопросу о глюках движка 1С:  Круглые глаза

Мне встречались такие глюки.
При использовании метода Док.Провести(Режим) с определенным режимом (то ли 1, то ли 3, точно не помню) обнулялась запись в _1SSystem. При использовании метода провести без параметров: Провести(), все нормализовалось.

Были еще случаи, когда при проведении (либо при записи и проведении): грохалась ТЧ документа, а движения формировались; было, что грохались записи в _1Sjourn и шапке дока, при этом оставась ТЧ и движения; еще было, что часть движений и итогов формировались правильно, а часть нет, при этом документ тоже грохается.  Очень довольный В общем, чего только не бываает... все это было в разгар многопользовательской работы

P.S. С блокировками никогда не игрались, все происходит штатно))

Если все что Вы написали правда - Выкидывайте Ваш сервер или
у Вас жутко плохая сеть.
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #108 - 19. Ноября 2009 :: 13:03
Печать  
Ну вообще-то, в большинстве из этих случаев при тщательном анализе все сводилось к глюкам именно 1С.

А так, в ближайшем времени перезжаем на новый сервак, посмотрим, что там будет))
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #109 - 19. Ноября 2009 :: 13:11
Печать  
(Neo) Если хотите то опишите Ваш сервер как можно подробней
, ОС , SQL подробно разберем Вашу текущую ситуацию.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #110 - 19. Ноября 2009 :: 13:13
Печать  
Neo писал(а) 19. Ноября 2009 :: 13:03:
Ну вообще-то, в большинстве из этих случаев при тщательном анализе все сводилось к глюкам именно 1С.

Не верю.
Вы можете воспроизвести повторяемый глюк 1с ?

  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #111 - 20. Ноября 2009 :: 07:00
Печать  
> Не верю.
Вы можете воспроизвести повторяемый глюк 1с ?

- Ну я же чуть выше привел пример с глюком метода Провести() с параметром. Когда началась эта проблема, мы поставили триггер на _1SSystem, собирали инфу. И в конечном итоге вышли на то место в коде, откуда скорее всего ноги растут. До написания этого кода ошибки такой никогда не было. После его корректировки ошибка полностью ушла. Однозначно это глюк 1С.

Вручную разумееся воспроизвести глюк не удавалось. Он бывает не часто, и только при одновременной работе > 100 пользователей.
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #112 - 20. Ноября 2009 :: 07:03
Печать  
Сервер описывать наверное уже смысла нет, т.к. через неделю-другую перезжаем на другой сервак.

Единственное, стоит вопрос, стоит ли переходить с SQL 2000 на 2005. Первые тесты не очень обнадеживающие: подтормаживают журналы, медленнее работают справочники и т.п. В инете тоже много пишут о такого рода проблемах. Так что пока в раздумиях...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #113 - 20. Ноября 2009 :: 07:15
Печать  
Neo писал(а) 20. Ноября 2009 :: 07:03:
Сервер описывать наверное уже смысла нет, т.к. через неделю-другую перезжаем на другой сервак.

Единственное, стоит вопрос, стоит ли переходить с SQL 2000 на 2005. Первые тесты не очень обнадеживающие: подтормаживают журналы, медленнее работают справочники и т.п. В инете тоже много пишут о такого рода проблемах. Так что пока в раздумиях...

Смысл описывать старый сервер есть. Чтобы снять необоснованность глючности 1с. Сам подумай 1с77 наиболее
отлаженный программный продукт ( если память не изменяет 7.0 появился в сентябре 1996).
Также имеет смысл описывать чтобы старые ошибки (Неточности ) не перенести на новый сервер.

стоит sql2005 гороздо лучше чем sql2000.
sp на  sql2005 надо не ниже второго обязательно.
переписать подчиненные документы через прямой запрос.
в sql2005 исправлена ошибка с замедлением массового перепроведения( не нужен reconect).

sql2005 более интектуален чем sql2000 и его приводит в ступор плохая файловая система.
sql2005 пытается оптимизировать операции ввода вывода
(если файловая система плохая) у него это не получается и он
все время анализирует сам себя. Объяснение ненаучное но свое
основанное на своих шишках.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #114 - 20. Ноября 2009 :: 07:22
Печать  
Neo писал(а) 20. Ноября 2009 :: 07:00:
> Не верю.
Вы можете воспроизвести повторяемый глюк 1с ?

- Ну я же чуть выше привел пример с глюком метода Провести() с параметром. Когда началась эта проблема, мы поставили триггер на _1SSystem, собирали инфу. И в конечном итоге вышли на то место в коде, откуда скорее всего ноги растут. До написания этого кода ошибки такой никогда не было. После его корректировки ошибка полностью ушла. Однозначно это глюк 1С.

Вручную разумееся воспроизвести глюк не удавалось. Он бывает не часто, и только при одновременной работе > 100 пользователей.

Ну так приведите этот код до и после корректировки.
у меня тоже больше 100 пользователей но такого почему-то не происходит.

  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #115 - 20. Ноября 2009 :: 10:13
Печать  
> Ну так приведите этот код до и после корректировки.

- Да все там очень просто. При закрытии документа при выполнении определенных условий создается новый документ (перемещение) и выводится вопрос - провести перемещение или нет.

Док=СоздатьОбъект("Документ.Перемещение");
---заполнение документа
Док.Записать();
Док.Провести(3); (если ответ на вопрос - "да").

Вот этот вариант в момент пиковых нагрузок сбивал ТА (обнулял).

В течение неск. месяцев искали причину (как временное решение - триггер, который откатывал транзакцию при обнулении ТА).

В итоге поставили Док.Провести(), и все, ошибка ушла, и уже больше года ее нет.
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #116 - 20. Ноября 2009 :: 10:16
Печать  
> у меня тоже больше 100 пользователей но такого почему-то не происходит.

- ну так у нас тоже много чего не происходит, что происходит у вас, хотя больше 100 пользователей (на данный момент уже почти 150)  Подмигивание

Если бы каждый глюк можно было так просто воспроизвести на аналогичной системе, то жизнь программиста была бы легка и безоблачна  Улыбка
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #117 - 20. Ноября 2009 :: 11:02
Печать  
Neo писал(а) 20. Ноября 2009 :: 10:13:
> Ну так приведите этот код до и после корректировки.

- Да все там очень просто. При закрытии документа при выполнении определенных условий создается новый документ (перемещение) и выводится вопрос - провести перемещение или нет.

Док=СоздатьОбъект("Документ.Перемещение");
---заполнение документа
Док.Записать();
Док.Провести(3); (если ответ на вопрос - "да").

Вот этот вариант в момент пиковых нагрузок сбивал ТА (обнулял).

В течение неск. месяцев искали причину (как временное решение - триггер, который откатывал транзакцию при обнулении ТА).

В итоге поставили Док.Провести(), и все, ошибка ушла, и уже больше года ее нет.

Не все так просто как тебе кажеться.

Ну и попробуй расписать на бумаге что происходит при Провести(3). И раз Вы легко отказались от этого то это  было неправильное применение метода а не ошибка 1с.

Далее в приведенном тексте есть ошибка.Не обрабатывается случай когда документ не запишется ( особенно когда новый документ )а действие не прервется
вот именно в этом случае ты и попадал на свою ситуацию.

Т.е надо было написать либо

Код
Выбрать все
ФлУСпех = 1;
Попытка
 Док.Записать();
Исключение
ФлУСпех = 0;
КонецПопытки;
Если ФлУСпех = 1 Тогда
Док.Провести(); // Еще более обезапаситься можно если  провести делать в Попытка
Иначе
// Обработка Ошибки Записать()
КонецЕсли;
 



Если все таки Вам нужен режим провести 3 то все это надо оборачивать во внешнюю транзакцию
т.е код

Код
Выбрать все
НачатьТранзакцию();
ФлУСпех = 1;
Попытка
 Док.Записать();
Исключение
ФлУСпех = 0;
КонецПопытки;
Если ФлУСпех = 0 Тогда
   ОтменитьТранзакцию();
   // обработка ошибки записать
  return;
КонецЕсли;
Попытка
Док.Провести(3);
Исключение
ФлУСпех = 0;
КонецПопытки;
Если ФлУСпех = 0 Тогда
   ОтменитьТранзакцию();
   // обработка ошибки Провести(3)
  return;
КонецЕсли;

ЗафиксироватьТранзакцию();
 











  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #118 - 20. Ноября 2009 :: 11:28
Печать  
> неправильное применение метода а не ошибка 1с.

- Т.е., если штатный метод, как бы его не использовать, может вызвать полное обнуление ТА, то этот метод нельзя считать глючным? Я думаю, что налицо именно глючность метода.

Даже при неправильном использовании метода такого быть в принципе не должно. Тем более в моем случае ничего особо критичного не было. Не думаю, что многие программисты постоянно так перестраховываются. Но даже если все делать идеально правильно, все равно это не гарантирует, что при некотором стечении обстоятельств тот или иной глюк не проявится.
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Движения одного документа у другого
Ответ #119 - 20. Ноября 2009 :: 11:31
Печать  
Кстати, в нашем случае Перемещение записывалось, но что-то сбоило при проведении
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 6 7 [8] 9 10 ... 19
ОтправитьПечать