Обновил до 770591. Вылетает ошибка! Помогите разобраться.

1. yurowski 33 26.01.15 11:11 Сейчас в теме
Здравствуйте. Конфа типовая. Обновили до последнего релиза а тут такое:

ИначеЕсли Метаданные.Документ(ДокОсн.Вид()).РеквизитШапки("КодВидаОперации").Выбран() = 1 Тогда
{Отчет.КнигаПродаж1137.Форма.Модуль(414)}: Поле агрегатного объекта не обнаружено (РеквизитШапки)

Что пошло не так?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. l_user 26.01.15 11:54 Сейчас в теме
(1) yurowski,
Уточняющие вопросы:
- ошибка повторяется на всех компьютерах?
- база лежит на локальном компьютере?
5. skom 74 27.01.15 12:47 Сейчас в теме
В отчете вот эта конструкция выдает ошибку:

ДокОсн = ТабОтчета.Док.ДокументОснование;

Если ПустоеЗначение(ТабОтчета.Док.КодВидаОперации) = 0 Тогда
ТабОтчета.КодВидаОперации = ТабОтчета.Док.КодВидаОперации;
ИначеЕсли Метаданные.Документ(ДокОсн.Вид()).РеквизитШапки("КодВидаОперации").Выбран() = 1 Тогда
ТабОтчета.КодВидаОперации = ДокОсн.КодВидаОперации;
КонецЕсли;

Если документ Запись книги продаж, то там реквизит КодВидаОперации не заполнен, однако, если открыть этот документ, то "кажется", что он заполнен, однако, там стоит в процедуре УправлениеВидимостью() такой код

Если ДатаДок >= '01.10.14' Тогда //дата постановления № 735
...
Форма.КодВидаОперации.Видимость(1);

Если ПустоеЗначение(КодВидаОперации) = 1 Тогда
КодВидаОперации = "01";
КонецЕсли;
.....

в общем. при отрытии подставляет кодвидаоперации = "01"
и, если при закрытии дока его не записать, то в документе данный реквизит все равно пустой.
выход, либо в каждый док заходить и править, либо в отчете ставить заглушку, что, если это док - запись книги продаж, если ее дата больше 01/10/14 и кодвидаоперациипустой, то принимать его за "01"
3. CheBurator 2725 27.01.15 03:12 Сейчас в теме
ДокОсн не выбран
А так как докосн скорее всего имеет тип документ всех видов то и происходит ошибка
Проверяйте что в документах формирования книги продаж
И что особенно в документах записькнинипродаж указаны документыоснования
4. l_user 27.01.15 08:07 Сейчас в теме
(3) CheBurator,
ДокОсн не выбран
Очень похоже, что проблема именно в этом.
6. skom 74 27.01.15 13:30 Сейчас в теме
Добавлю. Запустил вот такую обработку

Процедура Сформировать()

Док = создатьобъект("Документ.ЗаписьКнигиПродаж");
Док.УстановитьФильтр(1,0);
Док.ВыбратьДокументы(НачДата,КонДата);
Пока Док.ПолучитьДокумент() = 1 Цикл
Если ПустоеЗначение(Док.КодВидаОперации) = 1 Тогда
Док.КодВидаОперации = "01";
Док.Провести();
Сообщить("Проведен документ " + Док);
КонецЕсли;
КонецЦикла;

КонецПроцедуры

и все стало супер)
albert.goncharov; +1 Ответить
7. albert.goncharov 88 09.03.15 21:17 Сейчас в теме
8. Frogger1971 17.03.15 23:44 Сейчас в теме
ИначеЕсли Метаданные.Документ(ДокОсн.Вид()).РеквизитШапки("КодВидаОперации").Выбран() = 1 Тогда
{Отчет.КнигаПродаж1137.Форма.Модуль(414)}: Поле агрегатного объекта не обнаружено (РеквизитШапки)


вообще по коду в (1): ДокОсн просто не имеет реквизита, потому что при выборе получено пустое значение
ссылка на пустое значение = пустая ссылка, которая реквизитов не имеет, априори

дальнейшие "шаманства" смысла не имели, потому что вы заполняете реквизит документа, который
"Метаданные.Документ(ДокОсн.Вид()).РеквизитШапки("КодВидаОперации").Выбран()" - таки возвращает 1,
а не что-то типа "Ссылка в небо"

просто нужно было посмотреть на каком значении "ДокОсн.Вид()" "затыкается", хоть через Сообщить(),
если трайсить "влом"
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот