Имя: Пароль:
1C
1С v8
1C КА: запрос для получения значения период.регистра сведений на дату документа
0 1Cpr
 
24.04.14
15:50
Всем привет.
Есть задача: получить значение регистра сведений который подчинен справочнику, на дату определенного документа, в котором есть реквизит справочника, причем есть условие, что нужно отобрать данные с определенным значением из регистра сведений.
Спасибо если кто понял и может помочь.
1 1Cpr
 
24.04.14
15:55
Запрос1 = Новый Запрос;
            Запрос1.Текст =
            "ВЫБРАТЬ
            |    Таб1.СсылкаДок,
            |    Таб1.ДатаДок,
            |    Таб1.Контрагент,
            |    Таб2.координатор,
            |ИЗ
            |        (ВЫБРАТЬ
            |            СчетНаОплатуПокупателю.Ссылка КАК СсылкаДок,
            |            СчетНаОплатуПокупателю.Дата КАК ДатаДок,
            |            СчетНаОплатуПокупателю.Контрагент КАК Контрагент,
            |            МАКСИМУМ(РС_координатор.Период) КАК ПериодДок,
            |            РС_координатор.координатор КАК координатор
            |            ИЗ
            |                Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
            |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РС_координатор КАК РС_координатор
            |                ПО     (СчетНаОплатуПокупателю.Контрагент =РС_координатор.Контрагент
            |                И     РС_координатор.Период<=&ДатаОкончания
            |                И    СчетНаОплатуПокупателю.Дата >=РС_координатор.Период)  
            |
            |                СГРУППИРОВАТЬ ПО
            |                СчетНаОплатуПокупателю.Ссылка,
            |                координатор)   КАК Таб1
            |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РС_координатор КАК Таб2
            |        ПО     Таб1.ПериодДок = Таб2.Период И Таб1.Контрагент = Таб2.Контрагент и Таб1.координатор= Таб2.координатор
            |";            
            
            Запрос1.УстановитьПараметр("ДатаНачала", НачалоМесяца(НачалоДня(ДатаНачала)));
            Запрос1.УстановитьПараметр("ДатаОкончания",КонецМесяца(КонецДня(ДатаОкончания)));
            Запрос1.УстановитьПараметр("Физлицо", Физлицо);
2 1Cpr
 
24.04.14
16:00
результат запроса не верен, т.к. значение координатор в итоге не верно, получается значение регистра сведений берется не на дату документа. Исправьте что не верно плиз.
Если вкратце - нужно получать данные из регистра сведений свое, на каждый документ. Спасибо.
3 ИА1С
 
24.04.14
16:24
С начало получай ближайшую к дате твоего документа период, а потом уже получай запись.
2 + 2 = 3.9999999999999999999999999999999...