|
Помогите с присвоением родителя | ☑ | ||
---|---|---|---|---|
0
LeoKeyn
13.11.17
✎
09:12
|
Всем здравствуйте! Никак не могу понять, почему не получается присвоить родителя элементу справочника.
Элемент = Справочники.ИмпортДоговоровЗайма.СоздатьЭлемент(); Элемент.Наименование = Лист.Cells(i + 1, 1).Value; //Элемент.ЭтоГруппа = Лист.Cells(i + 2, 2).Value; ГруппаЭлемент = Справочники.ИмпортДоговоровЗайма.НайтиПоНаименованию(Лист.Cells(i + 1, 3).Value); Элемент.Родитель = ГруппаЭлемент.Ссылка; Что я тут делаю не так, группа просто не ищется |
|||
1
LeoKeyn
13.11.17
✎
09:13
|
(0) Хотя значение приходит нужное, пробовал делать это и через
Справочники.ИмпортДоговоровЗайма.НайтиПоНаименованию(Строка(Лист.Cells(i + 1, 3).Value)) Все равно Никак |
|||
2
Рэйв
13.11.17
✎
09:17
|
Если НЕ ЗнчениеЗаполненно(ГруппаЭлемент ) Тогда
Предупреждение("Упссс..."); КонецЕсли; |
|||
3
LeoKeyn
13.11.17
✎
09:20
|
(2) Так мне не нужна остановка если не найдет, мне нужно, чтобы находил, ведь такой элемент точно есть)
|
|||
4
LeoKeyn
13.11.17
✎
09:20
|
(2) Просто может я делаю что то не так(очевидно конечно) но вот вопрос что
|
|||
5
1dvd
13.11.17
✎
09:21
|
(3) Попробуй СокрЛП
И вообще пользуйся отладчиком |
|||
6
LeoKeyn
13.11.17
✎
09:23
|
(5) Пробовал. И отладчиком пользуюсь. В Строка(Лист.Cells(i + 1, 3).Value) приходит правильное значение, но НайтиПоНаименованию не срабатывает почемуто
|
|||
7
1dvd
13.11.17
✎
09:24
|
(6) чудес не бывает
|
|||
8
LeoKeyn
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(); |
|||
9
LeoKeyn
13.11.17
✎
09:24
|
(7) а причем тут чудеса?)
|
|||
10
LeoKeyn
13.11.17
✎
09:24
|
(7) Все ведь по логике работать должно)
|
|||
11
FIXXXL
13.11.17
✎
09:25
|
(9) "C" и "С", к примеру
в эксельчиках чего только не встретишь... |
|||
12
1dvd
13.11.17
✎
09:26
|
(11) или НПП
|
|||
13
LeoKeyn
13.11.17
✎
09:32
|
(11) Там цифры)
|
|||
14
LeoKeyn
13.11.17
✎
09:33
|
(11) Наименования числовые: "77987" например
|
|||
15
FIXXXL
13.11.17
✎
09:33
|
(13) (12)
|
|||
16
FIXXXL
13.11.17
✎
09:34
|
прогони через
стрЗаменить(ТвоёЗначениеЕкселя,Символы.НПП,""); |
|||
17
h-sp
13.11.17
✎
09:35
|
(14) приколист. Даже дети знают, что Строка(77987) = "77 987"
У тебя есть группа "77 987" ?? |
|||
18
LeoKeyn
13.11.17
✎
09:40
|
(17) Я думал на это) а как это исправить?)
|
|||
19
nordbox
13.11.17
✎
09:41
|
(18) Смотри функции работы со строками )
|
|||
20
LeoKeyn
13.11.17
✎
09:52
|
(16) попробую, спасибо
(17) пробовал присваивать наименование группе через Строка(), не помогло |
|||
21
h-sp
13.11.17
✎
09:55
|
(20) XMLСтрока везде пиши
|
|||
22
LeoKeyn
13.11.17
✎
10:28
|
(21) Спасибо большое, это помогло. Запомню этот оператор себе на вооружение на будущее. Всем большое спасибо за помощь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |