![]() |
|
v7: Проблема с записью проводок документов через обработку в 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
minsk1s
02.02.14
✎
20:52
|
Написал дежурную обработку которая перебирает документы и вносит изменения в проводки(меняет субконто на нужные). При записи проводок происходит зависание. Второй час ломаю голову…
|
|||
1
minsk1s
02.02.14
✎
20:53
|
ПроводкиДокумента = СоздатьОбъект("Операция");
Док=СоздатьОбъект("Документ"); Если Док.НайтиПоНомеру(ND,DD,VD)=1 Тогда ПроводкиДокумента.НайтиОперацию(Док.ТекущийДокумент()); //ПроводкиДокумента.ВыбратьПроводки(); Если ПроводкиДокумента.ПолучитьПроводкуПоНомеру(NP)=1 Тогда Если (СчетПоКоду(DC)=ВыбСчётВыгр) и (ПроводкиДокумента.Дебет.Счет=ВыбСчётЗагр) Тогда ПроводкиДокумента.Дебет.Субконто(1,D1); ПроводкиДокумента.Дебет.Субконто(2,D2); ПроводкиДокумента.Дебет.Субконто(3,D3); ИначеЕсли (СчетПоКоду(KC)=ВыбСчётВыгр) и (ПроводкиДокумента.Кредит.Счет=ВыбСчётЗагр) Тогда ПроводкиДокумента.Кредит.Субконто(1,K1); ПроводкиДокумента.Кредит.Субконто(2,K2); ПроводкиДокумента.Кредит.Субконто(3,K3); Иначе Сообщить("ошибка в проводке N"+NP+"в документе "+VD+" "+ND+" ("+DD+") DC="+сОКРЛП(DC)+" KC="+СОКРЛП(KC),"!"); КонецЕсли; Иначе Сообщить("не найдена проводка N"+NP+"в документе "+VD+" "+ND+" ("+DD+")","!"); КонецЕсли; Иначе Сообщить("не найден "+VD+" "+ND+" ("+DD+")","!"); КонецЕсли; //Попытка ПроводкиДокумента.Записать();// ТУТ ВИСНЕТ НАМЕРТВО //Исключение // Сообщить("с 1-го раза не записала"); // Попытка // ПроводкиДокумента.Записать();// // Исключение // Сообщить("с 2-го раза не записала","!"); // КонецПопытки; //КонецПопытки; |
|||
2
Torquader
02.02.14
✎
20:59
|
А период какой ?
Может быть, она итоги обновляет. Сколько ждал ? |
|||
3
minsk1s
02.02.14
✎
21:03
|
(2) Документы в обработке с 01.01.08 по сегодня.
минут 10 ждал - зависает намертво.. интересно то, что первые две операции(проводок по 50 в каждой) - проходят на ура, а документ Начисление ЗП виснет, хотя там всего 3 проводки. |
|||
4
minsk1s
03.02.14
✎
10:42
|
Может кто еще столкнётся - ловите: После полной отработки обработки на другом ПК - проблему решил заменой жесткого диска.Из-за чего был баг так и не понял.
|
|||
5
Torquader
03.02.14
✎
12:57
|
(4) Если на диске сектор не читается, то система просто висит и ждёт ответа от диска, пока тот будет готов передать данные сектора или данные ошибки.
Если диск читается вероятностно (такое бывает при начальном отказе головок), то время чтения с диска возрастает очень сильно, но это видно - горит индикатор обращения к диску, диск делает попытки рекалибровки, а компьютер висит и ни на что не реагирует (или реакция только на мышь и попытки переключения окон). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |