|
Как рассчитать количество в справочнике? | ☑ | ||
---|---|---|---|---|
0
Свободный ник
06.05.16
✎
13:21
|
Доброго времени суток!
У меня есть иерархический справочник. В нем идут группы, а в них соответственно элементы. Есть реквизиты "количество студентов" и "всего студентов". "Количество студентов" относится к одной записи в справочнике, а "всего студентов" должно показывать сумму всех "количество студентов". Как это выполнить программно? и в каком модуле (формы, элемента или др.) прописать? |
|||
1
Звездец
06.05.16
✎
13:23
|
запрос тебе в помощь
|
|||
2
Jonny_Khomich
06.05.16
✎
13:25
|
непонятно.
Где эти реквизиты? "Количество студентов" относится к одной записи в справочнике - что это? Запить = группа? |
|||
3
FIXXXL
06.05.16
✎
13:27
|
(2) вангую в папке он хочет выводить сумму по подчиненным
|
|||
4
Свободный ник
06.05.16
✎
13:28
|
Звездец, поподробней можно? Где запрос запилить в модуле формы списка?
fixxxl, да, именно. |
|||
5
Jonny_Khomich
06.05.16
✎
13:28
|
Всего студентов понятно. выбрать количетсво(ссылка) из справочник.студенты как С где не С.пометкаудаления и не С.ЭтоГруппа
Я не думаю что студенты будут учиться всю жизнь и их придётся выпустить или отчислить. Нужны учащиеся студенты? Есть для этого нужные данные? |
|||
6
Свободный ник
06.05.16
✎
13:32
|
В справочнике только учащиеся студенты. Остальных руками своевременно убирают.
|
|||
7
Sabbath
06.05.16
✎
13:32
|
(2) > Запить = группа
Групповые запои на дому (0) Разберись с запросами, в запросе группируй и суммируй поле количество студентов. (5) он хочет просуммировать реквизит количество студентов, а не посчитать количество ссылок в справочнике Поэтому СУММА(КоличествоСтудентов) з.ы.: Запрос пиши, где тебе хочется (для начала) |
|||
8
FIXXXL
06.05.16
✎
13:32
|
(4) если не часто меняются(записываются) элементы справочника, можно повесить процедуру ПриЗаписи на элемент справочника, в ней запросом получитьколичество по элементам, которые входят в ЭтотОбъект.Родитель и переписать Родителя
но это не сильно правильно если тебе нужно только для отображения на форме, делай запрос ПриПолученииДанных и выводи в свою колонку на форме |
|||
9
Свободный ник
06.05.16
✎
13:32
|
Кажется я понял. Если заработает, то скину листинг.Всем спасибо
|
|||
10
Jonny_Khomich
06.05.16
✎
13:38
|
(7) в универе милое дело запить группой
|
|||
11
Jonny_Khomich
06.05.16
✎
13:39
|
(9) итоги будешь использовать?
|
|||
12
b_ru
06.05.16
✎
13:39
|
(6) Похоже на велосипед с квадратными колесами
|
|||
13
Jonny_Khomich
06.05.16
✎
13:46
|
ВЫБРАТЬ
Студенты.Родитель КАК Родитель, Студенты.Ссылка КАК Ссылка ИЗ Справочник.Студенты КАК Студенты ГДЕ (НЕ Студенты.ЭтоГруппа) И (НЕ Студенты.ПометкаУдаления) ИТОГИ КОЛИЧЕСТВО(Ссылка) ПО ОБЩИЕ, Родитель |
|||
14
Dmitry77
06.05.16
✎
13:54
|
можно еще вывести форму в mxl там вроде строчки нумеруются
|
|||
15
Свободный ник
06.05.16
✎
16:27
|
Сделал запрос. Видимо неверный. Ну или не в том модуле...
Запрос = Новый Запрос( "ВЫБРАТЬ | Факультеты.КоличествоСтудентов КАК КоличествоСтудентов, | Факультеты.ВсегоСтудентов КАК ВсегоСтудентов |ИЗ | Справочник.Факультеты КАК Факультеты |ИТОГИ | СУММА(ВсегоСтудентов) |ПО | КоличествоСтудентов"); Элементы.Список.ТекущиеДанные.ВсегоСтудентов = Запрос.Выполнить().Выбрать(); |
|||
16
FIXXXL
06.05.16
✎
16:59
|
(15) все нетак и все не там
где эта процедура вызывается? при каком событии? запрос неправильный даже по логике у тебя в элементе справочника и КоличествоСтудентов и ВсегоСтудентов присутствуют? |
|||
17
Timon1405
06.05.16
✎
17:06
|
Как понять что скоро сессия? на мисте создаются вопросы на отвлеченные темы, практическая польза от которых ноль без палки
|
|||
18
Свободный ник
06.05.16
✎
17:15
|
(16) при открытии. присутствую. (17) откуда тебе знать, ноль не ноль. Может это будет супер система.
|
|||
19
Свободный ник
06.05.16
✎
17:16
|
(16) при открытии формы списка
|
|||
20
Sabbath
06.05.16
✎
18:09
|
(10) были времена :'(
|
|||
21
Sabbath
06.05.16
✎
18:18
|
(15) У меня стойкое ощущение, что сама постановка задачи не очень, да и решение не комментирую. Но будем исходить из того, что есть.
Запрос = Новый Запрос( "ВЫБРАТЬ | СУММА(Факультеты.КоличествоСтудентов) КАК КоличествоСтудентов |ИЗ | Справочник.Факультеты КАК Факультеты; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Элементы.Список.ТекущиеДанные.ВсегоСтудентов = Выборка.КоличествоСтудентов; КонецЕсли; Я написал, как выбрать все факультеты и просуммировать КоличествоСтудентов. Часть кода Элементы.Список.ТекущиеДанные.ВсегоСтудентов похоже на хрень какую-то, но тебе виднее :) |
|||
22
Yuri 83
06.05.16
✎
18:24
|
Просто чтобы поднять градус...
Делаем подписку на событие ПередЗаписью этого справочника В подписке рекурсивно для каждого родителя обрабатываемого элемента вызываем функцию с таким запросом: ВЫБРАТЬ СУММА(Спр.КоличествоСтудентов) КАК ВсегоСтудентов ИЗ Справочник.Факультеты КАК Спр ГДЕ Спр.Ссылка В ИЕРАРХИИ (&ТекГруппа) Тогда все запишется |
|||
23
singlych
06.05.16
✎
18:26
|
Все бы вам формы списков в отчеты превращать.
|
|||
24
Yuri 83
06.05.16
✎
18:45
|
Чтобы раскрыть тему. Используем подписку на событие ПриЗаписи
|
|||
25
Свободный ник
11.05.16
✎
12:11
|
(21) Почему хрень?) Элементы.Список.ТекущиеДанные.ВсегоСтудентов это путь к реквизиту. какой был указан в свойствах, тот я написал
|
|||
26
Свободный ник
11.05.16
✎
12:16
|
(21) Такой код я писал. какая ошибка там была - не помню. но 1с ругалась на путь к реквизиту.
|
|||
27
Свободный ник
11.05.16
✎
12:36
|
(25) Ошибку пишет - Переменная "Элементы" не определена.
|
|||
28
Свободный ник
11.05.16
✎
12:40
|
(27) код писал в модуле формы списка справочника на сервере без контекста. Если делать на сервере, то пишет ошибку - Ошибка при получении значения атрибута контекста (Текущие данные)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |