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



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

Помогите с присвоением родителя
Я
   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 человек.
Рекламное место пустует