Имя: Пароль:
1C
1С v8
Функция возвращающая структуру
0 deadpuma
 
26.11.12
16:37
вопрос наверно глупый, но все же. Может ли функция возвращать структуру, т.е. мне нужно чтобы функция возвращала булево и строку
1 zak555
 
26.11.12
16:37
да
2 Steel_Wheel
 
26.11.12
16:38
может
3 Maxus43
 
26.11.12
16:38
>>Может ли функция возвращать структуру
да
>>нужно чтобы функция возвращала булево и строку
хз чо имел ввиду
4 Шапокляк
 
26.11.12
16:38
Она еще и не такое может вернуть
5 Kashemir
 
26.11.12
16:40
Возврат Новый Структура("Булево, Строка", Истина, "Привет");
6 Undefined vs NULL
 
26.11.12
16:41
(0) почему нет?
7 deadpuma
 
26.11.12
16:42
(6) я просто программировал на delphi, там такое невозможно. поэтому и спросил
8 deadpuma
 
26.11.12
16:43
(3) у меня сейчас функция возвращает Результат типа булево, а надо чтобы к результату в случае, если Ложь, добавлялась строка (причина отказа)
9 Undefined vs NULL
 
26.11.12
16:44
(7) разве?
10 mikecool
 
26.11.12
16:44
(7) в дельфи нет структур?
11 ПиН
 
26.11.12
16:44
она даже результат запроса может, правда у очень продвинутых...
12 mikecool
 
26.11.12
16:45
+10 ТС, может тебе в саперы тогда податься?
13 deadpuma
 
26.11.12
16:45
(9) структуры есть, но насколько я помню такое нельзя было делать
14 Steel_Wheel
 
26.11.12
16:46
(7) рука/лицо
15 mikecool
 
26.11.12
16:46
(13) структура - это не массив, может с ним путаешь?
16 Steel_Wheel
 
26.11.12
16:47
(10) в дельфи есть записи - аналог структур из си
17 orefkov
 
26.11.12
16:47
Можно и через параметры вернуть.

Функция МожноЛи(ПричинаОтказа = "")
   ПричинаОтказа = "А неохота";
   Возврат Ложь;
18 sadden
 
26.11.12
16:49
(8) заполняй результат в параметры функции, т.е.:

Функция моя(параметр, Результат = Неопределено)
Если "всё плохо" Тогда
Результат = "Плохо";
Возврат Ложь
Иначе
Возврат Истина;
КонецФункции
19 Fedot200
 
26.11.12
16:49
+ (11) и таблицу значений :-)
20 Rovan
 
гуру
26.11.12
16:50
(+17) и можно в параметры структуру передать
Функция МожноЛи(ПричинаОтказа)
   ПричинаОтказа = Новый Структура( "Эй,Ай","А неохота",1);
   Возврат Ложь;
21 YHVVH
 
26.11.12
16:51
(0) не слушай их, нельзя так сделать.
22 GANR
 
26.11.12
16:51
(0) А нельзя-ли просто попробовать и узнать?
23 Undefined vs NULL
 
26.11.12
16:52
в 1С точно нельзя создавать функции, возвращающие функции
24 Reset
 
26.11.12
16:59
(23) Можно создать функцию, возвращающую имя другой функции
25 Rovan
 
гуру
26.11.12
17:03
(23) можно создать функцию, возвращающую текст функции, а потом его выполнить
26 Undefined vs NULL
 
26.11.12
17:04
(24)(25) извращаться можно по-всякому
27 GANR
 
26.11.12
20:03
(23) Это прекрасно обходится посредством Выполнить(...) и Вычислить(...).
28 Нуф-Нуф
 
26.11.12
20:47
функция может не только структуру вернуть. но еще и наухй послать
29 ДенисЧ
 
26.11.12
20:50
(28) Не.. так она не может :-_
30 Steel_Wheel
 
26.11.12
21:06
(29) ВызватьИсключение("Стена там ---->")
31 ДенисЧ
 
26.11.12
21:09
(30) Это будет не возврат и не посыл. А просто ексепшн...
32 Rovan
 
гуру
27.11.12
08:22
а еще можно вернуть просто строку в которой запаковано что угодно.....ЗначениеВСтрокуВнутр()