7.7 Вывод в отчет значений реквизитов регистров

Новая тема
Показывать по 10 20 40 сообщений
"|Период с ВыбНач по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Без итогов;
|КредитныйДокумент = Регистр.НачислениеПроцентов.КредитныйДокумент, Регистр.ПеняПоПроцентам.КредитныйДокумент, Регистр.НачислениеОД.КредитныйДокумент, Регистр.ПеняПоОД.КредитныйДокумент;
|Договор = Регистр.ПеняПоОД.Договор, Регистр.ПеняПоПроцентам.Договор, Регистр.НачислениеПроцентов.Договор, Регистр.НачислениеОД.Договор;
|СуммаПроц = Регистр.НачислениеПроцентов.Сумма;
|СуммаОД = Регистр.НачислениеОД.Сумма;
|СуммаПеняПроц = Регистр.ПеняПоПроцентам.Сумма;
|СуммаПеняОД = Регистр.ПеняПоОД.Сумма;
|ПроцентыРасчетнаяСумма = Регистр.НачислениеПроцентов.РасчетнаяСумма; // ЭТО РЕКВИЗИТ
|ПеняПроцРасчетнаяСумма = Регистр.ПеняПоПроцентам.РасчетнаяСумма;// ЭТО РЕКВИЗИТ
|ПеняОДРасчетнаяСумма = Регистр.ПеняПоОД.РасчетнаяСумма;// ЭТО РЕКВИЗИТ
|Функция СуммаПроцПриход = Приход(СуммаПроц);
|Функция СуммаОДПриход = Приход(СуммаОД);
|Функция СуммаПеняПроцПриход = Приход(СуммаПеняПроц);
|Функция СуммаПеняОДПриход = Приход(СуммаПеняОД);
|Группировка Договор без групп;
|Группировка КредитныйДокумент без групп;
|Группировка Месяц;
|Группировка Документ;
|Условие(Договор в ВыбДоговор);
|Условие(КредитныйДокумент = ВыбКредитныйДокумент.ДокументВыдачи);

Вот текст запроса, однако при выводе таблицы выводится только один из реквизитов, сначала "ПроцентыРасчетнаяСумма", потом как только появляются суммы по "СуммаПеняПроцПриход", выводится реквизит ПеняПроцРасчетнаяСумма, а "ПроцентыРасчетнаяСумма" равен нулю и тд.

ВОПРОС -  как выводить реквизиты по всем регистрам, без обнуления?
СПАСИБО ЗАРАНЕЕ.
"
кто-нибудь поможет?
"вы их в конструкцию Функция поместите. То есть, будет что то вроде такого:
|ПроцентыРасчетнаяСумма = Регистр.НачислениеПроцентов.РасчетнаяСумма; // ЭТО РЕКВИЗИТ
|ПеняПроцРасчетнаяСумма = Регистр.ПеняПоПроцентам.РасчетнаяСумма;// ЭТО РЕКВИЗИТ
|ПеняОДРасчетнаяСумма = Регистр.ПеняПоОД.РасчетнаяСумма;// ЭТО РЕКВИЗИТ
|Функция СуммаПроцентыРасчетнаяСумма = Приход(ПроцентыРасчетнаяСумма);
|Функция СуммаПеняПроцРасчетнаяСумма = Приход(ПеняПроцРасчетнаяСумма);
|Функция СуммаПеняОДРасчетнаяСумма = Приход(ПеняОДРасчетнаяСумма);
...

В общем, это все от того, что по идее, внутренние переменные запроса не должны быть видны в дальнейшем через Запрос.ВнутренняяПеременная, а видны должны быть только те переменные, по которым была группировка и результаты функций. 1С, к сожалению, не блокирует обращиние к ним, в результате возникает "ложная надежда", что таким образом можно достать какие то данные"
Спасибо! Получилось, а я думал что складывать будет, и даже на попробовал))
"Конечно складывать будет, по всем группировкам, которые у вас есть и будет сложение. Далее при переборе результатов запроса вы получите итоги и по месяцу и по договору и т.п.
|Группировка Договор без групп;
|Группировка КредитныйДокумент без групп;
|Группировка Месяц;
|Группировка Документ;
"
Ресурсы складывает, это ясно. Реквизиты нет - именно этого добивался))))
Добрый день

Это если реквизит типа "число", а если это элемент тип реквизита "справочник"? Тогда что делать? При попытке вставить в функцию будет, естественно, ошибка запроса... Подскажите, плз, как же вывести такие реквизиты
"> как же вывести такие реквизиты

ТекстЗапроса="Товар=Справочник.Номенклатура.ТекущийЭлемент;
            |Группировка Товар без групп без упорядочивания;";
Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
  Пока Запрос.Группировка(1)=1 Цикл
     Сообщить(Запрос.Товар);
  КонецЦикла;
КонецЕсли;



Для примера текст своего запроса напишите."
"Точный текст запроса дома, но смысл такой:

     |Фирма= Регистр.Цены.Фирма;
     |Номенклатура= Регистр.Цены.Номенклатура;
     |Контрагент= Регистр.Цены.Контрагент;
     |Цена= Регистр.Цены.Цена;
     |Валюта= Регистр.Цены.Валюта; // ЭТО РЕКВИЗИТ
     |Единица= Регистр.Цены.Единица; // ЭТО РЕКВИЗИТ
     |Функция КонОстЦена= КонОст(Цена);
     |Условие(Договор в ВыбДоговор);
     |Группировка Номенклатура без групп;
     |Группировка Контрагент без групп;

Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
  Пока Запрос.Группировка("Номенклатура")=1 Цикл
    Пока Запрос.Группировка("Контрагент")=1 Цикл
       Сообщить("Номенклатура: "+Запрос.Номенклатура+" Контрагент: "+Запрос.Контрагент+" Цена "+Запрос.Цена);
       Сообщить("Валюта: "+Запрос.Валюта+" Единица: "+Запрос.Единица);   // вот эта строка ничего не выводит
   КонецЦикла;
  КонецЦикла;
КонецЕсли;

Примерно так -я хочу увидеть значения Валюты и Единицы - а мне запрос ничего не показывает (в регистре данная информация присутствует - проверял)"
"|Условие(Договор в ВыбДоговор);  -  вместо этой строки:


     |Условие(Фирма=ВыбФирма);"
Читают тему
(гостей: 1)

Быстрый переход