Имя: Пароль:
1C
1С v8
Не работате СодержитТип, подскажите плз.
0 megabax
 
03.09.13
14:40
При попытке выполнить такой код:
"
    лСчет=ЧтениеXML.ЗначениеАтрибута("Счет"+Направление);
    Проводка["Счет"+Направление] = ПланыСчетов.Хозрасчетный.НайтиПоКоду(лСчет);
    для й=1 по 3 цикл
        попытка
            СубконтоТип=ЧтениеXML.ЗначениеАтрибута("Субконто"+Направление+строка(й)+"Тип");
        исключение
            продолжить;
        конецпопытки;
        Выборка=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Выбрать();
        ВидСубконто=Неопределено;
        пока Выборка.Следующий() цикл
            СубконтоТип1=СтрЗаменить(СубконтоТип,"Менеджер","Ссылка");
            Если Выборка.ТипЗначения.СодержитТип(Новый (СубконтоТип1)) тогда
                ВидСубконто=Выборка.Ссылка;
                прервать;
            конецесли;
        конеццикла;
        если ВидСубконто<>Неопределено тогда
            УИДСубк=ЧтениеXML.ЗначениеАтрибута("Субконто"+Направление+строка(й));
            Проводка["Субконто"+Направление][ВидСубконто]=НайтиСсылкуПоУИД(УИДСубк,Новый (СубконтоТип));
        конецесли;
        Проводка["Количество"+Направление]=ЧтениеXML.ЗначениеАтрибута("КоличествоОборот"+Направление);
    конеццикла;    
"
на строке Если Выборка.ТипЗначения.СодержитТип(Новый (СубконтоТип1)) тогда

говорит:
"{ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(561)}: Ошибка при вызове метода контекста (СодержитТип)
            Если Выборка.ТипЗначения.СодержитТип(Новый (СубконтоТип)) тогда
по причине:
Несоответствие типов (параметр номер '1')
"
смотрел в отлачкие, СубконтоТип1 имеет тип СправочникСсылка.НоменклатурныеГруппы.
Подскажите плз, как лечить?
1 kiruha
 
03.09.13
14:41
А должен быть типа тип
2 megabax
 
03.09.13
14:42
(1) Это как типа тип?
3 Бледно Золотистый
 
03.09.13
14:42
Это так:
Синтаксис:

СодержитТип(<Тип>)
Параметры:

<Тип> (обязательный)

Тип: Тип.
Тип, вхождение которого проверяется.
4 kiruha
 
03.09.13
14:43
ТипЗнч например от значения
5 Rie
 
03.09.13
14:43
(2) Тип - это есть такой тип в системе типов 1С.
См. функцию Тип().
6 kiruha
 
03.09.13
14:44
И вместо новый что то
Тип("СправочникСсылка.Номенклатура")
более првильно
7 Infsams654
 
03.09.13
14:59
(0) Выборка.ТипЗначения - что там ? По СП СодержитТип у ОписаниеТипов
8 kiruha
 
03.09.13
15:11
Если Выборка.ТипЗначения.СодержитТип(Тип("СправочникСсылка.НоменклатурныеГруппы") тогда
9 megabax
 
03.09.13
15:11
спасибо всем, сделал вот так и заработало:
    для й=1 по 3 цикл
        попытка
            СубконтоТип=ЧтениеXML.ЗначениеАтрибута("Субконто"+Направление+строка(й)+"Тип");
        исключение
            продолжить;
        конецпопытки;
        Выборка=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Выбрать();
        ВидСубконто=Неопределено;
        СубконтоТип1=СтрЗаменить(СубконтоТип,"Менеджер","Ссылка");
        попытка
            лТип=Тип(СубконтоТип1);
        исключение
            сообщить(СубконтоТип1+" "+ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
            продолжить;
        конецпопытки;
        пока Выборка.Следующий() цикл
            Если Выборка.ТипЗначения.СодержитТип(лТип) тогда
                ВидСубконто=Выборка.Ссылка;
                прервать;
            конецесли;
        конеццикла;
        если ВидСубконто<>Неопределено тогда
            УИДСубк=ЧтениеXML.ЗначениеАтрибута("Субконто"+Направление+строка(й));
            Проводка["Субконто"+Направление][ВидСубконто]=НайтиСсылкуПоУИД(УИДСубк,Новый (СубконтоТип));
        конецесли;
        Проводка["Количество"+Направление]=ЧтениеXML.ЗначениеАтрибута("КоличествоОборот"+Направление);
    конеццикла;