![]() |
![]() |
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
JuixyJes 01.08.19 - 16:39 | Добрый вечер! Помогите, написала процедуру для заполнения диаграммы Ганта, нооооо записи вложенного запроса дублируются.
ДиаграммаГанта = ДГ; ДиаграммаГанта.АвтоОпределениеПолногоИнтервала = Ложь; ДиаграммаГанта.УстановитьПолныйИнтервал(Отчет.Период.ДатаНачала,Отчет.Период.ДатаОкончания); Серия = ДиаграммаГанта.УстановитьСерию("Серия"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номера.Ссылка КАК Ссылка, | ЗагруженностьНФ.ДатаЗаселения КАК ДатаЗаселения, | ЗагруженностьНФ.ДатаВыезда КАК ДатаВыезда |ИЗ | Справочник.Номера КАК Номера | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженностьНФ КАК ЗагруженностьНФ | ПО Номера.Ссылка = ЗагруженностьНФ.НомерПроживания"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(ВыборкаДетальныеЗаписи.Ссылка); ТочкаНомер = ДиаграммаГанта.УстановитьТочку(ВыборкаДетальныеЗаписи.Ссылка); Значение = ДиаграммаГанта.ПолучитьЗначение(ТочкаНомер,Серия); Если ВыборкаДетальныеЗаписи.ДатаЗаселения <> NULL и ВыборкаДетальныеЗаписи.ДатаВыезда <> NULL Тогда Интервал = Значение.Добавить(); Интервал.Начало = ВыборкаДетальныеЗаписи.ДатаЗаселения; Интервал.Конец = ВыборкаДетальныеЗаписи.ДатаВыезда; Интервал.Цвет = WebЦвета.НейтральноАквамариновый; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Комнаты.Ссылка КАК Ссылка, | ЗагруженностьНФ.ДатаЗаселения КАК ДатаЗаселения, | ЗагруженностьНФ.ДатаВыезда КАК ДатаВыезда |ИЗ | Справочник.Комнаты КАК Комнаты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженностьНФ КАК ЗагруженностьНФ | ПО Комнаты.Ссылка = ЗагруженностьНФ.КомнатаПроживания |ГДЕ | Комнаты.Владелец = &Владелец |ИТОГИ ПО | Ссылка"; Запрос.УстановитьПараметр("Владелец", ВыборкаДетальныеЗаписи.Ссылка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаСсылкаКомнаты = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаСсылкаКомнаты.Следующий() Цикл Сообщить(ВыборкаСсылкаКомнаты.Ссылка); ТочкаКомната = ТочкаНомер.Точки.Добавить(); ТочкаКомната.Значение = ВыборкаСсылкаКомнаты.Ссылка; ТочкаКомната.Текст = ВыборкаСсылкаКомнаты.Ссылка; Значение = ДиаграммаГанта.ПолучитьЗначение(ТочкаКомната,Серия); Выб = ВыборкаСсылкаКомнаты.Выбрать(); Пока Выб.Следующий() Цикл Если Выб.ДатаЗаселения <> NULL и Выб.ДатаВыезда <> NULL Тогда //Интервал = Значение.Добавить(); //Интервал.Начало = Выб.ДатаЗаселения; //Интервал.Конец = Выб.ДатаВыезда; //Интервал.Цвет = WebЦвета.НейтральноАквамариновый; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; | ||
JuixyJes 1 - 01.08.19 - 16:40 | И вот там, где есть записи в регистре сведений из второго запроса - дублируются | ||
JuixyJes 2 - 01.08.19 - 16:46 | |||
JuixyJes 3 - 01.08.19 - 17:12 | И никто не поможет? Ни разу не видела еще тем связанных с диаграммой Ганта. Видимо почти никто с ней не работает. | ||
vicof 4 - 01.08.19 - 17:14 | Когда сама начнешь разбираться? | ||
JuixyJes 5 - 01.08.19 - 17:17 | (4) Вот и пытаюсь разбираться, только не всегда все получается, не могла найти информации в интернете, собственных знаний пока не хватает. | ||
dka80 6 - 01.08.19 - 17:18 | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженностьНФ КАК ЗагруженностьНФ
| ПО Комнаты.Ссылка = ЗагруженностьНФ.КомнатаПроживания
Сколько записей в регистре по конкретной комнате? Две/три... Вот и дублируются | ||
JuixyJes 7 - 01.08.19 - 17:19 | (6) по конкретной комнате 2 записи есть. НО, выборку и делаю поэтому по итогам. Там 2 записи. а уже в 1 записи из этих двух еще 2 записи. | ||
Йохохо 8 - 01.08.19 - 17:22 | (7) ИТОГИ добавляют строки же | ||
Йохохо 9 - 01.08.19 - 17:23 | |||
JuixyJes 10 - 01.08.19 - 17:31 | А вот эта строка для чего? Разве не она выбирает строки, в которые входят уже записи по каждой комнате?
ВыборкаСсылкаКомнаты = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); | ||
dka80 11 - 01.08.19 - 17:36 | (10) сделай так РезультатЗапроса.Выгрузить() и погляди. Сильно удивишься | ||
dka80 12 - 01.08.19 - 17:39 | Вот твой набор данных в результате запроса Комната1 Загруженность 1 Комната1 Загруженность 2 А вот твой набор с ИТОГом Комната1 Null Комната1 Загруженность 1 Комната1 Загруженность 2 | ||
JuixyJes 13 - 01.08.19 - 17:40 | (12) Ну, да. Есть такое. Ну а что мне еще то сделать? | ||
JuixyJes 14 - 01.08.19 - 17:55 | |||
dka80 15 - 01.08.19 - 17:56 | Номера - точки диаграммы
Серии - комнаты
Итогов не нужно | ||
JuixyJes 16 - 01.08.19 - 18:00 | ВыборкаСсылкаКомнаты = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаСсылкаКомнаты.Следующий() Цикл Сообщить(ВыборкаСсылкаКомнаты.Ссылка); Сообщение : Комната №1, Комната №2 Выб = ВыборкаСсылкаКомнаты.Выбрать(); Пока Выб.Следующий() Цикл Сообщить(Выб.Ссылка); Сообщение : Комната №1, Комната №1, Комната №1, Комната №2, Комната №2 | ||
JuixyJes 17 - 01.08.19 - 18:00 | (16) Только что проверила. | ||
JuixyJes 18 - 02.08.19 - 10:21 | Так, все проблему решила. В параметрах второго запроса не правильный владелец и не закрыт цикл 1 | ||
dka80 19 - 02.08.19 - 10:23 | Молодец, наверное? | ||
JuixyJes 20 - 02.08.19 - 10:37 | (19) Ну не додумалась вчера, сами поймите, если 17 часов смотреть в монитор занимаясь примерно 1 и той же задачей, тяжко будет. |
|
Список тем форума |
Правила | Описание | Реклама на форуме | Волшебные решения | Поиск | Секции | Рейтинг | Книга знаний | Вики-миста (КЗ2) | Мобильная | Архив | Модераторы | Галерея | Регистрация | 18+ |