Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 01:38

не могу сделать условие

Автор gliokker, 04 фев 2014, 11:16

0 Пользователей и 1 гость просматривают эту тему.

gliokker

Всем привет
вот с чем столкнулся
кусок модуля
Для Каждого ТекСотрудник Из мсвСотрудники Цикл
      // Однодневный ПЛ - линия
      Если ДатаВозвращения - ДатаВыезда <= 86400 Тогда
         // Формируем движение табеля по времени работы на линии
         Если НачалоДня(ДатаВыезда) = НачалоДня(ДатаВозвращения) Тогда // период ПЛ находится полностью в одном дне
            ВремяРаботы = ДатаВозвращения - ДатаВыезда;
            Простой = Документы.уатПутевойЛист.РасчетПростоевНаДень(ДатаВыезда, ЭтотОбъект);
            Если Не ЗначениеЗаполнено(РежимРаботыТС) Тогда
               ВремяРаботы = ВремяРаботы - ?(ВремяРаботы >= мВремяДоОбеда, мПродолжительностьОбеда,0);      
            Иначе
               мОбед = Документы.уатПутевойЛист.ВремяОбедаПоРежимуРаботы(ДатаВыезда, ДатаВозвращения, РежимРаботыТС);
               ВремяРаботы = ВремяРаботы - ?(ВремяРаботы >= мОбед, мОбед, 0);      
            КонецЕсли;
         
            Если
            ВремяРаботы = ВремяРаботы - Простой;
            КонецЕсли;
            Если ВремяРаботы > 0 Тогда
               НоваяСтрока = ФактическиОтработанноеВремя.Добавить();
               НоваяСтрока.Дата = НачалоДня(ДатаВыезда);
               НоваяСтрока.Сотрудник = ТекСотрудник;
               НоваяСтрока.ВремяДневное = ВремяРаботы;
            КонецЕсли;
Меня интересует вот это
   ВремяРаботы = ВремяРаботы - Простой;
Время работы это есть фактически отработанное время водителя, у нас если есть простой то программа всегда отнимает это от времени работы,но если машина простояла под погрузкой то это простоем не считается и фактическое отработанное время не должно учитывать простой
Есть справочник в котором на форме элемемента имеется 2 галочки
ОплатаВодителю,ОплатаКлиенту
Я хотел написать условие
такого типа
Если галочкаОплатаВодителю и Перечисления.Ссылка.уатВидыСостояния.Простои
тогда ВремяРаботы = ВремяРаботы
иначе
ВремяРаботы = ВремяРаботы - Простой;
Подскажите как мне это написать,не могу обратится к форме справочника.

mixqn

форма управляемая или обычная?

gliokker

Цитата: mixqn от 04 фев 2014, 11:20
форма управляемая или обычная?
обычная

wise

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

gliokker

Цитата: wise от 04 фев 2014, 13:02
(2)ЭтаФорма.
Да уж
Добавлено: 05 фев 2014, 15:07


возвращаюсь к поставленному вопросу
вот кусок кода
  Сост=Справочники.уатСостояниеТС;
            Если Сост.ВидСостояния = Перечисления.уатВидыСостоянийТС.ВПростое  И Сост.ОплатаВодителю = Истина
               тогда
              ВремяРаботы = ВремяРаботы;
            Иначе
            ВремяРаботы = ВремяРаботы - Простой;
            КонецЕсли;   
Вот это наше условие
Пишет ошибку что поле ВидСостояния  не обнаружен
Это поле реквизит справочника уатСостояниеТС с типом ПеречислениеСсылка.уатВидыСостоянийТС так же
ОплатаВодителю  тоже реквизит этого же справочника с типом булево. Подскажите что я делаю неправильно?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск