MVP для отображения уже загруженных табелей
This commit is contained in:
+345
-7
@@ -232,14 +232,14 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Функция СтраницаФормыПоСтатьеФинансирования(АнализируемаяСтатьяФинансирования)
|
Функция СтраницаФормыПоСтатьеФинансирования(АнализируемаяСтатьяФинансирования)
|
||||||
Если АнализируемаяСтатьяФинансирования = СтатьяФинансированияСГЗ Тогда
|
Если АнализируемаяСтатьяФинансирования = СтатьяФинансированияСГЗ Тогда
|
||||||
Возврат Элементы.ГруппаСтраницаТабельСГЗ
|
Возврат Элементы.ГруппаСтраницаТабельСГЗ;
|
||||||
ИначеЕсли АнализируемаяСтатьяФинансирования = СтатьяФинансированияПД Тогда
|
ИначеЕсли АнализируемаяСтатьяФинансирования = СтатьяФинансированияПД Тогда
|
||||||
Возврат Элементы.ГруппаСтраницаТабельПД
|
Возврат Элементы.ГруппаСтраницаТабельПД;
|
||||||
ИначеЕсли АнализируемаяСтатьяФинансирования = СтатьяФинансированияОМС Тогда
|
ИначеЕсли АнализируемаяСтатьяФинансирования = СтатьяФинансированияОМС Тогда
|
||||||
Возврат Элементы.ГруппаСтраницаТабельОМС
|
Возврат Элементы.ГруппаСтраницаТабельОМС;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Возврат "";
|
Возврат Элементы.ГруппаСтраницаТабельСГЗ;
|
||||||
КонецФункции // ИмяТабличнойЧастиПоИсточникуФинансировани я()
|
КонецФункции
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Функция ЗаписатьКоличествоСотрудниковПоСтатьеФинансирования(АнализируемаяСтатьяФинансирования)
|
Функция ЗаписатьКоличествоСотрудниковПоСтатьеФинансирования(АнализируемаяСтатьяФинансирования)
|
||||||
@@ -573,6 +573,9 @@
|
|||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Асинх Процедура КомандаОткрыть(Команда)
|
Асинх Процедура КомандаОткрыть(Команда)
|
||||||
|
// Перед открытием файла очищаем форму от данных предыдущей загрузки,
|
||||||
|
// чтобы при ошибке формата Excel пользователь увидел чистую форму.
|
||||||
|
НачатьСначала(Неопределено);
|
||||||
//Если ЗначениеЗаполнено(Объект.ДатаЗагрузки) Тогда
|
//Если ЗначениеЗаполнено(Объект.ДатаЗагрузки) Тогда
|
||||||
Режим = РежимДиалогаВыбораФайла.Открытие;
|
Режим = РежимДиалогаВыбораФайла.Открытие;
|
||||||
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
|
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
|
||||||
@@ -3549,12 +3552,346 @@
|
|||||||
ИЛИ Объект.ТабличнаяЧастьОМС.Количество() > 0;
|
ИЛИ Объект.ТабличнаяЧастьОМС.Количество() > 0;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Заглушка Прохода А. Полная реализация заполнения ТЧ будет в Проходе Б.
|
// Проход Б: полная обратная загрузка данных табеля в табличные части формы.
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Асинх Процедура ЗагрузитьДанныеТабеляВФорму(СсылкаНаТабель)
|
Асинх Процедура ЗагрузитьДанныеТабеляВФорму(СсылкаНаТабель)
|
||||||
Ждать ОткрытьЗначениеАсинх(СсылкаНаТабель);
|
Ждать ЗаполнитьТабличныеЧастиИзТабеляНаСервере(СсылкаНаТабель);
|
||||||
|
|
||||||
|
ОпределитьВидимостьСтраниц();
|
||||||
|
|
||||||
|
Если Объект.ТабличнаяЧастьСГЗ.Количество() > 0 Тогда
|
||||||
|
ТекущаяСтатьяФинансирования = СтатьяФинансированияСГЗ;
|
||||||
|
ИначеЕсли Объект.ТабличнаяЧастьПД.Количество() > 0 Тогда
|
||||||
|
ТекущаяСтатьяФинансирования = СтатьяФинансированияПД;
|
||||||
|
ИначеЕсли Объект.ТабличнаяЧастьОМС.Количество() > 0 Тогда
|
||||||
|
ТекущаяСтатьяФинансирования = СтатьяФинансированияОМС;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Элементы.ГруппаСтраницы.ТекущаяСтраница = СтраницаФормыПоСтатьеФинансирования(ТекущаяСтатьяФинансирования);
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ЗаполнитьТабличныеЧастиИзТабеляНаСервере(СсылкаНаТабель)
|
||||||
|
Если НЕ ЗначениеЗаполнено(СсылкаНаТабель) Тогда
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТабельОбъект = СсылкаНаТабель.ПолучитьОбъект();
|
||||||
|
Если ТабельОбъект = Неопределено Тогда
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Формируем выборку по (Сотрудник, Финансирование, День).
|
||||||
|
ДанныеПоСотрудникам = Новый Соответствие;
|
||||||
|
|
||||||
|
Для Каждого СтрокаТЧ Из ТабельОбъект.ДанныеОВремени Цикл
|
||||||
|
Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Сотрудник) Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для НомерДня = 1 По 31 Цикл
|
||||||
|
ВидВремени = СтрокаТЧ["ВидВремени" + НомерДня];
|
||||||
|
Если НЕ ЗначениеЗаполнено(ВидВремени) Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
Часы = СтрокаТЧ["Часов" + НомерДня];
|
||||||
|
|
||||||
|
Финансирование = ФинансированиеПоВидуВремени(ВидВремени);
|
||||||
|
Если Финансирование = Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Сотрудники = ДанныеПоСотрудникам[СтрокаТЧ.Сотрудник];
|
||||||
|
Если Сотрудники = Неопределено Тогда
|
||||||
|
Сотрудники = Новый Соответствие;
|
||||||
|
ДанныеПоСотрудникам.Вставить(СтрокаТЧ.Сотрудник, Сотрудники);
|
||||||
|
КонецЕсли;
|
||||||
|
ПоФинансированию = Сотрудники[Финансирование];
|
||||||
|
Если ПоФинансированию = Неопределено Тогда
|
||||||
|
ПоФинансированию = Новый Соответствие;
|
||||||
|
Сотрудники.Вставить(Финансирование, ПоФинансированию);
|
||||||
|
КонецЕсли;
|
||||||
|
ПоДню = ПоФинансированию[НомерДня];
|
||||||
|
Если ПоДню = Неопределено Тогда
|
||||||
|
ПоДню = Новый Массив;
|
||||||
|
ПоФинансированию.Вставить(НомерДня, ПоДню);
|
||||||
|
КонецЕсли;
|
||||||
|
ЗаписьДня = Новый Структура("ВидВремени, Часы", ВидВремени, Часы);
|
||||||
|
ПоДню.Добавить(ЗаписьДня);
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
// Прямо заполняем ТЧ объекта обработки.
|
||||||
|
Объект.ТабличнаяЧастьСГЗ.Очистить();
|
||||||
|
Объект.ТабличнаяЧастьПД.Очистить();
|
||||||
|
Объект.ТабличнаяЧастьОМС.Очистить();
|
||||||
|
|
||||||
|
Для Каждого КЗ_Сотрудник Из ДанныеПоСотрудникам Цикл
|
||||||
|
Сотрудник = КЗ_Сотрудник.Ключ;
|
||||||
|
ДанныеСотрудника = КЗ_Сотрудник.Значение;
|
||||||
|
|
||||||
|
Для Каждого КЗ_Фин Из ДанныеСотрудника Цикл
|
||||||
|
Финансирование = КЗ_Фин.Ключ;
|
||||||
|
ДанныеПоДням = КЗ_Фин.Значение;
|
||||||
|
|
||||||
|
ТЧ = Объект["ТабличнаяЧасть" + Финансирование];
|
||||||
|
|
||||||
|
СтрокаОсновная = ТЧ.Добавить();
|
||||||
|
СтрокаОсновная.Сотрудник = Сотрудник;
|
||||||
|
СтрокаОсновная.ТабельныйНомер = Сотрудник.Код;
|
||||||
|
|
||||||
|
СтрокаНочные = ТЧ.Добавить();
|
||||||
|
СтрокаНочные.Сотрудник = Сотрудник;
|
||||||
|
СтрокаНочные.ТабельныйНомер = Сотрудник.Код;
|
||||||
|
|
||||||
|
СтрокаСверхурочные = ТЧ.Добавить();
|
||||||
|
СтрокаСверхурочные.Сотрудник = Сотрудник;
|
||||||
|
СтрокаСверхурочные.ТабельныйНомер = Сотрудник.Код;
|
||||||
|
|
||||||
|
Для НомерДня = 1 По 31 Цикл
|
||||||
|
ЗаписиДня = ДанныеПоДням[НомерДня];
|
||||||
|
Если ЗаписиДня = Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Классификация = КлассифицироватьДень(ЗаписиДня);
|
||||||
|
|
||||||
|
Если Классификация.Основная <> Неопределено Тогда
|
||||||
|
СтрокаОсновная["Часов" + НомерДня] = Классификация.Основная.Часы;
|
||||||
|
СтрокаОсновная["Время" + НомерДня + "Буква"] = Классификация.Основная.Буква;
|
||||||
|
СтрокаОсновная["ВидВремени" + НомерДня] = Классификация.Основная.ВидВремени;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Классификация.Ночные <> Неопределено Тогда
|
||||||
|
СтрокаНочные["Часов" + НомерДня] = Классификация.Ночные.Часы;
|
||||||
|
СтрокаНочные["Время" + НомерДня + "Буква"] = Классификация.Ночные.Буква;
|
||||||
|
СтрокаНочные["ВидВремени" + НомерДня] = Классификация.Ночные.ВидВремени;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Классификация.Сверхурочные <> Неопределено Тогда
|
||||||
|
СтрокаСверхурочные["Часов" + НомерДня] = Классификация.Сверхурочные.Часы;
|
||||||
|
СтрокаСверхурочные["Время" + НомерДня + "Буква"] = Классификация.Сверхурочные.Буква;
|
||||||
|
СтрокаСверхурочные["ВидВремени" + НомерДня] = Классификация.Сверхурочные.ВидВремени;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если СтрокаПустаяПоЧасам(СтрокаНочные) Тогда
|
||||||
|
ТЧ.Удалить(СтрокаНочные);
|
||||||
|
Иначе
|
||||||
|
СтрокаНочные.ВремяИтог = РассчитатьВремяИтог(СтрокаНочные);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если СтрокаПустаяПоЧасам(СтрокаСверхурочные) Тогда
|
||||||
|
ТЧ.Удалить(СтрокаСверхурочные);
|
||||||
|
Иначе
|
||||||
|
СтрокаСверхурочные.ВремяИтог = РассчитатьВремяИтог(СтрокаСверхурочные);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтрокаОсновная.ВремяИтог = РассчитатьВремяИтог(СтрокаОсновная);
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ФинансированиеПоВидуВремени(ВидВремени)
|
||||||
|
Если ВидВремени = ВидВремениЯвкаСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениРаботаНочныеЧасыСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиБезПовышеннойОплатыСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеБезПовышеннойОплатыСГЗ Тогда
|
||||||
|
Возврат "СГЗ";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениЯвкаПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениРаботаНочныеЧасыПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиБезПовышеннойОплатыПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеБезПовышеннойОплатыПД Тогда
|
||||||
|
Возврат "ПД";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениЯвкаОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениРаботаНочныеЧасыОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиБезПовышеннойОплатыОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеБезПовышеннойОплатыОМС Тогда
|
||||||
|
Возврат "ОМС";
|
||||||
|
Иначе
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция КлассифицироватьДень(ЗаписиДня)
|
||||||
|
Результат = Новый Структура("Основная, Ночные, Сверхурочные", Неопределено, Неопределено, Неопределено);
|
||||||
|
|
||||||
|
ЧасыПраздничных = 0;
|
||||||
|
ЧасыЯвки = 0;
|
||||||
|
ЧасыНочных = 0;
|
||||||
|
ЧасыСверхурочных = 0;
|
||||||
|
ВидВремениПраздничных = Неопределено;
|
||||||
|
ВидВремениЯвки = Неопределено;
|
||||||
|
ВидВремениНочных = Неопределено;
|
||||||
|
ВидВремениСверхурочных = Неопределено;
|
||||||
|
ПервыйНеденежный = Неопределено;
|
||||||
|
|
||||||
|
Для Каждого Запись Из ЗаписиДня Цикл
|
||||||
|
ВидВремени = Запись.ВидВремени;
|
||||||
|
Часы = Запись.Часы;
|
||||||
|
|
||||||
|
Если ВидВремениЯвкаПринадлежитФинансированию(ВидВремени) Тогда
|
||||||
|
ЧасыЯвки = ЧасыЯвки + Часы;
|
||||||
|
Если ВидВремениЯвки = Неопределено Тогда
|
||||||
|
ВидВремениЯвки = ВидВремени;
|
||||||
|
КонецЕсли;
|
||||||
|
ИначеЕсли ВидВремениПраздникиПринадлежит(ВидВремени) Тогда
|
||||||
|
ЧасыПраздничных = ЧасыПраздничных + Часы;
|
||||||
|
Если ВидВремениПраздничных = Неопределено Тогда
|
||||||
|
ВидВремениПраздничных = ВидВремени;
|
||||||
|
КонецЕсли;
|
||||||
|
ИначеЕсли ВидВремениНочныеПринадлежит(ВидВремени) Тогда
|
||||||
|
ЧасыНочных = ЧасыНочных + Часы;
|
||||||
|
Если ВидВремениНочных = Неопределено Тогда
|
||||||
|
ВидВремениНочных = ВидВремени;
|
||||||
|
КонецЕсли;
|
||||||
|
ИначеЕсли ВидВремениСверхурочныеПринадлежит(ВидВремени) Тогда
|
||||||
|
ЧасыСверхурочных = ЧасыСверхурочных + Часы;
|
||||||
|
Если ВидВремениСверхурочных = Неопределено Тогда
|
||||||
|
ВидВремениСверхурочных = ВидВремени;
|
||||||
|
КонецЕсли;
|
||||||
|
ИначеЕсли ПервыйНеденежный = Неопределено Тогда
|
||||||
|
ПервыйНеденежный = Новый Структура("Часы, Буква, ВидВремени", Часы, БукваПоВидуВремени(ВидВремени), ВидВремени);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если ЧасыПраздничных > 0 Тогда
|
||||||
|
Результат.Основная = Новый Структура("Часы, Буква, ВидВремени", ЧасыПраздничных, "РП", ВидВремениПраздничных);
|
||||||
|
ИначеЕсли ЧасыЯвки > 0 Тогда
|
||||||
|
Результат.Основная = Новый Структура("Часы, Буква, ВидВремени", ЧасыЯвки, "Ф", ВидВремениЯвки);
|
||||||
|
ИначеЕсли ПервыйНеденежный <> Неопределено Тогда
|
||||||
|
Результат.Основная = ПервыйНеденежный;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЧасыНочных > 0 Тогда
|
||||||
|
Результат.Ночные = Новый Структура("Часы, Буква, ВидВремени", ЧасыНочных, "Н", ВидВремениНочных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЧасыСверхурочных > 0 Тогда
|
||||||
|
Результат.Сверхурочные = Новый Структура("Часы, Буква, ВидВремени", ЧасыСверхурочных, "С", ВидВремениСверхурочных);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция СтрокаПустаяПоЧасам(СтрокаТЧ)
|
||||||
|
Для НомерДня = 1 По 31 Цикл
|
||||||
|
Если СтрокаТЧ["Часов" + НомерДня] > 0 Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
Возврат Истина;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ВидВремениЯвкаПринадлежитФинансированию(ВидВремени)
|
||||||
|
Возврат ВидВремени = ВидВремениЯвкаСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениЯвкаПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениЯвкаОМС;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ВидВремениПраздникиПринадлежит(ВидВремени)
|
||||||
|
Возврат ВидВремени = ВидВремениПраздникиСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиБезПовышеннойОплатыСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиБезПовышеннойОплатыПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениПраздникиБезПовышеннойОплатыОМС;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ВидВремениНочныеПринадлежит(ВидВремени)
|
||||||
|
Возврат ВидВремени = ВидВремениРаботаНочныеЧасыСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениРаботаНочныеЧасыПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениРаботаНочныеЧасыОМС;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ВидВремениСверхурочныеПринадлежит(ВидВремени)
|
||||||
|
Возврат ВидВремени = ВидВремениСверхурочныеСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеБезПовышеннойОплатыСГЗ
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеБезПовышеннойОплатыПД
|
||||||
|
ИЛИ ВидВремени = ВидВремениСверхурочныеБезПовышеннойОплатыОМС
|
||||||
|
ИЛИ ВидВремени = ВидВремениКормлениеРебенка()
|
||||||
|
ИЛИ ВидВремени = ВидВремениПовышениеКвалификации();
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция БукваПоВидуВремени(ВидВремени)
|
||||||
|
Если ВидВремени = ВидВремениБолезнь() Тогда
|
||||||
|
Возврат "Б";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениВыходныеДни() Тогда
|
||||||
|
Возврат "В";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениОсновнойОтпуск() Тогда
|
||||||
|
Возврат "О";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениДополнительныйОтпуск() Тогда
|
||||||
|
Возврат "ОД";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениКомандировка() Тогда
|
||||||
|
Возврат "К";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениПрогулы() Тогда
|
||||||
|
Возврат "П";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениНеявкиПоНевыясненнымПричинам() Тогда
|
||||||
|
Возврат "НН";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениОтпускНаОбучение() Тогда
|
||||||
|
Возврат "ОУ";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениОтпускПоБеременностиИРодам() Тогда
|
||||||
|
Возврат "Р";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениОтпускПоУходуЗаРебенком() Тогда
|
||||||
|
Возврат "ОР";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениНеоплачиваемыйОтпускПоРазрешениюРаботодателя() Тогда
|
||||||
|
Возврат "ОЗ";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениОтстранениеОтРаботыБезОплаты() Тогда
|
||||||
|
Возврат "НБ";
|
||||||
|
ИначеЕсли ВидВремени = ВидВремениОтстранениеОтРаботыСОплатой() Тогда
|
||||||
|
Возврат "НО";
|
||||||
|
Иначе
|
||||||
|
Возврат "";
|
||||||
|
КонецЕсли;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция РассчитатьВремяИтог(СтрокаТЧ)
|
||||||
|
ГруппировкаЧасов = Новый Соответствие;
|
||||||
|
Для НомерДня = 1 По 31 Цикл
|
||||||
|
Часы = СтрокаТЧ["Часов" + НомерДня];
|
||||||
|
Если Часы = 0 Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
Буква = СтрокаТЧ["Время" + НомерДня + "Буква"];
|
||||||
|
Если Буква = "" Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
ТекущаяСумма = ГруппировкаЧасов[Буква];
|
||||||
|
Если ТекущаяСумма = Неопределено Тогда
|
||||||
|
ТекущаяСумма = 0;
|
||||||
|
КонецЕсли;
|
||||||
|
ГруппировкаЧасов.Вставить(Буква, ТекущаяСумма + Часы);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Результат = "";
|
||||||
|
Для Каждого КЗ Из ГруппировкаЧасов Цикл
|
||||||
|
Если Результат <> "" Тогда
|
||||||
|
Результат = Результат + ", ";
|
||||||
|
КонецЕсли;
|
||||||
|
Результат = Результат + КЗ.Ключ + " " + Формат(КЗ.Значение, "ЧРД=.; ЧГ=");
|
||||||
|
КонецЦикла;
|
||||||
|
Возврат Результат;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Серверная обёртка для вызова с клиента без контекста формы.
|
// Серверная обёртка для вызова с клиента без контекста формы.
|
||||||
&НаСервереБезКонтекста
|
&НаСервереБезКонтекста
|
||||||
Функция НайтиСсылкуНаТабельНаСервере(Организация, Подразделение, НаименованиеПодразделения, ПериодРегистрации)
|
Функция НайтиСсылкуНаТабельНаСервере(Организация, Подразделение, НаименованиеПодразделения, ПериодРегистрации)
|
||||||
@@ -3611,3 +3948,4 @@
|
|||||||
Возврат Выборка.ТабельУчетаРабочегоВремени;
|
Возврат Выборка.ТабельУчетаРабочегоВремени;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user