Имя: Пароль:
1C
1С v8
Параметр запроса Граница
,
0 Joshim
 
21.10.15
16:44
Запрос возвращает пустые значения по регистру бухгалтерии, если в параметрах запроса дату заменить на границу.
Так не работает:
Запрос.УстановитьПараметр("ПарМоментВремени", Новый Граница(СсылкаНаОбъект.Ссылка.МоментВремени(), ВидГраницы.Включая))

Так работает:
Запрос.УстановитьПараметр("ПарМоментВремени", СсылкаНаОбъект.Ссылка.Дата - 1);

Как в запрос передать момент времени перед конкретным документом?
1 Лефмихалыч
 
21.10.15
16:46
думаю, что косяк между словами ВЫБРАТЬ и ИЗ при незнании того, как работают виртуальные таблицы
2 Fragster
 
гуру
21.10.15
16:46
если используется виртуальная таблица Остатки, то достаточно
Запрос.УстановитьПараметр("ПарМоментВремени", СсылкаНаОбъект.МоментВремени())
3 KrabCore
 
21.10.15
16:46
4 Fragster
 
гуру
21.10.15
16:47
Если ОстаткиИОбороты - то границу нужно ИСКЛЮЧИТЬ
5 KrabCore
 
21.10.15
16:47
(3)+ примеры в наличии
6 Joshim
 
21.10.15
16:49
(2)
Запрос.УстановитьПараметр("ПарМоментВремени", СсылкаНаОбъект.МоментВремени())
Момент времени не подходит, так как я хочу получить остатки без проводок документа. Если указать МоментВремени() тогда проводки попадают в запрос
7 Fragster
 
гуру
21.10.15
16:51
(6) прочитай (2), (4) еще раз
8 Joshim
 
21.10.15
16:51
(3) я это читал, и сделал как там написано и получил ошибку. Описал ошибку здесь
9 Fragster
 
гуру
21.10.15
16:52
опять же - я надеюсь, это все происходит в ОбработкаПроведения
10 Господин ПЖ
 
21.10.15
16:56
может дело в скд происходит... она в качестве параметров границу не переваривает
11 rozer76
 
21.10.15
16:56
(6) движения чистить сначала а потом запрос, это ж у тебя в проведении? Просто при оперативном проведении, несмотря на то, что, указали в параметре запроса "МоментВремени()" и он вроде бы не должен включить старые движения документа, система рассчитает остатки на оперативную отметку времени, то есть старые движения будут включены в расчет итогов.
12 Joshim
 
21.10.15
16:58
(7) прочитал попробовал на таблице остатков и оборотов - то же самое, без изменений.
Граница Исключая - попадают в результат проводки документа, Граница включая - запрос пустой
13 Joshim
 
21.10.15
16:58
(10) это не СКД
14 Fragster
 
гуру
21.10.15
17:02
вообще телепатировать задолбало. все работает ровно так, как в документации. с датами, с моментами, с границами. если у (0) не получается - пусть сначала даст нормальное количество информации, а вытягивать её по чайной ложке в пол часа - желания нет.
15 Joshim
 
21.10.15
17:13
У меня есть ссылка на документ, мне нужно получить остатки по счету без проводок документа. Какой указать параметр ПарМоментВремени? Вот запрос:

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.УстановитьПараметр("ПарМоментВремени", СсылкаНаОбъект.Ссылка.Дата - 1);

Запрос.Текст =
        "ВЫБРАТЬ
        |    СписаниеТоваров.Номенклатура.ВидНоменклатуры.БланкСтрогогоУчета КАК БСУ,
        |    СписаниеТоваров.НомерСтроки КАК НомерСтрокиТЧ,
        |    СписаниеТоваров.Номенклатура,
        |    ВЫРАЗИТЬ(СписаниеТоваров.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
        |    СписаниеТоваров.КоличествоМест,
        |    СписаниеТоваров.Количество,
        |    СписаниеТоваров.Качество,
        |    СписаниеТоваров.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаИзмеренияМест,
        |    СписаниеТоваров.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
        |    СписаниеТоваров.Коэффициент КАК Коэффициент,
        |    СписаниеТоваров.Номенклатура.Код КАК Код,
        |    СписаниеТоваров.Номенклатура.Артикул КАК Артикул,
        |    ВЫБОР
        |        КОГДА ХозрасчетныйОстатки.КоличествоОстаток ЕСТЬ NULL
        |            ТОГДА 0
        |        ИНАЧЕ ХозрасчетныйОстатки.СуммаОстаток / ХозрасчетныйОстатки.КоличествоОстаток
        |    КОНЕЦ КАК Цена,
        |    СписаниеТоваров.Сумма КАК Сумма,
        |    СписаниеТоваров.ХарактеристикаНоменклатуры КАК Характеристика,
        |    СписаниеТоваров.СерияНоменклатуры КАК Серия,
        |    СписаниеТоваров.Цена КАК ЦенаПоДок,
        |    ХозрасчетныйОстатки.КоличествоОстаток,
        |    ХозрасчетныйОстатки.СуммаОстаток
        |ИЗ
        |    Документ.СписаниеТоваров.Товары КАК СписаниеТоваров
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&ПарМоментВремени, , , ) КАК ХозрасчетныйОстатки
        |        ПО СписаниеТоваров.Номенклатура = ХозрасчетныйОстатки.Субконто1
        |            И СписаниеТоваров.Ссылка.Склад = ХозрасчетныйОстатки.Субконто2
        |            И СписаниеТоваров.СчетУчетаБУ = ХозрасчетныйОстатки.Счет
        |            И СписаниеТоваров.Ссылка.Организация = ХозрасчетныйОстатки.Организация
        |ГДЕ
        |    СписаниеТоваров.Ссылка = &ТекущийДокумент
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    СписаниеТоваров.Номенклатура.ВидНоменклатуры.БланкСтрогогоУчета,
        |    СписаниеТоваров.НомерСтроки,
        |    СписаниеТоваров.Номенклатура,
        |    ВЫРАЗИТЬ(СписаниеТоваров.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)),
        |    СписаниеТоваров.КоличествоМест,
        |    СписаниеТоваров.Количество,
        |    NULL,
        |    СписаниеТоваров.ЕдиницаИзмеренияМест.Представление,
        |    СписаниеТоваров.ЕдиницаИзмерения.Представление,
        |    СписаниеТоваров.Коэффициент,
        |    СписаниеТоваров.Номенклатура.Код,
        |    СписаниеТоваров.Номенклатура.Артикул,
        |    0,
        |    0,
        |    NULL,
        |    NULL,
        |    0,
        |    NULL,
        |    NULL
        |ИЗ
        |    Документ.СписаниеТоваров.БланкиСтрогогоУчета КАК СписаниеТоваров
        |ГДЕ
        |    СписаниеТоваров.Ссылка = &ТекущийДокумент
        |
        |УПОРЯДОЧИТЬ ПО
        |    БСУ,
        |    НомерСтрокиТЧ";
16 Fragster
 
гуру
21.10.15
17:14
Запрос.УстановитьПараметр("ПарМоментВремени", СсылкаНаОбъект.МоментВремени());
17 Joshim
 
21.10.15
17:19
(16) так попадают проводки документа в результат запроса :(
18 Fragster
 
гуру
21.10.15
17:22
значит проводки документа сделаны не на момент времени СсылкаНаОбъект.МоментВремени(), а на другой момент времени, более ранний.
19 rozer76
 
22.10.15
08:50
(17) это при каком проведении? оперативном?
Ошибка? Это не ошибка, это системная функция.