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

Помогите с присвоением родителя

Помогите с присвоением родителя
Я
   LeoKeyn
 
13.11.17 - 09:12
Всем здравствуйте! Никак не могу понять, почему не получается присвоить родителя элементу справочника.
Элемент = Справочники.ИмпортДоговоровЗайма.СоздатьЭлемент();
        Элемент.Наименование = Лист.Cells(i + 1, 1).Value;
        //Элемент.ЭтоГруппа = Лист.Cells(i + 2, 2).Value;
        ГруппаЭлемент = Справочники.ИмпортДоговоровЗайма.НайтиПоНаименованию(Лист.Cells(i + 1, 3).Value);
        Элемент.Родитель = ГруппаЭлемент.Ссылка;
Что я тут делаю не так, группа просто не ищется
   LeoKeyn
 
1 - 13.11.17 - 09:13
(0) Хотя значение приходит нужное, пробовал делать это и через
Справочники.ИмпортДоговоровЗайма.НайтиПоНаименованию(Строка(Лист.Cells(i + 1, 3).Value))
Все равно Никак
   Рэйв
 
2 - 13.11.17 - 09:17
Если НЕ ЗнчениеЗаполненно(ГруппаЭлемент ) Тогда
    Предупреждение("Упссс...");
КонецЕсли;
   LeoKeyn
 
3 - 13.11.17 - 09:20
(2) Так мне не нужна остановка если не найдет, мне нужно, чтобы находил, ведь такой элемент точно есть)
   LeoKeyn
 
4 - 13.11.17 - 09:20
(2) Просто может я делаю что то не так(очевидно конечно) но вот вопрос что
   1dvd
 
5 - 13.11.17 - 09:21
(3) Попробуй СокрЛП
И вообще пользуйся отладчиком
   LeoKeyn
 
6 - 13.11.17 - 09:23
(5) Пробовал. И отладчиком пользуюсь. В Строка(Лист.Cells(i + 1, 3).Value) приходит правильное значение, но НайтиПоНаименованию не срабатывает почемуто
   1dvd
 
7 - 13.11.17 - 09:24
(6) чудес не бывает
   LeoKeyn
 
8 - 13.11.17 - 09:24
могу код полностью привести
Попытка
    Эксель = Новый COMОбъект("Excel.Application");    
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;      
    Книга = Эксель.WorkBooks.Add("Z:\_DISTRIB\External processing\1.xlsx");
    Лист = Эксель.WorkSheets(1); 
    
    
      Для i = 0 По Лист.UsedRange.Rows.Count Цикл
          Если Строка(Лист.Cells(i + 1, 3).Value) = "" Тогда
              
           
          ГруппаЭлемент = Справочники.ИмпортДоговоровЗайма.СоздатьГруппу();
      ГруппаЭлемент.Наименование = Лист.Cells(i + 1, 1).Value;
      ГруппаЭлемент.Записать();
            Иначе
        //Элемент = Справочники.ИмпортДоговоровЗайма.СоздатьЭлемент(); 

        //Элемент.Наименование = Лист.Cells(i + 1, 1).Value;

        ////Элемент.ЭтоГруппа = Лист.Cells(i + 2, 2).Value;

        //ГруппаЭлемент = Справочники.ИмпортДоговоровЗайма.НайтиПоНаименованию(Лист.Cells(i + 1, 3).Value);

        //Элемент.Родитель = ГруппаЭлемент.Ссылка;

        //Элемент.НомерДоговора = Лист.Cells(i + 1, 4).Value;

        //Элемент.ФИО = Лист.Cells(i + 1, 5).Value;

        //Элемент.ДатаДоговора = Лист.Cells(i + 1, 6).Value;

        //Элемент.СуммаДоговора = Лист.Cells(i + 1, 7).Value;

        //Элемент.СрокДоговора = Лист.Cells(i + 1, 8).Value;

        //Элемент.ДатаОкончания = Лист.Cells(i + 1, 9).Value;

        //Элемент.СтавкаПоДоговору = Число(Лист.Cells(i + 1, 10).Value);

        //Элемент.ПСК = Лист.Cells(i + 1, 11).Value;         

        //Элемент.Записать();


    КонецЕсли;
    
    КонецЦикла;      
    
     Для i = 0 По Лист.UsedRange.Rows.Count Цикл
          Если Строка(Лист.Cells(i + 1, 3).Value) = "" Тогда
              
      //     

      //    ГруппаЭлемент = Справочники.ИмпортДоговоровЗайма.СоздатьГруппу();

      //ГруппаЭлемент.Наименование = Лист.Cells(i + 1, 1).Value;

      //ГруппаЭлемент.Записать();

            Иначе
        Элемент = Справочники.ИмпортДоговоровЗайма.СоздатьЭлемент(); 
        Элемент.Наименование = Лист.Cells(i + 1, 1).Value;
        //Элемент.ЭтоГруппа = Лист.Cells(i + 2, 2).Value;

        ГруппаЭлемент = Справочники.ИмпортДоговоровЗайма.НайтиПоНаименованию(Строка(Лист.Cells(i + 1, 3).Value));
        Элемент.Родитель = ГруппаЭлемент.Ссылка;
        Элемент.НомерДоговора = Лист.Cells(i + 1, 4).Value;
        Элемент.ФИО = Лист.Cells(i + 1, 5).Value;
        Элемент.ДатаДоговора = Лист.Cells(i + 1, 6).Value;
        Элемент.СуммаДоговора = Лист.Cells(i + 1, 7).Value;
        Элемент.СрокДоговора = Лист.Cells(i + 1, 8).Value;
        Элемент.ДатаОкончания = Лист.Cells(i + 1, 9).Value;
        Элемент.СтавкаПоДоговору = Число(Лист.Cells(i + 1, 10).Value);
        Элемент.ПСК = Лист.Cells(i + 1, 11).Value;         
        Элемент.Записать();

    КонецЕсли;
    
    КонецЦикла;
    
    
    Эксель.ActiveWorkBook.Close(Истина,"");
    Эксель.Quit();
   LeoKeyn
 
9 - 13.11.17 - 09:24
(7) а причем тут чудеса?)
   LeoKeyn
 
10 - 13.11.17 - 09:24
(7) Все ведь по логике работать должно)
   FIXXXL
 
11 - 13.11.17 - 09:25
(9) "C" и "С", к примеру

в эксельчиках чего только не встретишь...
   1dvd
 
12 - 13.11.17 - 09:26
(11) или НПП
   LeoKeyn
 
13 - 13.11.17 - 09:32
(11) Там цифры)
   LeoKeyn
 
14 - 13.11.17 - 09:33
(11) Наименования числовые: "77987" например
   FIXXXL
 
15 - 13.11.17 - 09:33
(13) (12)
   FIXXXL
 
16 - 13.11.17 - 09:34
прогони через
стрЗаменить(ТвоёЗначениеЕкселя,Символы.НПП,"");
   h-sp
 
17 - 13.11.17 - 09:35
(14) приколист. Даже дети знают, что Строка(77987) = "77 987"


У тебя есть группа "77 987"  ??
   LeoKeyn
 
18 - 13.11.17 - 09:40
(17) Я думал на это) а как это исправить?)
   nordbox
 
19 - 13.11.17 - 09:41
(18) Смотри функции работы со строками )
   LeoKeyn
 
20 - 13.11.17 - 09:52
(16) попробую, спасибо
(17) пробовал присваивать наименование группе через Строка(), не помогло
   h-sp
 
21 - 13.11.17 - 09:55
(20) XMLСтрока везде пиши
   LeoKeyn
 
22 - 13.11.17 - 10:28
(21) Спасибо большое, это помогло. Запомню этот оператор себе на вооружение на будущее. Всем большое спасибо за помощь!


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