#0
by dave2000
Отчет на СКД. Есть такие поля (колонки) в отчете: -Номенклатура, -Регистратор, -Цена, -Количество, -Сумма Сумма = Цена * Количество. Но поле "Цена" заполнено не всегда, иногда оно нулевое. Как сделать так, чтобы поле "Сумма" вычислялось по последней заполненной цене? Т.е. если цена в текущей строке = 0, то чтобы бралась последняя ненулевая цена. Как правильно сделать?
#2
by dave2000
При всех нулевых естественно будет ноль, т.к. не было ненулевых. Знаю, что ересь, но такая уж задача. Вопрос лишь в том, делать её через СКД или старым способом - программировать. ЗЫ: Задача там на самом деле немного сложнее, я её упростил до примитива, чтоб понятнее было.
#5
by dave2000
Приведу другой пример: Есть поля: Регистратор, ПоказательСпидометра, Пробег, РасчетныйПоказательСпидометра. Но поле ПоказательСпидометра может быть заполнено не всегда, и, если оно не заполнено, то должно браться последнее заполненное значение (с предыдущих строк). А если заполненных выше по строках не было, тогда 0. Можно ли такое сделать на СКД?
#10
by aleks_default
Слющай, дарагой, защем СКД? Не надо СКД! Делай срез цены непосредственно в запросе и будет тебе счастье. Тебе же это нужно не только в итоговых стрках а вообще во всех?
#11
by aleks_default
+ Я к тому что ВычислитьВыражение применяется при агрегации детальных записей, а тебе же нужно чтобы цена была ненулевой и в детальных тоже?
#15
by dave2000
Верно, но всё усложняет первое поле: оно может быть, а может и не быть, и нужно каждый раз начинать считать от его ненулевого значения. Обратите внимание на : как только поле стало 130, дальнейший расчет итога пошёл уже относительно него (131,133,134...)
#17
by dave2000
Если поле1 заполнено, то нарастающий итог делается как поле1+поле2, а если оно не заполнено, то поле2 суммируется к предыдущей строке. Поэтому после 114 сразу идет 131. Согласен, что хрень, но это всё не я придумывал, а отчёт такой нужен))))
#18
by aleks_default
"Если поле1 заполнено, то нарастающий итог делается как поле1+поле2, а если оно не заполнено, то поле2 суммируется к предыдущей строке" Я тебе говорю, сделай так чтобы у тебя поле1 всегда было заполнено. Т.е. сделай в запросе(а не в ресурсах или вычисляемых полях СКД) срез цены на каждую строчку.
#19
by Апош
а ты знаешь, что будет делать с таким отчётом заказчик? ни разу не информативно ноль в поле1, такие данные в базе, как я понял
#20
by dave2000
Верно, там в базе такие данные, даже запрос не построишь таким образом, чтобы это поле всегда было заполнено, иначе все проблемы сразу бы отпали. Без программирования тут скорее всего не обойдётся, делаю пока как обычный отчет, без СКД.
#24
by bootini
Откуда данные беруться? , если из периодического регистра сведений, то запрос построишь.
#25
by dave2000
Срез первых и последних вроде как относится к регистрам сведений. У меня же данные берутся просто из реквизитов документов (регистратор), которые могут быть либо заполнены, либо пустыми. Так вот, если реквизит пустой, нужно чтобы бралось значение последнего заполненного в выборке. Если я что-то неверно понял, поясните плз. Я с СКД мало работал, много всего ещё не знаю.
#26
by Апош
не писать в регистр данные, которые нужно писать в регистр - дурной признак, от этого волосы на ушах растут
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Цены, цены, цены.....?
- СКД: Как расширить заголовок СКД?
- СКД: СКД: как настроить программно различные варианты группировок в отчете?
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: как в СКД значеняи параметров по умолчанию заполнять?
- СКД: Диаграмма в СКД
- СКД: СКД. Как задать устанавливать параметры вложенных схем СКД?
- СКД: Объединение в СКД
- СКД: СКД - можно ди получить промежуточные итоги по колонкам
- СКД: Настройки СКД
- СКД: СКД: Программное обращение к полям группировки СКД
- СКД: Как в СКД у системного поля – НомерПоПорядку убрать сквозную нумерацию
В этой группе 1С
- Как уменьшить себестоимость товаров УТ 11?
- XDTO таблица значений в XML и обратно в 1С
- Задачка с конкурса "Лучший пользователь 1С:ИТС"
- ЗУП 8.3. Перенос в ЗУП 8.2.
- Передача параметров через метод Оповестить
- Можно ли в динамический список (УФ) выводить вычислимые поля в СКД.
- Программно добавить в регламентированный отчет страницу и заполнить её.
- V83.ComConnector
- COM соединение в фоновом задании
- Количество товара с +/- в списке товаров на OpenCart
- Ошибка при вызове конструктора картинка. Каталог файла не обнаружен.
- Управляемые формы. Как раскрасить дерево значений?
- Как добавить роль для просмотра истории изменений УТ 11.1
- 1С 8.3 Конструктор запроса
- v7: 1C 7.7 SQL: приложение закрывается при обращении к документам без рекв-ов шапки
- XDTO: не перезаполнять некоторые поля при загрузке
- УФ. Оповещение о создании нового документа.
- Работа с ТЗ в УФ
- 1С: Профессионал по платформе 8.3
- Как узнать какая версия 1с 32 или 64?