Значение не является значением объектного типа #739033


#0 by pnamik
Добавил в модуль формы Приходной накладной в процедуру ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) проверку заполнения цены поступления и наценки следующим способом Если ТекСтрока.ЦенаПоступления = ТекСтрока.РозничнаяЦена Тогда   Предупреждение ("Цена поступления не может быть равна розничной цене"); все это работает, но, когда создаешь накладную и пытаешься сохранить ее пустую, выдает ошибку {Документ.ПриходнаяНакладная.Форма.ФормаДокумента}: Значение не является значением объектного типа (ЦенаПоступления) Если ТекСтрока.ЦенаПоступления = 0 Тогда или же ругается на розничную наценку, что Значение не является значением объектного типа (Розничная наценка) Как устранить ошибку? как сделать так, чтобы для пустой накладной эти проверки не имели силу, а имели действия при заполненных строках приходной накладной?
#1 by ДенисЧ
Что в отладчик про тип и значение ТекСтрока? наверняка Неопределено...
#2 by GROOVY
Перед записью... там может текущих данных и не быть.
#3 by pnamik
ТекСтрока выражение неопределено, действительно
#4 by GROOVY
У документа, что, всегда одна строка в ТЧ?
#5 by ДенисЧ
А об этом в книжках всегда пишется...
#6 by pnamik
убрал текущиеданные выдал ошибку Поле объекта не обнаружено (ЦенаПоступления) или Поле объекта не обнаружено (РозничнаяНаценка) у документа приходная накладная может быть сколько угодно строк (позиций), ошибки (значение не является значением) возникает при сохранении пустой накладной
#7 by GROOVY
Тебе строки перебрать надо (и вот тут либо вопросительный, либо восклицательный знак, в зависимости от ответа на вопрос в посте №4)
#8 by GROOVY
Все строки проверять надо?
#9 by ДенисЧ
:wall:
#10 by pnamik
при непустых строках в приходной накладной проверка по всем трем параметрам проходит нормально. ошибка появляется, когда приходная накладная не имеет ни одной строки, и пытаешься сохранить накладную
#11 by GROOVY
Все строки проверять надо ?
#12 by pnamik
да
#13 by GROOVY
Перебирай их в цикле "Для каждого из". В цикл не попадешь, если строк нет.
#14 by pnamik
щас попробую сочинить, хотя сложновато для меня, надеюсь получится
#15 by GROOVY
Для каждого ТекСтрока из Накладная Цикл
#16 by pnamik
Сделал так: Ошибка исчезла, и больше никакая проверка не идет. а нужно чтобы проверка была по всем трем параметрам
#17 by ДенисЧ
Какая ДокументОбъект, если документ ещё не записан?
#18 by pnamik
#19 by pnamik
Всем спасибо, особенно
#20 by rphosts
один из КонецЕсли нужно перенести в строку сразу после Продолжить... хотя строки с неуказаной номенклатурой тоже как правило неправильно
#21 by pnamik
не хочу создавать еще одну тему с примерно такой же ошибкой. поэтому может в этой теме поможете разобраться?! в той же приходной накладной после удаления последней строки (т.е. когда ни одной позиции не остаются в табличной части накладной), в процедуре НакладнаяПриАктивизацииСтроки(Элемент) появляется ошибка {Документ.ПриходнаяНакладная.Форма.ФормаДокумента}: Значение не является значением объектного типа (Номенклатура) Если информации мало, могу привести процедуру полностью
#22 by ДенисЧ
А у тебя та же проблема. Ты не проверяешь входящие данные.
#23 by pnamik
действительно так.
#24 by User_Agronom
Косяками пошли: Откуда выпуск?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С