Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 ноя 2024, 08:49

Типы

Автор djvjv, 29 мар 2012, 22:23

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

djvjv

Есть такой код - в каждой строчке ошибка, почему не понимаю...исправьте мне пожалуйста мои ошибки
Справочник = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
Если Справочник.Пустая() Тогда
     НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
     НовыйЭлемент.Наименование = Строка;
     НовыйЭлемент.Код =Справочники.Номенклатура.НайтиПоКоду();
     НовыйЭлемент.Артикул = Строка;
     Родитель = Справочники.Номенклатура.НайтиПоКоду();
     НовыйЭлемент.НаименованиеПолное = Строка;
     НовыйЭлемент.Родитель = Родитель;
     НовыйЭлемент.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
     НовыйЭлемент.ТипНоменклатуры = Строка(Перечисления.ТипыНоменклатуры);
     НовыйЭлемент.Описание = Строка(МассивСтрок[6]);
     НовыйЭлемент.СтавкаНДС = Строка(Перечисления.СтавкиНДС);
     НовыйЭлемент.НоменклатурнаяГруппа = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию;
     НовыйЭлемент.СтранаПроисхождения = Справочники.Ссылка.КлассификаторСтранМира;
     НовыйЭлемент.ВидНоменклатуры = Справочники.Ссылка.ВидыНоменклатуры.НайтиПоНаименованию("РозничнаяПродукция");
     НовыйЭлемент.Услуга = Булево(МассивСтрок[9]);
     НовыйЭлемент.ЦеноваяГруппа = СправочникСсылка;
     НовыйЭлемент.Номинал = Число(МассивСтрок[10]);
     НовыйЭлемент.ИспользоватьСерийныеНомера = Булево(МассивСтрок[11]);
     НовыйЭлемент.ТипСерийногоНомера = ПеречислениеСсылка;
     НовыйЭлемент.ДатаОкончанияДействия = Дата(МассивСтрок[13]);
     НовыйЭлемент.ТипСрокаДействия = ПеречислениеСсылка;
     НовыйЭлемент.Периодичность = ПеречислениеСсылка;
     НовыйЭлемент.КоличествоПериодовДействия = Число(МассивСтрок[16]);
     НовыйЭлемент.ПодарочныйСертификат = Булево(МассивСтрок[17]);
     НовыйЭлемент.Весовой = Булево(МассивСтрок[18]);
     НовыйЭлемент.Вес = Число(МассивСтрок[19]);
     НовыйЭлемент.НаборУпаковок = Справочники.Ссылка;
     НовыйЭлемент.ФайлКартинки = СправочникСсылка;


djvjv


Есть такой код - в каждой строчке ошибка, почему не понимаю...исправьте мне пожалуйста мои ошибки
Справочник = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
Если Справочник.Пустая() Тогда
     НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
     НовыйЭлемент.Наименование = Строка;
     НовыйЭлемент.Код =Справочники.Номенклатура.НайтиПоКоду();
     НовыйЭлемент.Артикул = Строка;
     Родитель = Справочники.Номенклатура.НайтиПоКоду();
     НовыйЭлемент.НаименованиеПолное = Строка;
     НовыйЭлемент.Родитель = Родитель;
     НовыйЭлемент.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
     НовыйЭлемент.ТипНоменклатуры = Строка(Перечисления.ТипыНоменклатуры);
     НовыйЭлемент.Описание = Строка(МассивСтрок);
     НовыйЭлемент.СтавкаНДС = Строка(Перечисления.СтавкиНДС);
     НовыйЭлемент.НоменклатурнаяГруппа = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию;
     НовыйЭлемент.СтранаПроисхождения = Справочники.Ссылка.КлассификаторСтранМира;
     НовыйЭлемент.ВидНоменклатуры = Справочники.Ссылка.ВидыНоменклатуры.НайтиПоНаименованию("РозничнаяПродукция");
     НовыйЭлемент.Услуга = Булево(МассивСтрок);
     НовыйЭлемент.ЦеноваяГруппа = СправочникСсылка;
     НовыйЭлемент.Номинал = Число(МассивСтрок);
     НовыйЭлемент.ИспользоватьСерийныеНомера = Булево(МассивСтрок);
     НовыйЭлемент.ТипСерийногоНомера = ПеречислениеСсылка;
     НовыйЭлемент.ДатаОкончанияДействия = Дата(МассивСтрок);
     НовыйЭлемент.ТипСрокаДействия = ПеречислениеСсылка;
     НовыйЭлемент.Периодичность = ПеречислениеСсылка;
     НовыйЭлемент.КоличествоПериодовДействия = Число(МассивСтрок);
     НовыйЭлемент.ПодарочныйСертификат = Булево(МассивСтрок);
     НовыйЭлемент.Весовой = Булево(МассивСтрок);
     НовыйЭлемент.Вес = Число(МассивСтрок);
     НовыйЭлемент.НаборУпаковок = Справочники.Ссылка;
     НовыйЭлемент.ФайлКартинки = СправочникСсылка;


cska-fanat-kz

Делайте постепенно!

Сперва создайте элемент справочника просто заполнив наименование.
Код кстати заполнять не надо - он присвоится автоматом.
Далее заполните реквизиты примитивных типов - строковые, числовые, булевые.
Затем реквизиты ссылочных типов...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

djvjv

Далее заполните реквизиты примитивных типов - строковые, числовые, булевые.
Про числовые и булевые разъясните

cska-fanat-kz

У вас все данные изначально типа Строка.
Для преобразования в Число применяется функция Число(). Например

НовыйЭлемент.Вес = Число(ВесСтрока);

К типу булево преобразуется по следующему правилу:
0 = ложь
любое другое число = истина

Также система сама пытается преобразовывать (так называемо неявно) типы один в другой. Попробуйте просто присваивать ваши строковые переменные реквизитам справочника и возможно все преобразуется автоматом. Разговор опять же про примитивные типы! И в любом случае - экспериментируйте!...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск