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

Типы

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

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

djvjv

ругается на строчки где типы указаны Справочники.Ссылка и Перечисления.Ссылка - объясните в чем ошибка(как правильно типы прописывать) а то не пойму

И еще я справочник создаю иерархический с группами. Подскажите в каком порядке я должен создавать(элементы в корень, иерархию и группы)

Процедура КнопкаВыполнитьНажатие(Кнопка)
   Текст = Новый ТекстовыйДокумент;

Текст.Прочитать("c:\text2.txt");

СимволРазделитель = "|";

Для НомерСтроки = 1 По Текст.КоличествоСтрок() Цикл
   Стр = Текст.ПолучитьСтроку(НомерСтроки);
   ТемпСтрока = Стр;
   НомерСимвола = Найти(ТемпСтрока,СимволРазделитель);
   Наименование = СокрЛП(Лев(ТемпСтрока,НомерСимвола - 1));
   ТемпСтрока = Сред(ТемпСтрока,НомерСимвола + 1);
   НомерСимвола = Найти(ТемпСтрока,СимволРазделитель);
   Наименование = СтрЗаменить(Наименование, "|", Символ(34));

   МассивСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр, "|");
   
   Для каждого ЭлементМассива из МассивСтрок Цикл
      Сообщить(ЭлементМассива)
   КонецЦикла; 
   
   Наименование = МассивСтрок[0];
   Код = МассивСтрок[1];
   Артикул = МассивСтрок[2];
   ВидНоменклатуры = МассивСтрок[3];
   БазоваяЕдиницаИзмерения = МассивСтрок[4];
   НаименованиеПолное = МассивСтрок[5];
   Описание = МассивСтрок[6];
   СтавкаНДС = МассивСтрок[7];
   ЦеноваяГруппа = МассивСтрок[8];
   Услуга = МассивСтрок[9];
   Номинал = МассивСтрок[10];
   ИспользоватьСерийныеНомера = МассивСтрок[11];
   ТипСерийногоНомера = МассивСтрок[12];
   ДатаОкончанияДействия = МассивСтрок[13];
   ТипСрокаДействия = МассивСтрок[14];
   Периодичность = МассивСтрок[15];
   КоличествоПериодовДействия = МассивСтрок[16];
   ПодарочныйСертификат = МассивСтрок[17];
   Весовой = МассивСтрок[18];
   Вес = МассивСтрок[19];
   НаборУпаковок = МассивСтрок[20];
   ТипНоменклатуры = МассивСтрок[21];
   ФайлКартинки = МассивСтрок[22];
   НоменклатурнаяГруппа = МассивСтрок[23];
   СтранаПроисхождения = МассивСтрок[24];
   
   Справочник = Справочники.Номенклатура.ПустаяСсылка();
   
   // Ищем товар по наименованию
   Если Наименование <> "" Тогда
     Справочник = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
   Конецесли;
   
   //Если не нашли создаем новый товар
   Если Справочник.Пустая() Тогда
     НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
     НовыйЭлемент.Наименование = Строка(МассивСтрок[0]);
     НовыйЭлемент.Код = Строка(МассивСтрок[1]);
     НовыйЭлемент.Артикул = Строка(МассивСтрок[2]);
     Родитель = Справочники.Номенклатура.НайтиПоКоду(МассивСтрок[2]);
     НовыйЭлемент.НаименованиеПолное = Строка(МассивСтрок[5]);
     НовыйЭлемент.Родитель = Родитель;
     НовыйЭлемент.БазоваяЕдиницаИзмерения = Справочники.Ссылка.КлассификаторЕдиницИзмерения(МассивСтрок[4]);
     НовыйЭлемент.ТипНоменклатуры = Перечисления.Ссылка.ТипыНоменклатуры(МассивСтрок[21]);
     НовыйЭлемент.Описание = Строка(МассивСтрок[6]);
     НовыйЭлемент.СтавкаНДС = Перечисления.Ссылка.СтавкиНДС(МассивСтрок[7]);
     НовыйЭлемент.НоменклатурнаяГруппа = Справочники.Ссылка.НоменклатурныеГруппы(МассивСтрок[23]);
     НовыйЭлемент.СтранаПроисхождения = Справочники.Ссылка.КлассификаторСтранМира(МассивСтрок[24]);
     НовыйЭлемент.ВидНоменклатуры = Справочники.Ссылка.ВидыНоменклатуры(МассивСтрок[3]);
     //НовыйЭлемент.Услуга = Булево(МассивСтрок[9]);
     //НовыйЭлемент.ЦеноваяГруппа = СправочникСсылка;
     //НовыйЭлемент.Номинал = Число(МассивСтрок[10]);
     //НовыйЭлемент.ИспользоватьСерийныеНомера = Булево(МассивСтрок[11]);
     //НовыйЭлемент.ТипСерийногоНомера = ПеречислениеСсылка;
     //НовыйЭлемент.ДатаОкончанияДействия = Дата(МассивСтрок[13]);
     //НовыйЭлемент.ТипСрокаДействия = ПеречислениеСсылка;
     //НовыйЭлемент.Периодичность = ПеречислениеСсылка;
     //НовыйЭлемент.КоличествоПериодовДействия = Число(МассивСтрок[16]);
     //НовыйЭлемент.ПодарочныйСертификат = Булево(МассивСтрок[17]);
     //НовыйЭлемент.Весовой = Булево(МассивСтрок[18]);
     //НовыйЭлемент.Вес = Число(МассивСтрок[19]);
     //НовыйЭлемент.НаборУпаковок = Справочники.Ссылка;
     //НовыйЭлемент.ФайлКартинки = СправочникСсылка;
    

     НовыйЭлемент.Записать();
   Иначе
    
     //Если нашли, получим объект
     Справочник = Справочник.ПолучитьОбъект();
    
     //....Заполняем реквизиты  (если нужно)
   Конецесли;
   
КонецЦикла;
КонецПроцедуры

djvjv

Странно выложился код, поэтому я его прицепляю в файле

sergejK74

Так ты ищешь в справочнике номенклатура
Наименование = МассивСтрок[0];
Справочник = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);


Значит и здесь 
НовыйЭлемент.БазоваяЕдиницаИзмерения = Справочники.Ссылка.КлассификаторЕдиницИзмерения(МассивСтрок[4]);
делай также (ищи по наименованию или по коду, если Найти = Неопределено ,то создавай новый).
Кнопочка Спасибо - слева!

djvjv

Как должна выглядеть эта строчка в правильном состояние?

НовыйЭлемент.БазоваяЕдиницаИзмерения = Справочники.Ссылка.КлассификаторЕдиницИзмерения(МассивСтрок[4]);

djvjv

и как прописывать типы Число и Булево?

cska-fanat-kz

Для преобразования значений есть соответственно функции Булево() и Число().
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

djvjv

Как должна выглядеть эта строчка в правильном состояние?

НовыйЭлемент.БазоваяЕдиницаИзмерения = Справочники.Ссылка.КлассификаторЕдиницИзмерения(МассивСтро�

cska-fanat-kz

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

djvjv

Как должна выглядеть эта строчка в правильном состояние?

НовыйЭлемент.БазоваяЕдиницаИзмерения = Справочники.Ссылка.КлассификаторЕдиницИзмерения

sergejK74

Кнопочка Спасибо - слева!

Теги:

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

Рейтинг@Mail.ru

Поиск