Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запись в колонку табличной части макета

Запись в колонку табличной части макета
Я
   bfss-732
 
21.09.20 - 13:50
Привет всем!
Есть условие:
Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная
                            или ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда
    ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
ИначеЕсли  ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда
        ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
КонецЕсли;

Оно записывает значения в разные две колонки в макет. Проблема в том, что когда любое из условий становится Ложью (т.е. надо оставить в макете пустую ячейку), все равно заполняется предыдущим значением до тех пор, пока условие не появляется Истино для этой колонки и значение меняется, т.е. должно заполняться одним значением, в любой из колонок.
Как правильно написать условие, чтоб не заполнялось предыдущими значениями?
   RomanYS
 
1 - 21.09.20 - 13:54
(0) >> Как правильно написать условие, чтоб не заполнялось предыдущими значениями?
Правильно их очищать или заполнять явно все в т.ч. пустыми и нулевыми значениями
   bfss-732
 
2 - 21.09.20 - 13:56
(1) Получается лучше сделать два "Если", в одном если выполняестя идет запись, если нет, очищаем? В другом если тоже самое
   Serg_1960
 
3 - 21.09.20 - 13:58
Скорее всего автор, получив однажды из макета область, не очищает параметры перед их последующим использованием.
   bfss-732
 
4 - 21.09.20 - 13:59
(1) Да, спасибо! Вопрос снят!
(3) Не хочу штатное расписание переделать, хочеться чутка залезть, не ломая
   bfss-732
 
5 - 21.09.20 - 14:01
(1) Маленький вопрос. Как это в моем случае заполнить явно?
   Serg_1960
 
6 - 21.09.20 - 14:02
(4) Тогда так (если я правильно понял проблему автора):

Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная
                            или ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = 0;
ИначеЕсли  ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = 0;
Иначе
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = 0;
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = 0;
КонецЕсли;
   bfss-732
 
7 - 21.09.20 - 14:04
(6) Я сделал по другому:
Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная 
                            или ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда
       ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
                        
Иначе
    ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = "";
КонецЕсли;
    
......................................                        
Если  ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда
    ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
Иначе
    ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = "";
КонецЕсли;
   Serg_1960
 
8 - 21.09.20 - 14:09
И так тоже можно.
ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = "";
ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = "";
Если ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Месячная 
      ИЛИ ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Дневная Тогда
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавка = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
ИначеЕсли ВыборкаСтрокШтРасписанияНадбавка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.Часовая Тогда
   ОбластьСтрокаДоНадбавок.Параметры.ОкладТарифнаяСтавкаЧасовая = ПолучитьСтрокуИзДвухЧисел(МинСт, МаксСт);
КонецЕсли;

Список тем форума
Рекламное место пустует  Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.