Программно в табеле заполнить данными по сотруднику во второй строке
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
МассивКорр = Результат.ДанныеОВремени.НайтиСтроки(Новый Структура("Сотрудник", СтрокаТаблицы.Сотрудник));
Если МассивКорр.Количество() > 0 Тогда
НовСтрока = МассивКорр[0];
ИндексВставки = 1;
НовСтрока["Часов" + Постфикс] = Число ("1");
НовСтрока["ВидВремени" + Постфикс] = ПП;
МассивКорр.Вставить(ИндексВставки, НовСтрока);
конецесли;
Если МассивКорр.Количество() > 0 Тогда
НовСтрока = МассивКорр[0];
ИндексВставки = 1;
НовСтрока["Часов" + Постфикс] = Число ("1");
НовСтрока["ВидВремени" + Постфикс] = ПП;
МассивКорр.Вставить(ИндексВставки, НовСтрока);
конецесли;
(9)оно и должно быть добавлено новой строкой.
При открытии формы документа уже будет распределятся по сотрудникам и видам времени.
Можете очень просто проверить на копии базы:
1. Взять любой сформированный документ, посмотреть данные его табличной части ДанныеОВремени
2. интерактивно добавить, то что вам нужно.
3. Еще раз посмотреть данные его табличной части.
4. сделать выводы о том, как нужно формировать таблицу для загрузки в ТЧ документа.
При открытии формы документа уже будет распределятся по сотрудникам и видам времени.
Можете очень просто проверить на копии базы:
1. Взять любой сформированный документ, посмотреть данные его табличной части ДанныеОВремени
2. интерактивно добавить, то что вам нужно.
3. Еще раз посмотреть данные его табличной части.
4. сделать выводы о том, как нужно формировать таблицу для загрузки в ТЧ документа.
(16) еще раз сравниваем отображение на форме и содержание табличной части
Чтобы получить этот результат, в пустой(новый) документ программно нужно сделать так:
Чтобы получить этот результат, в пустой(новый) документ программно нужно сделать так:
НСтр = ДокументОбъект.ДанныеОВремени.Добавить();
НСтр.Сотрудник = <НужныйСотрудник>;
НСтр.ВидВремени1 = <НужныйВидВремени1>;
НСтр.ВидВремени2= <НужныйВидВремени2>;
НСтр.Часов2 = <НужноеКоличествоЧасов2>;
НСтр.ВидВремени3= <НужныйВидВремени2>;
НСтр.Часов3 = <НужноеКоличествоЧасов2>;
НСтр = ДокументОбъект.ДанныеОВремени.Добавить();
НСтр.Сотрудник = <НужныйСотрудник>;
НСтр.ВидВремени2 = <НужныйВидВремени2>;
НСтр.Часов2 = <НужноеКоличествоЧасов2>;
НСтр.ВидВремени3 = <НужныйВидВремени3>;
НСтр.Часов3 = <НужноеКоличествоЧасов3>;
НСтр = ДокументОбъект.ДанныеОВремени.Добавить();
НСтр.Сотрудник = <НужныйСотрудник>;
ПоказатьПрикрепленные файлы:
(18)Значит ваша задача выбрать вторую строку по сотруднику и в ВидВремениN установить нужный ВидВремени и количество часов в ЧасовN.
Как-то так:
Как-то так:
//Цикл по списку сотрудников
.............
МассивКорр = Результат.ДанныеОВремени.НайтиСтроки(Новый Структура("Сотрудник", СтрокаТаблицы.Сотрудник));
Если МассивКорр.Количество() > 0 Тогда
ТекСтрока = МассивКорр[1];
ТекСтрока["Часов" + Постфикс] = <НужчноеЧислоЧасов>;
ТекСтрока["ВидВремени" + Постфикс] = <НужныйВидВремени>;
Конецесли;
//КонецЦикла по списку сотрудников
...............
ДокументОбъект.ДанныеОВремени.Загрузить(Результат.ДанныеОВремени);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот