Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 мая 2022, 11:30

Заполнение графика работы сотрудников - 2 через 2

Автор Dimon777, 24 авг 2013, 11:15

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

Dimon777

Здравствуйте!
делаю обработку график сотрудников.  они сторожат два через два.
вот я на форме создал два поля заполнения сотрудников, т.е. где выбираются два сотрудника и период С и ПО какое число мне нужно заполнить. Ниже вывел регистр сведений как таблица, там у меня Дата и Сотрудник , т.е вывод когда кто работает.
проблема возникла в обработке заполнения, создал кнопку заполнить на форме и теперь мне надо прописать как заполнять, вот тут я и застрял... незнаю что дальше делать... как сделать так чтобы два через два было...  раньше никогда не делал просто график работы , подскажите пожалуйста.

Dimon777


Здравствуйте!
делаю обработку график сотрудников.  они сторожат два через два.
вот я на форме создал два поля заполнения сотрудников, т.е. где выбираются два сотрудника и период С и ПО какое число мне нужно заполнить. Ниже вывел регистр сведений как таблица, там у меня Дата и Сотрудник , т.е вывод когда кто работает.
проблема возникла в обработке заполнения, создал кнопку заполнить на форме и теперь мне надо прописать как заполнять, вот тут я и застрял... незнаю что дальше делать... как сделать так чтобы два через два было...  раньше никогда не делал просто график работы , подскажите пожалуйста.
вот что я написал
Процедура ЗаполнитьНажатие(Элемент)
Набор = РегистрыСведений.ГрафикиРаботы.СоздатьНаборЗаписей();
ЧислоСекундВСутках = 86400;
    Дат = ДатаНачала;
Сч = 1;
Пока Дат <= ДатаОкончания Цикл
Запись = Набор.Добавить();
Запись.Дата = Дат;

Если Сч <= 2 Тогда
Запись.Дни = 24;
Иначе
Запись.Дни = 0;
КонецЕсли;
Сч = Сч + 1;
Сч = ?(Сч = 5, 1, Сч);
Дат = Дат + ЧислоСекундВСутках;
КонецЦикла;
Набор.Записать();


но что то ничего не заполняет...

Besart

посмотрите как сделана обработка заполнение графика в Каркасная конфигурация для сдачи экзамена "1С:Специалист" по платформе "1С:Предприятие 8" и доработайте ее

Dimon777

смотрел(( вот и не получается что-то....
Добавлено: 25 авг 2013, 15:29


помогите пожалуйста( а то что-то совсем у меня ничего не выводит (
Добавлено: 25 авг 2013, 17:04


вот код который я написал, но почему то обработка не заполняет, только создает пустое поле одно, видимо перебор не идет и не записывает данные... подскажите пожалуйста что не так ????

Процедура ЗаполнитьНажатие(ДатаНачала,ДатаОкончания)
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
| ГрафикиРаботы.Дата,
| ГрафикиРаботы.Сотрудник
|ИЗ
| РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы";


Набор = РегистрыСведений.ГрафикиРаботы.СоздатьНаборЗаписей();

        Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();

ЧислоСекундВСутках = 86400;
Дат = ДатаНачала;
Сч = 1;

СтруктураПоиска = Новый Структура("Дата");

СтруктураПоиска.Вставить("Дата",Дат);
 
Если ВыборкаДетальныеЗаписи.НайтиСледующий(СтруктураПоиска) Тогда
НЗ = РегистрыСведений.ГрафикиРаботы.СоздатьНаборЗаписей();
НЗ.Отбор.Дата.Установить(Дат);
//НЗ.Отбор.ВидГрафикаРаботы.Установить(ВидГрафикаРаботы);
НЗ.Прочитать();
Для каждого ТекЗапись Из НЗ Цикл
   
  ТекЗапись.Значение = Сред(Сч,1);
   
КонецЦикла;
НЗ.Записать();
Иначе
МЗ = РегистрыСведений.ГрафикиРаботы.СоздатьМенеджерЗаписи();
//МЗ.ВидГрафикаРаботы = ВидГрафикаРаботы;
МЗ.Дата = Дат;
  МЗ.Записать();
КонецЕсли;
 

Сч = Сч + 1;
 
  КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск