|   |   | 
| 
 | Запись в колонку табличной части макета | ☑ | ||
|---|---|---|---|---|
| 0
    
        bfss-732 21.09.20✎ 13:50 | 
        Привет всем!
 Есть условие: Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная или ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); ИначеЕсли ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); КонецЕсли; Оно записывает значения в разные две колонки в макет. Проблема в том, что когда любое из условий становится Ложью (т.е. надо оставить в макете пустую ячейку), все равно заполняется предыдущим значением до тех пор, пока условие не появляется Истино для этой колонки и значение меняется, т.е. должно заполняться одним значением, в любой из колонок. Как правильно написать условие, чтоб не заполнялось предыдущими значениями? | |||
| 1
    
        RomanYS 21.09.20✎ 13:54 | 
        (0) >> Как правильно написать условие, чтоб не заполнялось предыдущими значениями?
 Правильно их очищать или заполнять явно все в т.ч. пустыми и нулевыми значениями | |||
| 2
    
        bfss-732 21.09.20✎ 13:56 | 
        (1) Получается лучше сделать два "Если", в одном если выполняестя идет запись, если нет, очищаем? В другом если тоже самое     | |||
| 3
    
        Serg_1960 21.09.20✎ 13:58 | 
        Скорее всего автор, получив однажды из макета область, не очищает параметры перед их последующим использованием.     | |||
| 4
    
        bfss-732 21.09.20✎ 13:59 | 
        (1) Да, спасибо! Вопрос снят!
 (3) Не хочу штатное расписание переделать, хочеться чутка залезть, не ломая | |||
| 5
    
        bfss-732 21.09.20✎ 14:01 | 
        (1) Маленький вопрос. Как это в моем случае заполнить явно?     | |||
| 6
    
        Serg_1960 21.09.20✎ 14:02 | 
        (4) Тогда так (если я правильно понял проблему автора):
 Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная или ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = 0; ИначеЕсли ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = 0; Иначе ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = 0; ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = 0; КонецЕсли; | |||
| 7
    
        bfss-732 21.09.20✎ 14:04 | 
        (6) Я сделал по другому:
 Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная или ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); Иначе ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ""; КонецЕсли; ...................................... Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); Иначе ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ""; КонецЕсли; | |||
| 8
    
        Serg_1960 21.09.20✎ 14:09 | 
        И так тоже можно.
 ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ""; ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ""; Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная ИЛИ ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); ИначеЕсли ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); КонецЕсли; | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |