- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
&НаСервере
Процедура ЗагрузитьПринятыхНаСервере()
Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
Если Пользователь = "Иванов Иван Юрьевич" ИЛИ Пользователь = "Пупкин Иван Дмитриевич" Тогда
Если ЭтотОбъект.Программа.Пустая() Тогда
Сообщить("Выберите программу");
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник
|ИЗ
| РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
|ГДЕ
| ТекущиеКадровыеДанныеСотрудников.ДатаПриема <> &ДатаУвольнения
| И ТекущиеКадровыеДанныеСотрудников.ДатаПриема МЕЖДУ &Дата1 И &Дата2
| И ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения = &ДатаУвольнения";
Запрос.УстановитьПараметр("Дата1", ЭтотОбъект.Дата1);
Запрос.УстановитьПараметр("Дата2", ЭтотОбъект.Дата2);
Запрос.УстановитьПараметр("ДатаУвольнения", Дата(1,1,1));
ТЗРезультатов = Запрос.Выполнить().Выгрузить();
Для Каждого ТекСтрока Из ТЗРезультатов Цикл
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОбучениеПоОхранеТрудаОценкаПерсонала.Сотрудник КАК Сотрудник,
| ОбучениеПоОхранеТрудаОценкаПерсонала.Программа КАК Программа,
| ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный КАК Ответственный
|ИЗ
| РегистрСведений.ОбучениеПоОхранеТрудаОценкаПерсонала КАК ОбучениеПоОхранеТрудаОценкаПерсонала
|ГДЕ
| (ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный.Наименование = &Ответственный ИЛИ ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный.Наименование = &Ответственный1)
| И ОбучениеПоОхранеТрудаОценкаПерсонала.Программа = &Программа
| И ОбучениеПоОхранеТрудаОценкаПерсонала.Сотрудник = &Сотрудник";
Запрос.УстановитьПараметр("Ответственный", "Иванов Иван Юрьевич");
Запрос.УстановитьПараметр("Ответственный1", "Пупкин Иван Дмитриевич");
Запрос.УстановитьПараметр("Программа", ЭтотОбъект.Программа);
Запрос.УстановитьПараметр("Сотрудник", ТекСтрока.Сотрудник);
Работники = Запрос.Выполнить().Выгрузить();
Если Работники.Количество()>0 Тогда
Иначе
МенеджерЗаписи = РегистрыСведений.ОбучениеПоОхранеТрудаОценкаПерсонала.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Сотрудник = ТекСтрока.Сотрудник;
//МенеджерЗаписи.Программа = ЭтотОбъект.Программа;
МенеджерЗаписи.Ответственный = Справочники.Пользователи.НайтиПоНаименованию(Пользователь);
Попытка
МенеджерЗаписи.Записать(Ложь);
Сообщить("Добавлен сотрудник " + ТекСтрока.Сотрудник);
Исключение
Сообщить("Сотрудник " + ТекСтрока.Сотрудник + " был ранее добавлен");
КонецПопытки;
КонецЕсли;
КонецЦикла;
Иначе
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
|ГДЕ
| КадроваяИсторияСотрудников.ВидСобытия = &ВидСобытия
| И КадроваяИсторияСотрудников.Период МЕЖДУ &Дата1 И &Дата2
| И КадроваяИсторияСотрудников.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)";
Запрос.УстановитьПараметр("Дата1", НачалоДня(ЭтотОбъект.Дата1));
Запрос.УстановитьПараметр("Дата2", КонецДня(ЭтотОбъект.Дата2));
Запрос.УстановитьПараметр("ВидСобытия",Перечисления.ВидыКадровыхСобытий.Прием);
ТЗРезультатов = Запрос.Выполнить().Выгрузить();
Для Каждого ТекСтрока Из ТЗРезультатов Цикл
МенеджерЗаписи = РегистрыСведений.ОбучениеПоОхранеТрудаОценкаПерсонала.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Сотрудник = ТекСтрока.Сотрудник;
МенеджерЗаписи.Программа = ЭтотОбъект.Программа;
МенеджерЗаписи.Ответственный = Справочники.Пользователи.НайтиПоНаименованию(Пользователь);
Попытка
МенеджерЗаписи.Записать(Ложь);
Сообщить("Добавлен сотрудник " + ТекСтрока.Сотрудник);
Исключение
Сообщить("Сотрудник " + ТекСтрока.Сотрудник + " был ранее добавлен");
КонецПопытки;
КонецЦикла;
Перешел из франча на фиксу на заводе, зашел в код, а там такая пизда творится, причем это только верх той хуйни которую я тут вижу.
Код по кнопке заполняет регистр сотрудниками у которых дата приема на работу между выбранными датами
rotoeb 13.10.2021 09:31 # +1830
3oJIoTou_xyu 13.10.2021 09:42 # +1234
ASD_77 13.10.2021 11:33 # +300
а
ASD_77 13.10.2021 11:35 # +300
а
ASD_77 13.10.2021 11:36 # +300
было бы
bormand 13.10.2021 11:38 # +301
Но русский язык не самый подходящий для этого. Придётся как-то падежи и т.п. обрабатывать. Иначе код будет звучать как речь гостей из ближнего зарубежья.
rotoeb 13.10.2021 11:39 # +300
Okm9I6PbCKuu_nemyx 13.10.2021 15:54 # +300