7.7 Обработка смены графика работы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем schoolboy, 28 янв 2009.

  1. TopicStarter Overlay
    schoolboy
    Offline

    schoolboy

    Регистрация:
    14 окт 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Код:
    Процедура Выполнить()
    Спр = СоздатьОбъект("Справочник.Сотрудники");  
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
    спр.ТекущийЭлемент().ГрафикРаботы.ОсновныеЧасы
    КонецЦикла;
    КонецПроцедуры
    
    помогите :unsure: хочу сделать обработку, которая быдет менять у сотрудника календарь, по которому он работает....
  2. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    ну вроде граффик - периодический реквизит ,
    спр.ТекущийЭлемент().ГрафикРаботы.Установить(<новый граффик>);
  3. TopicStarter Overlay
    schoolboy
    Offline

    schoolboy

    Регистрация:
    14 окт 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Код:
    Процедура Выполнить()
    Спр = СоздатьОбъект("Справочник.Сотрудники");    
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
    спр.ТекущийЭлемент().ГрафикРаботы.Установить(ДатаСпр,??????);
    КонецЦикла;
    КонецПроцедуры
    
    Как теперь вытащить нужный график из справочника ГрафикРаботы????? :unsure:
  4. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    ну найди его программно, или в обработку на форму добавь реквизит тип Справочник.Граффики
    спр.ТекущийЭлемент().ГрафикРаботы.Установить(ДатаСпр,<выбраный элемент на форме обработки>);
  5. TopicStarter Overlay
    schoolboy
    Offline

    schoolboy

    Регистрация:
    14 окт 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Код:
    Процедура Выполнить()
    Спр = СоздатьОбъект("Справочник.Сотрудники");    
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Спр.ТекущийЭлемент().ГрафикРаботы.Установить(ДатаСпр,Граф);
    КонецЦикла;
    КонецПроцедуры
    
    Спр.ТекущийЭлемент().ГрафикРаботы.Установить(ДатаСпр,Граф);
    {Обработка.новыйГрафик.Форма.Модуль(5)}: Недопустимая операция
  6. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Попробуй так:

    Код:
    Пер=СоздатьОбъект("Периодический");
    Спр=СоздатьОбъект("Справочник.Сотрудники");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 Цикл
    Пер.ИспользоватьОбъект("ГрафикРаботы",Спр);
    Пер.ДатаЗнач=РабочаяДата();
    Пер.Значение=Граф; // ссылка на элемент справочника графики
    Пер.Записать();
    КонецЦикла;
    
  7. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    [warn="Внимание"]Пользуемся тегами!!!![/warn]
  8. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Какой тип у переменной "Граф"?

    и эту строку
    Код:
    Спр.ТекущийЭлемент().ГрафикРаботы.Установить(ДатаСпр,Граф);
    
    можно заменить на это
    Код:
    Спр.ГрафикРаботы.Установить(ДатаСпр,Граф);
    
  9. TopicStarter Overlay
    schoolboy
    Offline

    schoolboy

    Регистрация:
    14 окт 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    огромное спасибо alp, warder!!! все срослось, периодический объект впринципе не понадобился, просто надо было убрать текущийэлемент()

Поделиться этой страницей