|
Работа с запросами к регистрам оборотов | ☑ | ||
---|---|---|---|---|
0
Dmitrii_VVV
28.06.23
✎
16:54
|
Коллеги, помогите пож-та начинающему
Необходимо создать простой отчёт с заполнением столбца Номенклатура, Сумма и Кол-во Есть регистр накопления Обороты номенклатуры (вид обороты), с измерением номенклатура и ресурсами кол-во и сумма Не понимаю откуда данные в столбец Сумма должны подтягиваться ВЫБРАТЬ ОборотыНоменклатурыОбороты.Номенклатура КАК Номенклатура, ОборотыНоменклатурыОбороты.КоличествоОборот КАК КоличествоОборот, ОборотыНоменклатурыОбороты.СуммаОборот КАК СуммаОборот ИЗ РегистрНакопления.ОборотыНоменклатуры.Обороты КАК ОборотыНоменклатурыОбороты https://wampi.ru/image/RymPIYs |
|||
1
КнОпка
28.06.23
✎
16:58
|
(0) в регистре сумма = 0 ?
|
|||
2
Волшебник
28.06.23
✎
17:01
|
плохое название регистра
в виртуальную таблицу не передан период |
|||
3
azernot
28.06.23
✎
17:03
|
(0) >Не понимаю откуда данные в столбец Сумма должны подтягиваться
Просто интересно, а какие у вас варианты? В регистре одно измерение и два ресурса. Один из ресурсов называется "Сумма"... О эта проклятая неопределённость! |
|||
4
RomanYS
28.06.23
✎
17:15
|
чтобы заполнились параметры макета ТД их имена должны совпадать именами полей выборки
... ОборотыНоменклатурыОбороты.КоличествоОборот КАК Количество, ОборотыНоменклатурыОбороты.СуммаОборот КАК Сумма ... |
|||
5
Dmitrii_VVV
28.06.23
✎
17:16
|
(3) Тогда переформулирую, в какой момент идет заполнение данного столбца?
|
|||
6
Мультук
28.06.23
✎
17:18
|
(5)
1) Отчёт на СКД ? 2) В самом регистре в ресурсе "сумма" циферки есть или там везде 0 ? 3) Этот же запрос в консоли запросов сумму показывает? |
|||
7
azernot
28.06.23
✎
17:24
|
(5) Заполнение данного столбца идёт в момент выполнения компоновки на основе данных полученных запросом. Этот ответ вам бесполезен.
Вас не смущает, что Количество у вас заполняется, а Сумма нет? Очевидно же, что дело не в отчёте. У вас нулевые суммы в регистре. Откройте через "Все функции" список регистра и убедитесь сами. Либо в документах двигающих регистр эти суммы не заполнены, либо что-то не так в процедурах проведения. Ради вашего спокойствия, сделайте такой запрос в отчёте ВЫБРАТЬ ОборотыНоменклатурыОбороты.Номенклатура КАК Номенклатура, ОборотыНоменклатурыОбороты.КоличествоОборот КАК КоличествоОборот, ОборотыНоменклатурыОбороты.КоличествоОборот * ОборотыНоменклатурыОбороты.КоличествоОборот КАК СуммаОборот ИЗ РегистрНакопления.ОборотыНоменклатуры.Обороты КАК ОборотыНоменклатурыОбороты чисто чтобы убедить, что отчёт у вас корректно работает. |
|||
8
Dmitrii_VVV
29.06.23
✎
09:37
|
(7) Спасибо, добрый человек!
Вопрос. Не понял, почему мы в данной строке количество на количество умножаем? Ведь сумма складывается из перемножения кол-ва и цены ОборотыНоменклатурыОбороты.КоличествоОборот * ОборотыНоменклатурыОбороты.КоличествоОборот КАК СуммаОборот И ещё, данное произведение дописывается вручную или задаётся в условиях конструктора? Пока получилось вот так https://wampi.ru/image/Ryv3M17 |
|||
9
Dmitrii_VVV
29.06.23
✎
09:38
|
(6)
1. Да СКД 2. Вероятно, везде 0 3. Не показывает |
|||
10
azernot
29.06.23
✎
09:56
|
(8) >Не понял, почему мы в данной строке количество на количество умножаем?
Исключительно для того, чтобы вы убедились, что отчёт ваш работает нормально, и суммы выводятся. Разумеется, такой запрос оставлять нельзя, нужно использовать ваш запрос из (0). Попробуйте ещё раз прочитать (7). Если не поможет, прочитайте ещё раз. И ещё раз. И ещё. До тех пор, пока не дойдёт. |
|||
11
Dmitrii_VVV
29.06.23
✎
17:48
|
(7) Уважаемый, читал, не дошло :)
В документе столбец сумма заполнен, через все функции - регистр накопления, при проведении почему то сумма не заполняется. Процедура проведения: Процедура ОбработкаПроведения(Отказ, Режим) Движения.ОборотыНоменклатуры.Записывать = Истина; Для Каждого ТекСтрокаСписокНоменклатуры Из СписокНоменклатуры Цикл Движение = Движения.ОборотыНоменклатуры.Добавить(); Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаСписокНоменклатуры.Номенклатура; Движение.Количество = ТекСтрокаСписокНоменклатуры.Количество; КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры Соблаговолите объяснить, в чём ошибка? https://wampi.ru/image/RywyHgs |
|||
12
azernot
29.06.23
✎
17:58
|
(11) Ну вы же видите, что в вашей процедуре проведения вообще никак не упоминается Сумма? Ну так и чего вы ждёте?
Ну чисто логически, добавьте под строкой с количеством строку с Суммой! Движение.Сумма = ТекСтрокаСписокНоменклатуры.Сумма; |
|||
13
Dmitrii_VVV
30.06.23
✎
14:13
|
(12) Ох уж это отсутствие логики и опыта, ведь это очевидно)
Благодарю! |
|||
14
azernot
30.06.23
✎
14:33
|
(13) Наверняка вам доводилось слышать от программистов фразу "Чудес не бывает!". Что же она означает? Она означает, что система не может каким-то волшебным образом что-то сделать, сама что-то откуда-то взять, сама что-то посчитать.
Вы сами пишите отчёт, вы указываете запрос в котором используется сумма из регистра накопления. Вы видите, что в отчёте сумма нулевая. А какая там должны быть сумма и откуда отчёт должен её взять? Если отбросить "чудеса", то очевидно, что сумма берётся из регистра. И первое, что нужно проверить - а не нулевая ли сумма в регистре? Далее, вы видите, что в регистре сумма нулевая, ваши действия? Записи в регистр делает документ-регистратор. Идём и смотрим, а не нулевая ли сумма в документе? Видим, ненулевая. Далее смотрим процедуру проведения, а точно ли сумма из документа записывается в регистр? Вуаля. Никаких чудес. |
|||
15
СвинТуз
30.06.23
✎
17:12
|
Чудес не бывает,
но бывают чудотворцы? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |