|
v7: Как переделать код в функцию? | ☑ | ||
---|---|---|---|---|
0
JuixyJes
21.05.19
✎
12:31
|
Доброго времени суток! Помогите пожалуйста, есть код в процедуре, но идентичный код имеется в 6 процедурах конфигурации. Как этот код сделать функцией, чтобы к ней обращаться?
адрес =СтрЗаменить( ТЗ.ПолучитьЗначение(стр,1).ЮрАдрес, ",",РазделительСтрок); Если ПустоеЗначение(адрес) = 1 Тогда индекс = " "; область = " "; город = " "; ул = " "; кв = "" ; ИначеЕсли ПустоеЗначение(СтрПолучитьСтроку(адрес,1)) = 1 Тогда индекс = СтрПолучитьСтроку(адрес,2)+", "; область = СтрПолучитьСтроку(адрес,3)+", "; город = СтрПолучитьСтроку(адрес,5)+", "; ул = СтрПолучитьСтроку(адрес,7)+" "+СтрПолучитьСтроку(адрес,8)+", "; кв = "кв. " + СтрПолучитьСтроку(адрес,9) + СтрПолучитьСтроку(адрес,10) ; Иначе индекс = СтрПолучитьСтроку(адрес,1)+", "+" "; область = СтрПолучитьСтроку(адрес,2)+", "+" "; город = СтрПолучитьСтроку(адрес,3)+", "+" "; ул = СтрПолучитьСтроку(адрес,4)+" "+ СтрПолучитьСтроку(адрес,5)+", "+" "; кв = СтрПолучитьСтроку(адрес,6) ; КонецЕсли; |
|||
1
Mikeware
21.05.19
✎
12:44
|
обернуть в Функция()/КонецФункции ?
|
|||
2
Йохохо
21.05.19
✎
12:48
|
(1) так индекс то не видно снаружи будет, и область, куда потом итить?
|
|||
3
trooba
21.05.19
✎
12:48
|
(0) Только что твоя функция будет возвращать? Нужно список значений добавлять
|
|||
4
JuixyJes
21.05.19
✎
12:56
|
(3) это понятно, список значений, но как мне это сделать то, я в 7ке вообще не соображаю
|
|||
5
JuixyJes
21.05.19
✎
13:30
|
я бы и оставила так как есть, работает же, но сильно много строчек из-за вот этого всего, ибо не только этот код повторяется.
|
|||
6
mikecool
21.05.19
✎
13:44
|
(4) если не соображаешь и работает - не трожь!!!
|
|||
7
Garykom
гуру
21.05.19
✎
13:44
|
>Если ПустоеЗначение(адрес) = 1 Тогда
нахрен не надо, инициализация пустых всегда сначала без условия >ИначеЕсли ПустоеЗначение(СтрПолучитьСтроку(адрес,1)) = 1 Тогда сложно просто "НомерПодстроки" сместить на 1? и писать индекс = СтрПолучитьСтроку(адрес, НомерПодстроки)+", "+" "; область = СтрПолучитьСтроку(адрес, НомерПодстроки+1)+", "+" "; |
|||
8
Garykom
гуру
21.05.19
✎
13:45
|
и да вот эти +", "+" "; хрень какая то
|
|||
9
Mikeware
21.05.19
✎
14:00
|
(2) ну дык возвращать... как и положено функции.
(4) функции в других языках сильно отличаются от функций в клюшках? |
|||
10
JuixyJes
21.05.19
✎
14:11
|
(7) проблема в том, что адрес - разделение строки на составляющие и если у меня заполнены данные в реквизите адреса как ",,,,," то и заполнится все этими самыми запятыми. А мне оно не нужно.
|
|||
11
JuixyJes
21.05.19
✎
14:21
|
(7) Вы мне лучше подскажите как мне сделать так чтобы функция работала с той переменной которую я выбираю в процедуре
|
|||
12
1Сергей
21.05.19
✎
14:22
|
(11) передать её параметром. не?
|
|||
13
Garykom
гуру
21.05.19
✎
14:25
|
адрес =СтрЗаменить( ТЗ.ПолучитьЗначение(стр,1).ЮрАдрес, ",",РазделительСтрок);
или "адрес" в функцию или объект из колонки ТЗ + имя реквизита объекта или ТЗ + строка + колонка + имя реквизита |
|||
14
HawkEye
21.05.19
✎
14:35
|
(11)
это функция: Функция РазобратьАдрес(вхАдрес) адрес =СтрЗаменить(вхАдрес, ",",РазделительСтрок); Если ПустоеЗначение(адрес) = 1 Тогда индекс = " " это ее вызов: РазобратьАдрес(ТЗ.ПолучитьЗначение(стр,1).ЮрАдрес) дальше надо понимать, что у тебя такое: индекс, область, город, ул, кв |
|||
15
MWWRuza
гуру
21.05.19
✎
14:49
|
+(14)И поместить ее в глобальный модуль, объявив экспортной, с помощью "Экспорт", что-бы к ней можно было из любого места конфы обращаться.
|
|||
16
Garykom
гуру
21.05.19
✎
14:52
|
(15) В ВК
|
|||
17
HawkEye
21.05.19
✎
15:00
|
(15) зачем?
|
|||
18
Mikeware
21.05.19
✎
15:36
|
(16) разместить в инете как веб-сервис
|
|||
19
1Сергей
21.05.19
✎
15:37
|
(16) Во вконтактике?
|
|||
20
Mikeware
21.05.19
✎
15:38
|
(19) а разве там порнуху не запретили?
|
|||
21
MWWRuza
гуру
21.05.19
✎
19:14
|
(17)Вот за этим: (0)есть код в процедуре, но идентичный код имеется в 6 процедурах конфигурации.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |