|
Объясните, что значит такой код | ☑ | ||
---|---|---|---|---|
0
Альбатрос
30.10.12
✎
04:25
|
ЗначениеВыбора.Свойство("ВыборИзСправочника", ВыборИзСправочника);
ВыборИзСправочника = ВыборИзСправочника = Истина; |
|||
1
Wobland
30.10.12
✎
04:31
|
> ВыборИзСправочника = ВыборИзСправочника = Истина;
явный г-код |
|||
2
Альбатрос
30.10.12
✎
04:34
|
(1) Типовой из ут 10.3, процедура ОбработкаПодбора()
=) |
|||
3
Альбатрос
30.10.12
✎
04:35
|
в РТиУ
|
|||
4
Wobland
30.10.12
✎
04:36
|
(2) вот не аргумент, хотя УТ10 должна быть отлажена вся кругом ;)
(1) это я о свойстве не читал вторая строка делает нам явную булеву ложь, если в структуре нет значения ВыборИзСправочника. нету - значит, ложь, есть - значит, истина или ложь; |
|||
5
Альбатрос
30.10.12
✎
04:41
|
(4)хм... прикольно...
|
|||
6
Cube
30.10.12
✎
04:51
|
(1) Я тоже соглашусь, что это авнокод.
|
|||
7
Wobland
30.10.12
✎
04:57
|
(6) это приведение к булеву.
аналог: ВыборИзСправочника=?(ВыборИзСправочника=Неопределено, Ложь, ВыборИзСправочника); или: ВыборИзСправочника=НЕ(ВыборИзСправочника=Неопределено) И ВыборИзСправочника; |
|||
8
Альбатрос
30.10.12
✎
05:00
|
(7) Ну ведь тогда и не авнокод совсем? Просто новичкам типа меня не сразу понятен смысл, а так он короче, и даже более читаем, чем варианты из (7).
|
|||
9
Cube
30.10.12
✎
05:51
|
(7) Я знаю, что это приведение типа. Но я бы сделал так:
ЗначениеВыбора.Свойство("ВыборИзСправочника", ВыборИзСправочника); ВыборИзСправочника = ?(ТипЗнч(ВыборИзСправочника) = Тип("Булево"), ВыборИзСправочника, Ложь); Это как-то более читабельно... |
|||
10
Рэйв
30.10.12
✎
06:02
|
так читабельней
ЗначениеВыбора.Свойство("ВыборИзСправочника", ВыборИзСправочника); ВыборИзСправочника = НЕ ВыборИзСправочника = Неопределено; |
|||
11
Wobland
30.10.12
✎
06:07
|
(10) представть, что в ВыборИзСправочника у тебя ложь
|
|||
12
Рэйв
30.10.12
✎
06:11
|
(11)тогда так :-)
ВыборИзСправочника = ?(ВыборИзСправочника=Ложь,ВыборИзСправочника,НЕ ВыборИзСправочника = Неопределено ); |
|||
13
Wobland
30.10.12
✎
06:13
|
ну и для полноты картины ещё один вариант ;)
ВыборИзСправочника = ?(ВыборИзСправочника, Истина, Ложь); |
|||
14
Рэйв
30.10.12
✎
06:46
|
(13)Сдуется если Неопределено :-)
|
|||
15
Wobland
30.10.12
✎
06:51
|
(14) ага, думал, оно мне неявно преобразует
|
|||
16
Нуф-Нуф
30.10.12
✎
07:01
|
Нормальный код в сабже
|
|||
17
Альбатрос
30.10.12
✎
07:19
|
Мужики, чтоб не плодить новых тем:
Делаю свой документ, организую подбор в таб.часть. Дернул функционал с РТиУ, подбор открывается, все в поряде, но в док-те не срабатывает ОбработкаВыбора() Вызываю подбор так: РаботаСДиалогами.ОткрытьПодборНоменклатуры(ЭтаФорма, СтруктураПараметровПодбора, Метаданные()); В подборе после выбора номенклатуры срабатывает: ОповеститьОВыборе(), но в документе в процедуру ОбработкаВыбора() не заходит. Что я упустил? |
|||
18
Рэйв
30.10.12
✎
07:21
|
(17)Может ты ОбработкаВыбора() ручакми написал и забыл прописать в свойствах формы?
|
|||
19
Альбатрос
30.10.12
✎
07:26
|
(18) точно! Спасибо!
|
|||
20
Wobland
30.10.12
✎
07:27
|
(19) методический совет. не пиши руками, выбирай из имеющихся. и писанины меньше, и привязка сама встаёт
|
|||
21
gae
30.10.12
✎
07:28
|
Нормальный код. Я правда для читабельности в скобки включаю:
ВыборИзСправочника = (ВыборИзСправочника = Истина); |
|||
22
1Сергей
30.10.12
✎
07:38
|
(20) когда что-то копипастишь, легче скопировать, а потом привязать... главное не забыть :)
|
|||
23
AndyD
30.10.12
✎
08:20
|
в (9),(10),(12) и (13) настоящий овнокод. а в (0) все понятно и кратко.
если бы все непонятное новичкам разжевывали и заменяли 1 на 5 строк кода - пришлось бы сервера в 2 раза дороже покупать |
|||
24
Альбатрос
02.11.12
✎
04:34
|
Продолжу с непонятными примерами из типовых. Не вижу смысла вот в этом:
Если НЕ ВходитВХолдинг Тогда ТекущаяМодифицированность = Модифицированность; ГоловнойКонтрагент = Ссылка; Модифицированность = ТекущаяМодифицированность; КонецЕсли; А если быть точнее: ТекущаяМодифицированность = Модифицированность; Модифицированность = ТекущаяМодифицированность; Грубо говоря А=Б, Б=А. Для чего? |
|||
25
Wobland
02.11.12
✎
04:35
|
(24) это чтоб реквизит поменять, а модифицированность оставить прежней
|
|||
26
Альбатрос
02.11.12
✎
04:36
|
(25) Точно! =) я и не додумался )
|
|||
27
Wobland
02.11.12
✎
04:40
|
(26) >А=Б, Б=А
навеяло. поменяй местами значения двух переменных без использования третьей |
|||
28
Wobland
02.11.12
✎
04:40
|
(27) *числовых переменных
|
|||
29
Альбатрос
02.11.12
✎
05:07
|
(27) Классика! =)
|
|||
30
mehfk
02.11.12
✎
06:18
|
||||
31
0xFFFFFF
02.11.12
✎
06:22
|
(1) И чем это гкод?
Истина остается истиной, все остальное - Ложь. Компактней и не напишешь. |
|||
32
Wobland
02.11.12
✎
06:28
|
(30) а что, было такое? а я ксорил, как дурак
|
|||
33
cw014
02.11.12
✎
06:51
|
Нормально читаемый компактный код. Конечно для более читабельности можно было в скобки выражение поместить, но по крайней мере лучше, чем (12)
А в (12) получается: Если СтрДлина(Строка(ВыборИзСправочника))>6 тогда ВыборИзСправочника = Ложь; КонецЕсли; |
|||
34
mehfk
02.11.12
✎
19:57
|
(32) Пока x86 не умерло такое даже есть :)
|
|||
35
mehfk
02.11.12
✎
20:01
|
(32) более того, xchg ax,ax используется для так называемого выравнивания (alignment).
|
|||
36
Лефмихалыч
02.11.12
✎
20:05
|
(0) значит, что иногда в свойстве ВыборИзСправочника может прийти не булево
|
|||
37
Mort
02.11.12
✎
20:14
|
Код в сабже неплох, а вот г*код находится где-то выше его, если пришлось так вы*ться.
|
|||
38
hhhh
02.11.12
✎
21:40
|
(33) лучше так
Если НЕ ЗначениеВыбора.Свойство("ВыборИзСправочника", ВыборИзСправочника) Тогда ВыборИзСправочника = Ложь; КонецЕсли; просто авторы УТ не догадываются, что метод Свойство() возвращает значение. |
|||
39
Шурик71
02.11.12
✎
22:03
|
может просто (38) не догадывается, что метод Свойство() возвращает наличие соответствующего ключа? :)
|
|||
40
Лефмихалыч
02.11.12
✎
22:39
|
да нормальный абсолютно код, нашли до чего достебаться.
на свои поделия бы лучше смотрели внимательней... |
|||
41
Фокусник
02.11.12
✎
23:41
|
(0) ИМХО, код сам по себе нормальный, но подход не правильный. Лучше сделать универсальную функцию, возвращающую либо значение из структуры, либо значение по-умолчанию, если этого значения в структуре нет.
|
|||
42
hhhh
03.11.12
✎
02:13
|
(39) нет это 39 не догадывается, что метод не может возвращать наличие и безналичие, а метод возвражает значение типа булево.
|
|||
43
Torquader
03.11.12
✎
02:18
|
(42) Как бы (39) намекает, что в структуре будет ключ, но значение может быть вовсе не булево.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |