|
Вопрос по логике (условие) | ☑ | ||
---|---|---|---|---|
0
Gray776
11.03.15
✎
07:20
|
Уважаемые как лучше/правильно будет, так:
Отказ = Источник.Испорчена; Отказ = Источник.ПометкаУдаления; Отказ = НЕ (Источник.Проведен); или вот так: Отказ = (Источник.Испорчена) И (Источник.ПометкаУдаления) И (НЕ (Источник.Проведен)); |
|||
1
sda553
11.03.15
✎
07:22
|
в первом случае первые две строчки ничего не делают
|
|||
2
hawksib
11.03.15
✎
07:24
|
О_О вопрос не в том как лучше, а как правильно, полагаю, как сказали в (1), тебе будет достаточно только Отакз = Не Источник.Проведен;
|
|||
3
Explorer1c
11.03.15
✎
07:25
|
А чего вы хотите добиться данным кодом? Возможно, запускаете Протон?
|
|||
4
Gray776
11.03.15
✎
07:26
|
(0) Еееммм... это в обработчике документа "Перед выгрузкой" (1) (2) Согласен насчет пометки на удаление лишнее это и то правда... но вот "испорчена" может быть проведенной как ни странно. Это дополнительная доработка в конфигурации.
(3) неа звезду смерти ))) |
|||
5
hawksib
11.03.15
✎
07:29
|
(3) епть, соазу бы сказал, что код для КД написать не можешь, держи
БудетОтказ = Ложь; Если Не Источник.Проведен Тогда БудетОтказ = Истина; КонецЕсли; Если Источник.Испорчена Тогда БудетОтказ = Истина; КонецЕсли; Отказ = БудетОтказ; |
|||
6
Gray776
11.03.15
✎
07:35
|
(5) Та чего эт не могу? Могу просто посоветоваться решил вот... и не зря кстати... (одно условие исключил)
та оно понятно что можно и так и эдак но вот из моих вариантов(с учетом исключения лишнего) какой верный мне вот первый вариант чтот не нравится хотя .... |
|||
7
Gray776
11.03.15
✎
07:37
|
(6) Тоесть так:
Отказ = Источник.Испорчена; Отказ = НЕ (Источник.Проведен); Или так: Отказ = (Источник.Испорчена) И (НЕ (Источник.Проведен)); |
|||
8
hawksib
11.03.15
✎
07:39
|
(7) если у тебя источник не испорчена, и источник проведен будет ложь и ложь = отказ?
|
|||
9
hawksib
11.03.15
✎
07:41
|
первый свой вариант вообще забудь, отказ будет всегда только последнее значение принимать, я бы сделал такое условие как у меня написано и не парился, какая разница как че написано, главное код рабочий, да ещё и понятный
|
|||
10
Explorer1c
11.03.15
✎
07:42
|
А что значит "Источник.испорчена"? и нафига этот код в КД вообще нужен? (просто я в КД плотно не работал, только учусь)
|
|||
11
hawksib
11.03.15
✎
07:43
|
(10) такой код в КД в событии передВыгрузкой нужен, чтобы данные (объект) не выгружались
|
|||
12
Gray776
11.03.15
✎
07:46
|
(8) Блин точно мне же там нужна ЛОЖЬ только если оба ЛОЖЬ значит не "И", а "ИЛИ"
(10) Та это не имеет отношение к КД это реквизит документа который появился в процессе доработки конфигурации "под заказчика" (не я дорабатывал) |
|||
13
hawksib
11.03.15
✎
07:47
|
(10) а источник.Испорчена это значит, что у выгружаемого объекта есть реквизит "Испорчена", по логике в приведенном коде понятно, что булевого типа
|
|||
14
Gray776
11.03.15
✎
07:47
|
(11) оно там и есть (4)
(13) да именно так |
|||
15
Explorer1c
11.03.15
✎
07:51
|
Как можно назвать реквизит "Испорчена" что за бред) Тот прогер который был до тебя явно был двоечником по литературе
|
|||
16
Gray776
11.03.15
✎
07:52
|
(10) (11) (13) Да это я не переношу документы которые испорчены или не проведены. То есть мне нужны в приемнике документы которые проведены и не испорченны.
|
|||
17
Gray776
11.03.15
✎
07:55
|
(12)Короче наверно как в (5) сделаю ... а насчет моих вариантов:
Отказ = (Источник.Испорчена) ИЛИ (НЕ (Источник.Проведен)); Вот так наверно... |
|||
18
hawksib
11.03.15
✎
07:58
|
(12) в (8) я немного ошибся
ЛОЖЬ И ЛОЖЬ = ЛОЖЬ (отказа не будет), а вот ЛОЖЬ И ИСТИНА = ЛОЖЬ, что, имхо, не правильно, скорее всего действительно с ИЛИ будет работать, потому как ЛОЖЬ ИЛИ ИСТИНА = ИСТИНА. Ну я чтобы всегда наверняка работала пишу более простой, понятный и 100% рабочий код, как в (5), ага |
|||
19
kosts
11.03.15
✎
08:08
|
Зачем усложнять, вот в самый раз:
Запись в одну строчку можно, но чревато. Из-за невнимательности можно испортить значение переменной отказ. Вот так скорее всего не правильно
Вот так более менее, но как сказал можно забыться и написать не правильно
Потому, что на входе в процедуру переменная Отказ уже может быть Истиной, а мы это испортим. |
|||
20
Gray776
11.03.15
✎
08:13
|
(19) То есть "уже быть истинной" интересно же.
Хотя напишу с условием код короче или из (5) или (19) главное чтоб правильно работало :)))) |
|||
21
Gray776
11.03.15
✎
08:15
|
(15) Да там вообще "бред" наличие этой галочки вообще... Хоть горком бы ее обозвали но так требовал заказчик насколько я понимаю...
|
|||
22
Gray776
11.03.15
✎
08:15
|
(21) *хоть горшком
|
|||
23
Gray776
11.03.15
✎
08:20
|
ИТОГ:
Если (Источник.Испорчена) ИЛИ (НЕ (Источник.Проведен)) Тогда Отказ = Истина; КонецЕсли; |
|||
24
Ненавижу 1С
гуру
11.03.15
✎
08:41
|
(23) в одну строчку так:
Отказ = Отказ ИЛИ (Источник.Испорчена) ИЛИ (НЕ Источник.Проведен); |
|||
25
Ёпрст
11.03.15
✎
09:21
|
Отказ = Отказ ИЛИ Источник.Испорчена И Источник.Проведен
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |