Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
&НаСервере
Процедура ЗагрузитьПринятыхНаСервере()
Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
Если Пользователь = "Иванов Иван Юрьевич" ИЛИ Пользователь = "Пупкин Иван Дмитриевич" Тогда
Если ЭтотОбъект.Программа.Пустая() Тогда
Сообщить("Выберите программу");
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник
|ИЗ
| РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
|ГДЕ
| ТекущиеКадровыеДанныеСотрудников.ДатаПриема <> &ДатаУвольнения
| И ТекущиеКадровыеДанныеСотрудников.ДатаПриема МЕЖДУ &Дата1 И &Дата2
| И ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения = &ДатаУвольнения";
Запрос.УстановитьПараметр("Дата1", ЭтотОбъект.Дата1);
Запрос.УстановитьПараметр("Дата2", ЭтотОбъект.Дата2);
Запрос.УстановитьПараметр("ДатаУвольнения", Дата(1,1,1));
ТЗРезультатов = Запрос.Выполнить().Выгрузить();
Для Каждого ТекСтрока Из ТЗРезультатов Цикл
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОбучениеПоОхранеТрудаОценкаПерсонала.Сотрудник КАК Сотрудник,
| ОбучениеПоОхранеТрудаОценкаПерсонала.Программа КАК Программа,
| ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный КАК Ответственный
|ИЗ
| РегистрСведений.ОбучениеПоОхранеТрудаОценкаПерсонала КАК ОбучениеПоОхранеТрудаОценкаПерсонала
|ГДЕ
| (ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный.Наименование = &Ответственный ИЛИ ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный.Наименование = &Ответственный1)
| И ОбучениеПоОхранеТрудаОценкаПерсонала.Программа = &Программа
| И ОбучениеПоОхранеТрудаОценкаПерсонала.Сотрудник = &Сотрудник";
Запрос.УстановитьПараметр("Ответственный", "Иванов Иван Юрьевич");
Запрос.УстановитьПараметр("Ответственный1", "Пупкин Иван Дмитриевич");
Запрос.УстановитьПараметр("Программа", ЭтотОбъект.Программа);
Запрос.УстановитьПараметр("Сотрудник", ТекСтрока.Сотрудник);
Работники = Запрос.Выполнить().Выгрузить();
Если Работники.Количество()>0 Тогда
Иначе
МенеджерЗаписи = РегистрыСведений.ОбучениеПоОхранеТрудаОценкаПерсонала.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Сотрудник = ТекСтрока.Сотрудник;
//МенеджерЗаписи.Программа = ЭтотОбъект.Программа;
МенеджерЗаписи.Ответственный = Справочники.Пользователи.НайтиПоНаименованию(Пользователь);
Попытка
МенеджерЗаписи.Записать(Ложь);
Сообщить("Добавлен сотрудник " + ТекСтрока.Сотрудник);
Исключение
Сообщить("Сотрудник " + ТекСтрока.Сотрудник + " был ранее добавлен");
КонецПопытки;
КонецЕсли;
КонецЦикла;
Иначе
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
|ГДЕ
| КадроваяИсторияСотрудников.ВидСобытия = &ВидСобытия
| И КадроваяИсторияСотрудников.Период МЕЖДУ &Дата1 И &Дата2
| И КадроваяИсторияСотрудников.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)";
Запрос.УстановитьПараметр("Дата1", НачалоДня(ЭтотОбъект.Дата1));
Запрос.УстановитьПараметр("Дата2", КонецДня(ЭтотОбъект.Дата2));
Запрос.УстановитьПараметр("ВидСобытия",Перечисления.ВидыКадровыхСобытий.Прием);
ТЗРезультатов = Запрос.Выполнить().Выгрузить();
Для Каждого ТекСтрока Из ТЗРезультатов Цикл
МенеджерЗаписи = РегистрыСведений.ОбучениеПоОхранеТрудаОценкаПерсонала.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Сотрудник = ТекСтрока.Сотрудник;
МенеджерЗаписи.Программа = ЭтотОбъект.Программа;
МенеджерЗаписи.Ответственный = Справочники.Пользователи.НайтиПоНаименованию(Пользователь);
Попытка
МенеджерЗаписи.Записать(Ложь);
Сообщить("Добавлен сотрудник " + ТекСтрока.Сотрудник);
Исключение
Сообщить("Сотрудник " + ТекСтрока.Сотрудник + " был ранее добавлен");
КонецПопытки;
КонецЦикла;
Перешел из франча на фиксу на заводе, зашел в код, а там такая пизда творится, причем это только верх той хуйни которую я тут вижу.
Код по кнопке заполняет регистр сотрудниками у которых дата приема на работу между выбранными датами
Но русский язык не самый подходящий для этого. Придётся как-то падежи и т.п. обрабатывать. Иначе код будет звучать как речь гостей из ближнего зарубежья.
В языках «APL» и «J» есть термины «глагол», «имя существительное», «наречие», «союз», «знак препинания». Правда, рассчитаны они на английскую грамматику... Да и с порядком слов в «J» всё равно плохо.
а
а
было бы
Но русский язык не самый подходящий для этого. Придётся как-то падежи и т.п. обрабатывать. Иначе код будет звучать как речь гостей из ближнего зарубежья.