gifts2017

Документ "Отражение зарплаты в регламентированном учете"

Опубликовал Алексей Захаров (almas) в раздел Программирование - Практика программирования

При  заполнении  документа «Отражение зарплаты в регламентированном  учете» в  столкнулся с ошибкой  "нехватка памяти".  Перепроверили  вдоль и поперек  настройки на серверах  и пользовательских машинах -  памяти  предостаточно.  Погуглив  нашел несколько  упоминаний о решении проблемы:  "запись в регистры 1С больших наборов записей".



При заполнении документа «Отражение зарплаты в регламентированном учете» столкнулся с ошибкой "нехватка памяти". Перепроверили вдоль и поперек настройки на серверах и пользовательских машинах - памяти предостаточно. Погуглив нашел несколько упоминаний о решении проблемы: "запись в регистры 1С больших наборов записей".

В инете  нашел только  упоминания, как решили проблему, без выкладки  кода. 

http://www.trsoft.ru/articles/11/ 

http://infostart.ru/public/147631/ 

 

Выкладываю,  для  экономии времени: 

 Для  исправления  ошибки в модуль документа ОтражениеЗарплатыВРеглУчете необходимо  вставить  следующий код в процедуру  ОбработатьДанныеУчета2011:

//++При заполнении документа пишет нехватка памяти.  Решение делать запись порциями.
// было  НаборЗаписей.Записать(Ложь);  Ниже  правильный код.

 
ВремТЧ = НаборЗаписей.Выгрузить();
 
НаборЗаписей.Очистить();
 
н=0;
 Для каждого
стр из  ВремТч цикл
 
Нстр=НаборЗаписей.Добавить();  ЗаполнитьЗначенияСвойств(Нстр,стр);     н=н+1;
  Если 
н=10000 тогда н=0;
  
// при записи данных учета не затираем уже введенные движения
  
НаборЗаписей.Записать(Ложь);
  КонецЕсли;
 КонецЦикла;
 Если 
н<>0 тогда
 
// при записи данных учета не затираем уже введенные движения
 
НаборЗаписей.Записать(Ложь);
 Конецесли;
//--

 

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Анастасия Александровна (quNas) 04.09.14 02:11
У меня остановилось заполнение документа, как раз тут же...
Отладчик) друг программиста) Но подозреваю на этом все не закончится...
2. Анастасия Александровна (quNas) 04.09.14 02:16
У меня остановилось заполнение документа, как раз тут же...
Отладчик) друг программиста) Но подозреваю на этом все не закончится...
3. Анастасия Александровна (quNas) 04.09.14 02:31
4. Анастасия Александровна (quNas) 10.12.14 09:26
Еще несколько решений этой проблемы:
1. создание управляемых блокировок и распараллеливание процессов, преимущество, с этим документом больше никто не работает.
2. при работе именно с этим документом включение монопольного доступа.