![]() |
|
Запись в колонку табличной части макета | ☑ | ||
---|---|---|---|---|
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
|
И так тоже можно.
ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ""; ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ""; Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная ИЛИ ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); ИначеЕсли ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |