|
Количество параметров функции | ☑ | ||
---|---|---|---|---|
0
yuch
26.11.12
✎
17:16
|
Для удобства сделал некую свою функцию которая возвращает мне структуру.
Так вот функция имеет 40 необязательных параметров. Но вот беда, когда вызываю эту функцию переданных параметров нет (Инфа 146%). Уменьшив количество параметров до 20, все стало чудесно работать. Это что же получается, в 1С есть ограничение на количество параметров? |
|||
1
qeos
26.11.12
✎
17:16
|
жесть
|
|||
2
mikecool
26.11.12
✎
17:17
|
(1) +1
|
|||
3
mikecool
26.11.12
✎
17:17
|
(0) научись теперь структуру передавать в функцию параметром
|
|||
4
yuch
26.11.12
✎
17:19
|
(3) А по сабжу есть что сказать?
Мне бы понять, это глюк 1С или так задумано. Только и всего. |
|||
5
Kashemir
26.11.12
✎
17:19
|
(0) Есть. Причем это лабуда не документирована и может возникать (а может и не возникать) при 40 + параметрам. Когда-то еще на 8.0 с этим сталкивался - мистическая ерунда какая-то
|
|||
6
ПиН
26.11.12
✎
17:20
|
(0) продолжайте наблюдения
|
|||
7
mikecool
26.11.12
✎
17:20
|
(4) я тебе по сабжу и сказал, иначе - передавать 40 параметров - это же пипец какой то, нечитаемость детектед
|
|||
8
qeos
26.11.12
✎
17:21
|
(0) а как ты умудряешься не ошибиться?
|
|||
9
yuch
26.11.12
✎
17:21
|
(5) Спасибо за ответ. Буду иметь в виду.
|
|||
10
mikecool
26.11.12
✎
17:22
|
(9) вы реально нашли друг друга )
|
|||
11
Kashemir
26.11.12
✎
17:23
|
(10) Зря потешаешся. Там типовая функция какая-то была а-ля сформировать проводку которая сама по себе была была 30+ параметров.
|
|||
12
Pro-tone
26.11.12
✎
17:23
|
(0)а зачем это надо 40 параметров (к-рые нельзя запихнуть в структуру)? Можно пример в студию.
|
|||
13
oleg_km
26.11.12
✎
17:23
|
(10) Интересно, сколько строчек получается вызов? Даже пробовать не хочется
|
|||
14
yuch
26.11.12
✎
17:23
|
(7) Обращаю ваше внимание на то что параметры необязательные.
|
|||
15
mikecool
26.11.12
✎
17:24
|
(11) я не потешаюсь, просто вас двое, которые когда-либо с этим столкнулись
|
|||
16
oleg_km
26.11.12
✎
17:24
|
(12) чего-то мне кажется и со структурой-то перебор. Не иначе реализация кнопки "СДЕЛАТЬ ВСЕ"
|
|||
17
Reset
26.11.12
✎
17:25
|
Не поленился попробовать. Работает.
|
|||
18
Kashemir
26.11.12
✎
17:25
|
(12) Вопрос не том что нельзя ... а в том что будет если... ;-)
|
|||
19
Kashemir
26.11.12
✎
17:26
|
(17) В том то и мистика - иногда работает - а иногда последние параметры пустые приходят. Мне коллега показал - сам сперва не верил - потом проверил ... и опа :)
|
|||
20
rs_trade
26.11.12
✎
17:26
|
че пристали к человеку. 40 параметров нормуль же. вот 400 многовато.
|
|||
21
Reset
26.11.12
✎
17:27
|
(19) Возможно, я не сталкивался.
|
|||
22
rs_trade
26.11.12
✎
17:27
|
автор, больше функций хороших и нужных. даешь функцию с сотней параметров!
|
|||
23
Pro-tone
26.11.12
✎
17:27
|
(16) по идее теоретически можно вообще одну функцию написать в конфе, которая будет все делать, только зачем это надо? )
|
|||
24
mikecool
26.11.12
✎
17:27
|
(19) есть правило(мб неписанное) - в конце должны идти паарметры со значениями по умолчанию
|
|||
25
yuch
26.11.12
✎
17:27
|
И так. Есть некие процедуры и функции которым в качестве параметра передается структура. В структуре может быть дофига много ключей, а может и не быть этих довига много ключей.
Передавать конструкцию Новый Структура("праметр1,праметр2, праметр3, и.т.д", Зн1, зн2, Зн3, и т.д), при большом количестве ключей, плохо читабельна. А вот функция типа Структура("Параметр1", Значение1, Параметр2, Значение) намного лучше читабельней. |
|||
26
Kashemir
26.11.12
✎
17:28
|
Есть подозрение что это следствие ограничение стека параметров вызываемой функции
|
|||
27
Kashemir
26.11.12
✎
17:28
|
(24) И зачем ты мне это говоришь ?
|
|||
28
Reset
26.11.12
✎
17:29
|
(25) Да ладно, имяф(,,,,,,,,,,,45,,,,,,,,,,"хз",,,,,4,,,45,,,,,)
Читабельно ? |
|||
29
Aprobator
26.11.12
✎
17:29
|
(14) отдай параметры структурой тоже.
|
|||
30
Reset
26.11.12
✎
17:29
|
(28) Это ж проклянешь автора, пока запятые сочтешь
|
|||
31
yuch
26.11.12
✎
17:29
|
(28) Таки да. Инфа 146%.
|
|||
32
mikecool
26.11.12
✎
17:30
|
(27) затем, что при
Функция(А, Б="", С) С будет зачастую приходить пустым |
|||
33
Kashemir
26.11.12
✎
17:30
|
(32) Умный какой. А если ты передал все параметры ?
|
|||
34
mikecool
26.11.12
✎
17:30
|
(29) не тормози )))
|
|||
35
mikecool
26.11.12
✎
17:31
|
(33) да мне сугубо пох, я поделился своим наблюдением, суть - экспертным знанием
|
|||
36
Reset
26.11.12
✎
17:31
|
(32) Это нельзя будет вызвать без 3х параметров
|
|||
37
Reset
26.11.12
✎
17:32
|
точнее без третьего
|
|||
38
Kashemir
26.11.12
✎
17:32
|
(35) Спасибо, мне уже и свое экспертное знание некуда класть :)
|
|||
39
samozvanec
26.11.12
✎
17:32
|
раскидать структуру по строчкам не катит? типа
Новый Структура("П1, П2, П3, П4, П5" ,П1 ,П2 ,П3 ,П4 ,П5) |
|||
40
Kashemir
26.11.12
✎
17:33
|
(36) Можно - но без явного определения значений. Тип Ф(1,,2)
|
|||
41
Aprobator
26.11.12
✎
17:33
|
(34) сам снимись )
|
|||
42
mikecool
26.11.12
✎
17:33
|
(36) exactly
(38) я обычно на унитазе откладываю ) |
|||
43
Kashemir
26.11.12
✎
17:34
|
(42) Ясно - ну успехов в откладывании.
|
|||
44
Reset
26.11.12
✎
17:34
|
(40) ну я это и имел в виду. И что, возможно что не 2 там?
|
|||
45
Kashemir
26.11.12
✎
17:37
|
(44) Не понял вопроса. Но если говорить о моем эксперименте, для чистоты были использованы определены все параметры вызываемой функции. При этом в районе ~40 параметра входящие значения уже были неопределены
|
|||
46
Reset
26.11.12
✎
17:39
|
(45) Ну, как в (40), только 40 параметров и в сороковом передано конкретное значение, а в функции там Неопределено, а не то что передали?
|
|||
47
Kashemir
26.11.12
✎
17:41
|
(46) Ага, на вход подали конкретные значения, а вот в области видимости функции параметры были неопределены
|
|||
48
Reset
26.11.12
✎
17:41
|
попробовал (17) выполнить так
ф(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50); В последнем 50, как и полагается. Похоже действительно плавающая ошибка. Или я не так тестирую :) |
|||
49
Kashemir
26.11.12
✎
17:43
|
(48) Как я говорил, у меня кроме идеи (26) никаких других правдоподобных версий не осталось. Попробуй вызывать с 50 параметрами ссылочного типа :)
|
|||
50
Reset
26.11.12
✎
17:43
|
(49) Отложу до пятницы :)
|
|||
51
Kashemir
26.11.12
✎
17:44
|
+(49) Плюс возможно там были переменные "Знач" - вопрос поднимался года 4 назад - смутно помню точные условия для воспроизведения :)
|
|||
52
Steel_Wheel
26.11.12
✎
17:45
|
(1) Жесть
(0) А теперь удивись: в функции можно и передавать структуры. Создаешь структуру с 40 параметрами и передаешь. При вызове структуру валидируешь |
|||
53
Reset
26.11.12
✎
17:46
|
Ну да, приходит в голову нехватка стека, что, таки, странно. Даже при Знач в стек не объекты пихаются, а ссылки (не в 1с смысле)
|
|||
54
Reset
26.11.12
✎
17:47
|
(52) Идея со структурой оригинальна, до сих пор никто не догадался предлжить
|
|||
55
Reset
26.11.12
✎
17:48
|
вот если эту ф с 40 параметрами, да в глубокую рекурсию...
|
|||
56
myk0lka
26.11.12
✎
17:50
|
(54)В (3) вменяемый человек сразу это предложил....
|
|||
57
Kashemir
26.11.12
✎
17:51
|
(56) Еще одно неожиданное наблюдение :)
|
|||
58
Kashemir
26.11.12
✎
17:53
|
(55) Глубокая рекурсия и без параметров отлично положит предприятие :D
|
|||
59
orefkov
26.11.12
✎
18:29
|
(28)
Со снегопатом - вполне :) |
|||
60
Reset
26.11.12
✎
18:32
|
(59) Подсказывает имя соотв. параметра по курсору? Прикольно.
|
|||
61
Kashemir
26.11.12
✎
18:34
|
(60) Телепат - главное о чем я жалел при переходе на 8 :) Орехов молоток :)
|
|||
62
orefkov
26.11.12
✎
19:30
|
||||
63
Живой Ископаемый
26.11.12
✎
20:32
|
(5) капец, так спалиться на копрокодерстве...
|
|||
64
Нуф-Нуф
26.11.12
✎
20:42
|
40 параметров у функции - имхо признак говвнокода.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |