|   |   | 
| 
 | Вопрос по логике (условие) | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Отказ = Отказ ИЛИ Источник.Испорчена И Источник.Проведен     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |