Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Проблема с внешней обработкой

Проблема с внешней обработкой
Я
   Droning
 
15.04.18 - 22:15
Преобразование значения к типу Булево не может быть выполнено в модуле Справочник.Номенклатура.МодульМенеджера

В чем может быть прокол?





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

        Для Каждого СтрМас из МассивАлкоРеквизитов Цикл
            Номенклатура[СтрМас] = Неопределено;
        КонецЦикла;
        
    КонецЕсли;
 
 
   Droning
 
1 - 15.04.18 - 22:22
не пойму, значение какого-то реквизита не Булево что-ли?
Или не хватает где-то реквизита СодержитДрагоценныеМатериалы?

СинтаксисПомощник не дает инфы по ЗначениеРеквизитаОбъекта...
   DmitriyDI
 
2 - 15.04.18 - 22:23
(0) Функция  ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Номенклатура.ВидНоменклатуры, "СодержитДрагоценныеМатериалы") не возвращает значения равное истина или ложь, которые можно использовать в операторах сравнения если.
   drei
 
3 - 15.04.18 - 22:25
Вот так вот и выглядит отладка по http протоколу. Задаешь вопрос на форуме...
   Droning
 
4 - 15.04.18 - 22:34
DmitriyDI   Это я и так понимаю, я не понимаю, как исправить...
   drei
 
5 - 15.04.18 - 22:38
(4) А это зависит от того, что тебе нужно в результате. Вернее даже не тебе, а твоему работодателю. Задачу-то ведь именно он и именно тебе поставил.
   Droning
 
6 - 15.04.18 - 22:42
в результате мне нужно, чтобы обработка, написанная под ут РАБОТАЛА В КА.)))
   Droning
 
7 - 15.04.18 - 22:43
сорри за капс, случайно) нервишки шалят)
   DmitriyDI
 
8 - 15.04.18 - 22:45
(6) тут надо сделать следующее:
а) добавить в справочник виды номенклатуры реквизит типа булево "СодержитДрагоценныеМатериалы",
б) сделать его аналог через встроенную возможность доп реквизитов и уже делать сравнение с ним, тоже очень сомневаюсь что в УТ есть у номенклатуры ТЧ ДрагоценныеМатериалы, так что возможно придется менять логику работы.
   Джинн
 
Модератор
9 - 15.04.18 - 22:48
(7) Эх, только топор достал, чтобы махнуть...
   Фрэнки
 
10 - 15.04.18 - 22:49
(7) ставь на функцию ЗначениеРеквизитаОбъекта мышу, ПКМ и стрка "перейти к определению F12. Там посмотришь, чего оно может возвратить.
 
 Рекламное место пустует
   Фрэнки
 
11 - 15.04.18 - 22:51
скорей всего, что прилетит Неопределено, т.к. у Вида номенклатуры такого свойства не нашлось
   Droning
 
12 - 15.04.18 - 22:53
DmitriyDI   добавлял такой реквизит, не пашет все равно(
   Droning
 
13 - 15.04.18 - 22:54
Фрэнки, как-то так...
Функция ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита) Экспорт
    
    Результат = ЗначенияРеквизитовОбъекта(Ссылка, ИмяРеквизита);
    Возврат Результат[СтрЗаменить(ИмяРеквизита, ".", "")];
   Фрэнки
 
14 - 15.04.18 - 22:54
(12) куда добавлял?
   Фрэнки
 
15 - 15.04.18 - 22:57
(13) т.е. оно вернет вот это:

Номенклатура.ВидНоменклатуры["СодержитДрагоценныеМатериалы"]
   Droning
 
16 - 15.04.18 - 22:58
в справочник ВидыНоменклатуры
   Фрэнки
 
17 - 15.04.18 - 22:59
нет. не это. раскроет все реквизиты объекта в коллекцию Результат и из этой коллекции вернет по ключу СодержитДрагоценныеМатериалы
   AlvlSpb
 
18 - 15.04.18 - 23:47
(16) Хотя бы прочитай аннотацию к функции в УТ
// Возвращает структуру, содержащую значения реквизитов прочитанные из информационной базы

// по ссылке на объект.
// 

//  Если доступа к одному из реквизитов нет, возникнет исключение прав доступа.
//  Если необходимо зачитать реквизит независимо от прав текущего пользователя,

//  то следует использовать предварительный переход в привилегированный режим.
// 

// Функция не предназначена для получения значений реквизитов пустых ссылок.
//

// Параметры:
//  Ссылка    - ЛюбаяСсылка - объект, значения реквизитов которого необходимо получить.

//
//  Реквизиты - Строка - имена реквизитов, перечисленные через запятую, в формате

//              требований к свойствам структуры.
//              Например, "Код, Наименование, Родитель".

//            - Структура, ФиксированнаяСтруктура - в качестве ключа передается
//              псевдоним поля для возвращаемой структуры с результатом, а в качестве

//              значения (опционально) фактическое имя поля в таблице.
//              Если значение не определено, то имя поля берется из ключа.

//            - Массив, ФиксированныйМассив - имена реквизитов в формате требований
//              к свойствам структуры.

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

//  Структура - содержит имена (ключи) и значения затребованных реквизитов.
//              Если строка затребованных реквизитов пуста, то возвращается пустая структура.

//              Если в качестве объекта передана пустая ссылка, то все реквизиты вернутся со значением Неопределено.
//

Функция ЗначенияРеквизитовОбъекта(Ссылка, Знач Реквизиты) Экспорт
Возвращает Структуру или Неопределено, никак не булево
   drei
 
19 - 15.04.18 - 23:53
(18) Скрипач, ты ЗначениеРеквизитаОбьекта от ЗначенияРеквизитовОбьекта отличаешь? Турист...
   hhhh
 
20 - 16.04.18 - 07:08
(16) ну так сделай
        И Не (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Номенклатура.ВидНоменклатуры, "СодержитДрагоценныеМатериалы") = Истина) Тогда
   Сияющий в темноте
 
21 - 16.04.18 - 10:29
А если поля такого нет,то не проще ли вообще данную функцию из условия выкинуть,т.к.она всегда вернет неопределено,пока свойство не добавят?


Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует