Установить период среза последних без параметра
Доброго времени суток, подскажите пожалуйста, как установить период в виртуальной таблице без вывода параметра, а с привязкой к дате документа связанной таблицы.
P.S. У меня есть срез последних регистра сведений в котором лежат цены номенклатуры, и документ с нужной номенклатурой. Мне нужно получить цену на дату этого документа.
P.S.S. Заранее спасибо
P.S. У меня есть срез последних регистра сведений в котором лежат цены номенклатуры, и документ с нужной номенклатурой. Мне нужно получить цену на дату этого документа.
P.S.S. Заранее спасибо
По теме из базы знаний
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Как сдать экзамен 1С:Специалист по платформе?
- Выборка данных из периодических регистров, используя фильтры отбора через менеджер временных таблиц в ЗУП 3.1
- Переход на Clickhouse для анализа метрик
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Видел эту статью, но не смог понять. Единственное он берет в запросе Б
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НачалоПериода, ) КАК ЦеныНоменклатурыСрезПоследних
Только мне нужно задать значение &НачалоПериода не через Запрос.УстановитьПараметр(), а как дату документа который есть в запросе
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НачалоПериода, ) КАК ЦеныНоменклатурыСрезПоследних
Только мне нужно задать значение &НачалоПериода не через Запрос.УстановитьПараметр(), а как дату документа который есть в запросе
(3) Нет там такого, что вы придумываете
Дата среза в виртуальных таблицах - это константа. Чтобы реализовать хотелку, нужно использовать что-то типа такого:
и далее по примерам
Дата среза в виртуальных таблицах - это константа. Чтобы реализовать хотелку, нужно использовать что-то типа такого:
РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт_ДатыПродаж КАК вт_ДатыПродаж
ПО ЦеныНоменклатуры.Период <= вт_ДатыПродаж.Дата
и далее по примерам
как вариант это делается в отчете с СКД связью двух таблиц
1.таблица с вашим документом
2.виртуальная таблица среза последних
в связи наборов как раз и указывается связь Дата документа и Параметр таблицы Среза
даже где-то здесь, на форуме, были примеры такого отчета (по курсу валюты на каждый день продажи, кажется)
1.таблица с вашим документом
2.виртуальная таблица среза последних
в связи наборов как раз и указывается связь Дата документа и Параметр таблицы Среза
даже где-то здесь, на форуме, были примеры такого отчета (по курсу валюты на каждый день продажи, кажется)
(13) Вот вам примитив, без учета момента времени и прочих разрезов.
PS Поправил децл
ВЫБРАТЬ
ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаДок
ПОМЕСТИТЬ ВТ_Данные
ИЗ
Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
ГДЕ
ПоступлениеТоваровТовары.Ссылка = &Ссылка
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Данные.Номенклатура КАК Номенклатура,
ВТ_Данные.ДатаДок КАК ДатаДок,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ДатаЦена
ПОМЕСТИТЬ ВТ_ДанныеМДата
ИЗ
ВТ_Данные КАК ВТ_Данные
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ВТ_Данные.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ВТ_Данные.ДатаДок >= ЦеныНоменклатуры.Период
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
СГРУППИРОВАТЬ ПО
ВТ_Данные.Номенклатура,
ВТ_Данные.ДатаДок
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ДанныеМДата.Номенклатура КАК Номенклатура,
ВТ_ДанныеМДата.ДатаДок КАК ДатаДок,
ЦеныНоменклатуры.Цена КАК Цена
ИЗ
ВТ_ДанныеМДата КАК ВТ_ДанныеМДата
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ВТ_ДанныеМДата.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ВТ_ДанныеМДата.ДатаЦена = ЦеныНоменклатуры.Период
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ПоказатьPS Поправил децл
Ошибка использовать срез последних без внешних параметров.
Все срезы последних, это ВТ предназначенные для быстрого доступа к их данным посредством запроса, всем им нужны внешние параметры относительно запроса.
Тебе придется создать свою ВТ среза последних.
Все срезы последних, это ВТ предназначенные для быстрого доступа к их данным посредством запроса, всем им нужны внешние параметры относительно запроса.
Тебе придется создать свою ВТ среза последних.
(9) вот пример отчет с СКД со связью Даты документа с параметром Период среза последних
посмотрите, может сможете адаптировать под свою задачу
посмотрите, может сможете адаптировать под свою задачу
Прикрепленные файлы:
ВнешнийОтчетТест_КурсЦены.erf
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот