При заполнении документа «Отражение зарплаты в регламентированном учете» столкнулся с ошибкой «нехватка памяти». Перепроверили вдоль и поперек настройки на серверах и пользовательских машинах — памяти предостаточно. Погуглив нашел несколько упоминаний о решении проблемы: «запись в регистры 1С больших наборов записей».
В инете нашел только упоминания, как решили проблему, без выкладки кода.
http://www.trsoft.ru/articles/11/
//infostart.ru/public/147631/
Выкладываю, для экономии времени:
Для исправления ошибки в модуль документа ОтражениеЗарплатыВРеглУчете необходимо вставить следующий код в процедуру ОбработатьДанныеУчета2011:
//++При заполнении документа пишет нехватка памяти. Решение делать запись порциями.
// было НаборЗаписей.Записать(Ложь); Ниже правильный код.
ВремТЧ = НаборЗаписей.Выгрузить();
НаборЗаписей.Очистить();
н=0;
Для каждого стр из ВремТч цикл
Нстр=НаборЗаписей.Добавить(); ЗаполнитьЗначенияСвойств(Нстр,стр); н=н+1;
Если н=10000 тогда н=0;
// при записи данных учета не затираем уже введенные движения
НаборЗаписей.Записать(Ложь);
КонецЕсли;
КонецЦикла;
Если н<>0 тогда
// при записи данных учета не затираем уже введенные движения
НаборЗаписей.Записать(Ложь);
Конецесли;
//—
У меня остановилось заполнение документа, как раз тут же…
Отладчик) друг программиста) Но подозреваю на этом все не закончится…
У меня остановилось заполнение документа, как раз тут же…
Отладчик) друг программиста) Но подозреваю на этом все не закончится…
Спасибо за идею…
Еще несколько решений этой проблемы:
1. создание управляемых блокировок и распараллеливание процессов, преимущество, с этим документом больше никто не работает.
2. при работе именно с этим документом включение монопольного доступа.