ЗАНЯТИЕ 108. ТАБЕЛЬ. ЧАСТЬ 1. ДОКУМЕНТ (СПР). ПОДГОТОВКА К СПЕЦИАЛИСТУ ПО ПЛАТФОРМЕ 1С

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии •

  • @GoatChill
    @GoatChill 2 года назад +6

    Отрывок из условия задачи: "а на пересечении сотрудника и дня месяца ОДИН ИЗ ТРЕХ ВАРИАНТОВ вариантов: «8», «8К» либо пустое поле". Значит можно просто проверку на эти три значения сделать и все, и не париться какие другие значения может ввести пользователь

  • @lifejoker4120
    @lifejoker4120 11 месяцев назад

    Добрый день.
    В данной конструкции при проведении документа Табель Отказ = Истина после Продолжить; Соответственно документ в отказ не уйдет при некорректном вводе данных.
    Исключение
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = СтрШаблон("Некорректный ввод данных (строка %1, день %2)", Строка.НомерСтроки, НомерДня);
    Сообщение.Сообщить();
    Продолжить;
    Отказ = Истина;
    КонецПопытки;

  • @Ekaterina-ez2kg
    @Ekaterina-ez2kg 6 месяцев назад

    все понятно

  • @АйТи-г6п
    @АйТи-г6п 6 месяцев назад +1

    Это 7 билет СПР

  • @gerodoth
    @gerodoth 3 года назад +3

    обычно заведение справочника обосновывают тем что если хранить строки то мол опечататься можно, а тут выходит что в док пишем строки а потом их парсить чтобы достать значения справочника, вообще не логично. тогда в табеле нужно чтобы вид времени выбирался.

    • @IlyaLeontyev
      @IlyaLeontyev  3 года назад

      Я считаю, что все логично.
      Вид времени в табеле делать не надо - в задании представлен скриншот документа, и наш документ должен ему соответствовать.

    • @PupaVaskin
      @PupaVaskin 3 года назад +3

      @@IlyaLeontyev Создаем в справочнике элементы "8" и "8К" и все как на картинке.

  • @kirameka
    @kirameka Год назад

    Видела решение, где проверяется если день командировки суббота или воскресенье, то в регистр идет 0 часов, иначе - 8

  • @PupaVaskin
    @PupaVaskin 3 года назад +1

    Спасибо за стрим, весьма познавательно.
    Все-таки имеет смысл создать справочник ЗначенияТабеля в котором указывать виды работы и цифровые значения часов. А вот плодить сущности не стоит, ВидыРабочегоВремени это по сути начисления, их и стоит указывать в РН. Если так сделать, то цикл в обработке проведения мог бы выглядеть как-то так:
    Для Каждого Строка Из ДанныеТабеля Цикл
    Для НомерДня = 1 По День(КонецМесяца(Дата)) Цикл
    Если ЗначениеЗаполнено(Строка["День" + НомерДня]) Тогда
    Движение = Движения.ОтработанноеВремяСотрудников.Добавить();
    Движение.Период = НачалоМесяца + (НомерДня - 1) * СекундВДне;
    Движение.Сотрудник = Строка.Сотрудник;
    Движение.Подразделение = Подразделение;
    Движение.ВидРабочегоВремени = Строка["День" + НомерДня].ВидРабочегоВремени;
    Движение.ЗначениеЧасов = Строка["День" + НомерДня].ЗначениеЧасов;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;

  • @ВикторХабаров-х9м
    @ВикторХабаров-х9м 7 месяцев назад

    всем привет)

  • @СергейП-к2л
    @СергейП-к2л 3 года назад +2

    Илья, почему ПоследнийДеньМесяца = День(КонецМесяца(Дата)) определяется в цикле по Строкам!? Разве нельзя это сделать до циклов вообще!?

    • @IlyaLeontyev
      @IlyaLeontyev  3 года назад +4

      Ну ты же понимаешь, что можно )
      Ошибся я.