|
Использование СледующийПоЗначениюПоля | ☑ | ||
---|---|---|---|---|
0
егаис
03.03.19
✎
22:53
|
Сразу извинюсь за глупый вопрос, но никогда данной конструкцией не пользовался
На выходе имеем выборку запроса с полями "Сотрудник, Транспортное средство, ВидВремени, Дата, Дни, Часы". (функция возвращает выборку Запрос.Выполнить().Выбрать()) Следующая конструкция Пока ВыборкаДанныхОВремени.СледующийПоЗначениюПоля("Сотрудник") Цикл Пока ВыборкаДанныхОВремени.СледующийПоЗначениюПоля("ТС") Цикл Пока ВыборкаДанныхОВремени.Следующий() Цикл КонецЦикла; КонецЦикла; КонецЦикла; имеем место быть? Вложенность учтется или получим кашу в виде выбора сначала сотрудников, потом различных ТС? Нужно без итогов в запросе считывать вложенно данные, по группировке Сотрудник -> ТС -> Остальные данные |
|||
1
palsergeich
03.03.19
✎
22:55
|
Учтется
|
|||
2
palsergeich
03.03.19
✎
22:55
|
Но надо аккуратно
|
|||
3
егаис
03.03.19
✎
22:58
|
да вот какая-то херня получается
Иванов УАЗ 001 Иванов УАЗ 002 Иванов УАЗ 001 1 и 3 строка отличаются остальными данным, т.е. нет группировки по Сотрудник->ТС |
|||
4
егаис
03.03.19
✎
22:59
|
за основу взят табель УАТ 2.1
Нужен допил в части табеля в разрезе ТС споткнулся на какой-то фигне |
|||
5
palsergeich
03.03.19
✎
23:01
|
Ну дык проблема то на ВыборкаДанныхОВремени.Следующий()
Подумай как дорабатывать |
|||
6
егаис
03.03.19
✎
23:03
|
заремил
все равно трижды залетает в цикл Пока ВыборкаДанныхОВремени.СледующийПоЗначениюПоля("Сотрудник") Цикл Пока ВыборкаДанныхОВремени.СледующийПоЗначениюПоля("ТС") Цикл ДанныеОВремениПоСотруднику.Очистить(); //Пока ВыборкаДанныхОВремени.Следующий() Цикл // СтрокаТаблицыДанныхОВремени = ДанныеОВремениПоСотруднику.Добавить(); // ЗаполнитьЗначенияСвойств(СтрокаТаблицыДанныхОВремени, ВыборкаДанныхОВремени); //КонецЦикла; // //Если СтрокиПоСотрудникам = Неопределено Тогда // МассивСтрокПоСотруднику = ТабельНоваяСтрокаДанныхОВремениТС(Форма.Объект.ДанныеОВремени, ВыборкаДанныхОВремени.Сотрудник, ВыборкаДанныхОВремени.ТС, НомерСтрокиСотрудник, Форма.ВысотаСтроки); //Иначе // МассивСтрокПоСотруднику = СтрокиПоСотрудникам[ВыборкаДанныхОВремени.Сотрудник]; //КонецЕсли; // //ТабельЗаполнитьСтрокиПоСотрудникуТС( // Форма, // ДанныеОВремениПоСотруднику, // МассивСтрокПоСотруднику, // КодыВидовВремени, // ВысотаСтроки, // ЗаполнятьТерриторииИУсловия); // //НомерСтрокиСотрудник = НомерСтрокиСотрудник + 1; КонецЦикла; КонецЦикла; |
|||
7
palsergeich
03.03.19
✎
23:04
|
Ну так и должно быть по логике кода.
Вопрос то в чем? |
|||
8
palsergeich
03.03.19
✎
23:05
|
Надо доработать запрос, что бы 3го витка не было или в него не заходить и иметь все данные на 2ой вложенности
|
|||
9
егаис
03.03.19
✎
23:05
|
по логике должно быть
Иванов - УАЗ 001 - УАЗ 002 не? |
|||
10
егаис
03.03.19
✎
23:06
|
(8) придется на итоги тогда переходить и группировку писать
ладно, думал можно обойти проще |
|||
11
palsergeich
03.03.19
✎
23:06
|
(9) дорабатывать запрос. или просто убери 3ю вложенность
|
|||
12
Йохохо
03.03.19
✎
23:09
|
а это точно должно работать, если выбран обход не по группировкам? "Выбрать()"
|
|||
13
егаис
03.03.19
✎
23:16
|
(12) вот и мне кажется, что не для вложенных сей метод
Перешел на итоги, все работает, даже шустрее. тему можно закрывать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |