Имя: Пароль:
1C
1С v8
Отбор по СтатьяДвиженияДенежныхСредств в запросе (((
,
0 igel1969
 
03.04.15
10:40
Прошу прощения, наверняка какая-то глупая ошибка, но который день бьюсь и никак не могу понять. Мне нужно отобрать ПКО и РКО по Статье движения денежных средств. Казалось бы - куда проще.

Вот кусок кода:
Запрос = Новый Запрос;
    Если СДД = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка() Тогда
    сообщить("раз");    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПриходныйКассовыйОрдер.Номер,
    |    ПриходныйКассовыйОрдер.Дата,
    |    ПриходныйКассовыйОрдер.Ссылка,
    |    ПриходныйКассовыйОрдер.Касса,
    |    ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаПриход,
    |    0 КАК СуммаРасход,
    |    ПриходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств,
    |    ПриходныйКассовыйОрдер.Основание,
    |    ПриходныйКассовыйОрдер.Комментарий
    |ИЗ
    |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
    |ГДЕ
    |    ПриходныйКассовыйОрдер.Дата МЕЖДУ &Дата1 И &Дата2
    |    И ПриходныйКассовыйОрдер.Проведен
    |    И ПриходныйКассовыйОрдер.Контрагент = &КонтрагентРасходы
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    РасходныйКассовыйОрдер.Номер,
    |    РасходныйКассовыйОрдер.Дата,
    |    РасходныйКассовыйОрдер.Ссылка,
    |    РасходныйКассовыйОрдер.Касса,
    |    0,
    |    РасходныйКассовыйОрдер.СуммаДокумента,
    |    РасходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств,
    |    РасходныйКассовыйОрдер.Основание,
    |    РасходныйКассовыйОрдер.Комментарий
    |ИЗ
    |    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
    |ГДЕ
    |    РасходныйКассовыйОрдер.Дата МЕЖДУ &Дата1 И &Дата2
    |    И РасходныйКассовыйОрдер.Проведен
    |    И РасходныйКассовыйОрдер.Контрагент = &КонтрагентРасходы";
    
    Иначе
    сообщить("два");
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПриходныйКассовыйОрдер.Номер,
    |    ПриходныйКассовыйОрдер.Дата,
    |    ПриходныйКассовыйОрдер.Ссылка,
    |    ПриходныйКассовыйОрдер.Касса,
    |    ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаПриход,
    |    0 КАК СуммаРасход,
    |    ПриходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств,
    |    ПриходныйКассовыйОрдер.Основание,
    |    ПриходныйКассовыйОрдер.Комментарий
    |ИЗ
    |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
    |ГДЕ
    |    ПриходныйКассовыйОрдер.Дата МЕЖДУ &Дата1 И &Дата2
    |    И ПриходныйКассовыйОрдер.Проведен
    |    И ПриходныйКассовыйОрдер.Контрагент = &КонтрагентРасходы
    |    И ПриходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств = &Ссылка1
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    РасходныйКассовыйОрдер.Номер,
    |    РасходныйКассовыйОрдер.Дата,
    |    РасходныйКассовыйОрдер.Ссылка,
    |    РасходныйКассовыйОрдер.Касса,
    |    0,
    |    РасходныйКассовыйОрдер.СуммаДокумента,
    |    РасходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств,
    |    РасходныйКассовыйОрдер.Основание,
    |    РасходныйКассовыйОрдер.Комментарий
    |ИЗ
    |    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
    |ГДЕ
    |    РасходныйКассовыйОрдер.Дата МЕЖДУ &Дата1 И &Дата2
    |    И РасходныйКассовыйОрдер.Проведен
    |    И РасходныйКассовыйОрдер.Контрагент = &КонтрагентРасходы
    |    И РасходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств = &Ссылка1";
    Запрос.УстановитьПараметр("Ссылка1", СДД);
    
    КонецЕсли;
    Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
    Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
    Запрос.УстановитьПараметр("КонтрагентРасходы", Справочники.Контрагенты.НайтиПоКоду("000002880"));

    Результат = Запрос.Выполнить();
    Сообщить(Результат.Выбрать().Количество());


Если СДД не выбран (СДД - это реквизит, связанный с полем ввода), то все показывает нормально, а если хочу по конкретной статье движения - то запрос возвращает пустоту (((((
Для эксперимента даже пытался брать СДД не из поля ввода, а в коде искать в справочнике - все-равно запрос возвращает пустоту ((((

Где, кроме выбора профессии, я ступил, пожалуйста - помогите!!!
1 Naumov
 
03.04.15
10:41
Статья ДДС в ТЧ РасшифровкаПлатежа, если что
2 shuhard
 
03.04.15
10:42
(1) +1
и всё остальное, кроме организации и контрагента, то же
3 igel1969
 
03.04.15
10:43
(1) а как тогда мне возвращает статью, если не делать по ней отбора? оно же возвращает, причем не пустые значения.
4 igel1969
 
03.04.15
10:45
(1) издеваетесь? я посмотрел конфигурацию. ваше поведение недостойно звания 1С-джедая
5 igel1969
 
03.04.15
10:46
(1) фу-ты, промахнулся мышкой и посмотрел не Приходныйкассовый Ордер в конфигураторе, а соседний документ. Извините. действительно, есть такая ТЧ.
6 igel1969
 
03.04.15
10:47
Но все-равно, вопрос остается открытым - мне же показывает статью движения денежных средств из реквизита документа, а не из табличной части, если я не делаю отбора. КАК оно мне показывает?
7 hhhh
 
03.04.15
10:51
(6) где показывает?
8 igel1969
 
03.04.15
10:52
(7) ну я результат запроса потом в отчет выгружаю
9 igel1969
 
03.04.15
10:58
прошу прощения, прошу закрыть вопрос. сам ступил. дело в том, что я не с начала писал этот отчет, а переделывал чужой. действительно - при выгрузке в макет данные берутся не из результата запроса ДвижениеДенежныхСредств, а из результата запроса берется документ, и потом уже из ТЧ расшифровки находится статься движения.
прошу прощения за тупость
10 shuhard
 
03.04.15
11:06
(9)[прошу прощения за тупость]
отклонено
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан