Имя: Пароль:
1C
1С v8
8.2 Передать функцию в функцию (аля с++ код)
0 miner
 
28.02.13
17:34
Народ подскажите как в 1с делаются конструкции наподобие
Функция фу( лоло())
КонецФункции
Я имею ввиду не в буквальном смысле, а именно результат.
Те например нужно обойти дерево и вызвать для каждой строки определенную фукнцию, для каждого обхода разную.
И чтобы не плодить лишнего кода, хотелось бы что-нибудь этакое с подвыподвертом!
1 ДенисЧ
 
28.02.13
17:36
лямбду в 1с хочешь? :-)
2 acsent
 
28.02.13
17:36
только через выполнить, но это не тру
3 acsent
 
28.02.13
17:37
ибо у выполнить нет отладки
4 le_
 
28.02.13
17:37
Вычислить() можно попробовать использовать...
5 miner
 
28.02.13
17:40
(1) типа лямбды, да, но пойдет и простой трюк.
Просто зад..ся уже одни и те же конструкции писать.
6 Reset
 
28.02.13
17:40
Функция фу(ЧёВыполнить)
 Выполнить(ЧёВыполнить);
КонецФункции

Фукция А1()
// тут есть отладка
КонецФункции

Фукция А2()
//
КонецФункции

Для й=1 по 2 цикл
 фу("А"+й+"()");
КонецЦикла;
7 ДенисЧ
 
28.02.13
17:40
(5) тогда через Выполнить()...
8 Reset
 
28.02.13
17:41
+(6) Но реально как-то редко такое требовалось
9 Serginio1
 
28.02.13
17:42
Можно использовать внешние отчеты и передавть ссылку на созданный внешний отчет. В теле которого должна быть функция определенного названия.
10 miner
 
28.02.13
17:42
(6) сча попробуем!
11 Serginio1
 
28.02.13
17:43
(9) Правда это ближе к интерфейсам и утиннную типизацию.
12 miner
 
28.02.13
17:47
сори за флейм, но нахуа было придумывать этот корявый язык. Вместо этого поставляли бы свой 1с с нормальным высокоуровневым языком в виде интерфейсов. К которым можно было накручивать все чего угодно.
13 miner
 
28.02.13
17:48
(12) можно не считать вопросом и не отвечать на него это просто выражение эмоций
14 ДенисЧ
 
28.02.13
17:48
(12) 1с - для бухгалтеров. А не для гиков-программистов.
15 ДенисЧ
 
28.02.13
17:48
А вообще - тут рекламировали питонную ВК...
Бери и пользуйся.
Или не пользуйся 1с
16 HeroShima
 
28.02.13
18:03
(0) таки кейс
17 zladenuw
 
28.02.13
18:04
(15) а где реклама ?
18 HeroShima
 
28.02.13
18:09
(17) в моих темах. только тихо...
19 mikecool
 
28.02.13
18:21
а вот самое главное - нафига такой изврат?
20 mikecool
 
28.02.13
18:22
минер(наверное как сапер) ошибается только раз в жизни )))
21 ILM
 
гуру
28.02.13
20:37
Функция НамберУан(Параметр = НамберТу())
Возврат ЧёТеНадо; // Чё ты хошь
КонецФункции

Проверьте?
22 Тролль главный
 
28.02.13
20:38
наваяй кучу своих обработок (можно внешних)  с единым интерфейсом и используй
23 Тролль главный
 
28.02.13
20:40
+(22) я бы и в C++ так бы стал делать, через паттерн команда, реализованного классами
24 GANR
 
28.02.13
20:42
(0) Отличная альтернатива
Выполнить(ТвойКодВызоваПроцедурыСПараметрами);
ТвояПеременная = Вычислить(ТвойКодВызоваФункцииСПараметрами)
25 Defender aka LINN
 
28.02.13
21:44
(0) А... Нахера?
26 Тролль главный
 
28.02.13
21:52
(25) функторы удобны
27 Defender aka LINN
 
28.02.13
22:05
(26) Хто, простите?
28 mikecool
 
28.02.13
22:10
(21) параметр по умолчанию только значение примитивного типа мб
29 Defender aka LINN
 
28.02.13
22:12
(21) "Параметр = НамберТу()" - вполне себе булево
30 mikecool
 
28.02.13
22:14
(29) пробовал както Параметр = Справочники.Номенклатура.ПустаяСсылка() - кажись обматерило
31 Defender aka LINN
 
28.02.13
22:15
(30) В объявлении - обматерит. В вызове - нет
32 mikecool
 
28.02.13
22:16
(31) дык речь то про объявление и ведем
33 Defender aka LINN
 
28.02.13
22:19
аааа... А то я сижу и не догоняю, что тут все хотят :)
Один фиг - баловство это все
34 orefkov
 
28.02.13
22:35
Переходите на 7ку, там это реализовано.
Если очень надо, могу забацать ВК, правда только под винду и с веб-клиентом не знаю, получиться ли.