|
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) Если на диске сектор не читается, то система просто висит и ждёт ответа от диска, пока тот будет готов передать данные сектора или данные ошибки.
Если диск читается вероятностно (такое бывает при начальном отказе головок), то время чтения с диска возрастает очень сильно, но это видно - горит индикатор обращения к диску, диск делает попытки рекалибровки, а компьютер висит и ни на что не реагирует (или реакция только на мышь и попытки переключения окон).
|
|