Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 04:45
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: (Значение не является знач объектного типа) И (Проверка мутабельных значений на заполненность)  (Прочитано 2419 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ferrari314

  • ***
  • Сообщений: 174
  • РЕПУТАЦИЯ: 6
  • КПД: 3%
  • Главное - не есть желтый снег.
  • Регистрация: 2015-02-09
  • Сайт: 
Собсно столкнулся с интересной задачей.
В коде мы получаем список складов по подразделениям
СписокСкладов = Новый СписокЗначений;
СписокСкладов.ЗагрузитьЗначения(СкладыОтбор.ВыгрузитьЗначения());
Ответ = СписокСкладов.ВыбратьЭлемент("Выберите новый склад для товаров");
Если ТипЗнч(Ответ.Значение) = Тип("СправочникСсылка.Склады") Тогда
Для Каждого Строка Из Объект.Товары Цикл
Строка.Склад = Ответ.Значение;
КонецЦикла;
ПересчетИтоговыхСумм(Ложь);
КонецЕсли;

и на проверке ТипЗнч(Ответ.Значение) нас может выбить ошибка
Цитировать
Значение не является знач объектного типа
, если значение неопределено. Соответственно проверка на  <> Неопределено выкидывае ту же ошибку.
Логично поставить проверку ЗначениеЗаполнено() , однако тк могут передаваться самые разные значения, мы можем нарваться на Проверка мутабельных значений на заполненность не поддерживается.
На такой случай нарыл в дальних углах гугла страшную но рабочую структуру:
ПустаяСтрока(СокрЛП(Ответ))
Она обзывается жутким костылем, но в данном случае выручила, поскольку мы не знаем что за хрень нам выберет пользователь в след. раз. Какахами плз не кидацца.


Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
попробуйте там
    Если Ответ <> Неопределено и ТипЗнч(Ответ.Значение) = Тип("СправочникСсылка.Склады") Тогда

Добавлено: 20 Мар 2015, 12:14

Цитировать
Логично поставить проверку ЗначениеЗаполнено() , однако тк могут передаваться самые разные значения, мы можем нарваться на Проверка мутабельных значений на заполненность не поддерживается.

там где переменная может быть мутабельной, проверяйте так
    Если МояПеременная <> Неопределено и ЗначениеЗаполнено(МояПеременная) Тогда
отсекаются и неопределенные и все пустые ссылки и значения, в общем читайте СП
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн ferrari314

  • ***
  • Сообщений: 174
  • РЕПУТАЦИЯ: 6
  • КПД: 3%
  • Главное - не есть желтый снег.
  • Регистрация: 2015-02-09
  • Сайт: 
Неправда. на первой части проверки (МояПеременная <> Неопределено) вывалит ошибку "Значение не является знач объектного типа" (если значение выбранное пользователем пустое) а на второй части - Проверка мутабельных (если значение верное но структурное .
Помогает только вышеописанная мной конструкция.
 Собсно скинул только для инфы. Вдруг кому поможет

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Неправда. на первой части проверки (МояПеременная <> Неопределено) вывалит ошибку

какую ошибку выдаст? вы чего? с Неопределено можно сравнивать все что угодно!
подразумевается что данная переменная есть/определена и/или инициализирована

не путайте народ своими глупыми заявлениями, протестируйте сначала все в отладчике.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
почитайте справку по ".ВыбратьЭлемент(...)"

"Возвращаемое значение:

Тип: ЭлементСпискаЗначений; Неопределено.
Если пользователь отказался от выбора, возвращает Неопределено. "

никаких тут
поскольку мы не знаем что за хрень нам выберет пользователь в след. раз
нет!

Достаточно условия
Если Ответ = Неопределено Тогда // НЕ "Ответ.Значение"!!!
// ничего не выбрали
Иначе
// вот тут Ответ = элементу списка значений и можно
    Если ТипЗнч(Ответ.Значение)=...
    ...
КонецЕсли;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
ужас ужас ужас:( = ложь = Неопределено :(
всем срочно читать rfc
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Значение "00000000001" поля "Код" не уникально

Автор gigsonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 6846
Последний ответ 24 Ноя 2014, 12:21
от gigson
Значение поля "Владелец" не заполнено или заполнено неверно

Автор ReclaimРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 3215
Последний ответ 16 Ноя 2015, 09:36
от cska-fanat-kz
Как в СКД вычислить значение ресурса для группировки по значениям ресурса нижестоящей группировки

Автор ОтцовскийРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 964
Последний ответ 23 Ноя 2016, 12:53
от sertak
как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

Автор JalibРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1076
Последний ответ 02 Дек 2016, 12:58
от Jalib
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8488
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
171 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 234
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal