![]() |
![]() |
![]() |
|
Переменная сама изменяет значение | ☑ | ||
---|---|---|---|---|
0
breezee
12.12.15
✎
12:20
|
ВсегоСтрок = ЛистДанных.Cells(1,1).SpecialCells(11).Row;
НужнаяКолонка = 1; Тз = Новый ТаблицаЗначений; Тз.Колонки.Добавить("НовИмя", Новый ОписаниеТипов("Строка")); Тз.Колонки.Добавить("НомерВИерархии", Новый ОписаниеТипов("Число")); Для Строка = 2 По ВсегоСтрок Цикл //Для Колонка = 1 По ВсегоКолонок Цикл КодС = СокрЛП(ЛистДанных.Cells(Строка,НужнаяКолонка).Value); КодС = УдалитьПоследнююТочку(КодС); НаименованиеСправСмарт = СокрЛП(ЛистДанных.Cells(Строка,НужнаяКолонка+1).Value); НСтрока = Тз.Добавить(); НовСтрок1 = СформироватьНовИмя(КодС,НаименованиеСправСмарт); НСтрока.НовИмя = НовСтрок1; НСтрока.НомерВИерархии = ПолучитьномерВИерархии(КодС); КонецЦикла; Вот код. В отладке я включил в табло переменную "КодС" Вот на это строчке "НовСтрок1 = СформироватьНовИмя(КодС,НаименованиеСправСмарт);" Переменной "КодС" присваивается строковое значение, которое возвращает функция "СформироватьНовИмя" "КодС" не является ни реквизитом формы не глобальной переменной. Что за ф*гня? |
|||
1
Irbis
12.12.15
✎
12:21
|
Передавай по значению, если разбираться в своём же коде лень.
|
|||
2
breezee
12.12.15
✎
12:26
|
(1) Да мне не лень. Все заработало методом тыка. В функции, которая ниже, заменил "Стр" на "Стр1". Правда так и не понял, как функция может что-то изменять, за пределами самой себя? если это не реквизит или не глобальная переменная
Функция СформироватьНовИмя(Стр, СтрНаим) Стр = СтрЗаменить(Стр,".","_"); Стр = СтрЗаменить(Стр,"/","_"); Стр = СтрЗаменить(Стр,"\","_"); Стр = СтрЗаменить(Стр," ","_"); СтрНаим = СтрЗаменить(СтрНаим,".","_"); СтрНаим = СтрЗаменить(СтрНаим,"/","_"); СтрНаим = СтрЗаменить(СтрНаим,"\","_"); СтрНаим = СтрЗаменить(СтрНаим," ","_"); Стр1 = Стр +"_"+ СтрНаим; Возврат Стр1; КонецФункции |
|||
3
Garykom
гуру
12.12.15
✎
12:32
|
(2) открой для себя ключевое слово "Знач"
|
|||
4
Irbis
12.12.15
✎
12:33
|
(2) Чему вас засранцев в школах только учат. Драть вас некогда и некому.
|
|||
5
breezee
12.12.15
✎
12:39
|
(3) НУ НИЧЕГО СЕБЕ! Т.е. всё это время я мог спокойно что-то изменять в своем коде и не зная об этом. Однако. Ладно, спасибо. Полезная штука оказывается. Можно не париться с возвратом массивов, а просто передавать все что мне нужно в параметрах и оно будет изменять параметры, если не буду указывать "Знач". Я же правильно понял?
|
|||
6
Garykom
гуру
12.12.15
✎
12:43
|
(5) ыыы, ну да :)
|
|||
7
breezee
12.12.15
✎
12:44
|
(6) Ок, спасибо еще раз!
|
|||
8
Chameleon1980
12.12.15
✎
19:04
|
товарыш
ниче что стр |
|||
9
Fragster
гуру
12.12.15
✎
19:08
|
А еще интересное поведение при взаимодействии с сервером для непримитивных типов
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |