Имя: Пароль:
1C
1С v8
Ошибка при закрытии месяца УТ 11.4
0 Bad_Aleks
 
08.12.21
12:54
Всем привет.
Управление торговлей, редакция 11 (11.4.13.275) платформа 8.3.17.1989.
При закрытии месяца странная ошибка.
При выполнении операции "Формирование движений по данным взаиморасчетов" произошла ошибка:
Поле объекта недоступно для записи (ФизическиеЛица)
ФизическиеЛица = ПолучитьСсылкиСправочника("ФизическиеЛица", АналитикаРасчета);

ФизическиеЛица в данном случае просто переменная, в неё должен результат запроса записаться. Это не поле какого-то объекта.
Раза с 10-го закрывается. И ошибка не возникает. В ночное время почти всегда закрывается. Но и днём пользователей челок 10 не больше.
Отладкой не получилось в этом месте остановиться. Кэш чистил. Дописок в этом модуле нет.

Может кто сталкивался или подскажите куда копать?
1 Kuzmich123
 
08.12.21
13:51
что делает функция ПолучитьСсылкиСправочника()? Ей в парамаетры передается, судя по всему, тип объекта и сам объекта. Вопрос, что она там с ним творит?
2 Bad_Aleks
 
09.12.21
07:30
(1) В данном случае она получает ссылки из справочника "Физические лица". АналитикаРасчета это массив ссылок физ.лиц, которых нужно получить из справочника. Функция возвращает из запроса колонку "Ссылка".
Функция ПолучитьСсылкиСправочника(ИмяСправочника, МассивСсылок, Организация = Неопределено)
Шаблон =
    "ВЫБРАТЬ
    |    Спр.Ссылка
    |ИЗ
    |    Справочник.%1 КАК Спр
    |ГДЕ
    |    Спр.Ссылка В(&МассивСсылок)
    |    И %2";
    ТекстЗапроса = СтрШаблон(Шаблон, ИмяСправочника, ?(ЗначениеЗаполнено(Организация),"Спр.Организация = &Организация","ИСТИНА"));
    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("МассивСсылок", МассивСсылок);
    МассивКлючейОрганизации = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
    
    Возврат МассивКлючейОрганизации;
КонецФункции
3 hhhh
 
09.12.21
08:08
(2) тут понятно, что ФизическиеЛица - это не просто переменная, ищите еще, где у вас физические лица, возможно табличная часть.
4 Bad_Aleks
 
10.12.21
09:08
Проблема решена. Непонятно почему она раньше не проявлялась. И не всегда проявлялась при закрытии.
Включил отладку на сервере. Запустил отладку фоновых заданий.
Выяснилось, что в переменной "ФизическиеЛица" на момент запроса уже был определён Общий модуль.
В конфигурации такого модуля не нашлось, он был обнаружен в расширении.
Переименовали модуль. И всё заработало.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.