Версия для печати темы (https://pro1c.org.ua/index.php?s=6a5645f28080e4ddf83f24c15fd96453&showtopic=35573)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Как вывести назначение платежей в отчет?

Автор: cos12 27.02.17, 14:53

Платформа:
1С:Предприятие 8.3 (8.3.9.2033)
Конфигурация:
Бухгалтерія для України, редакція 1.2.


Создаю отчет:
пользователь выбирает вид платежки (к примеру Платежное поручение входящее или исходящее) и указывает за какую дату он хочет увидеть платежи.
отчет строит табличку за эту дату и по даному виду платежей.
Картинка



как мне сделать что бы ещо вывести реквизит документов ППВ и ППИ - НазначениеПлатежа???

вот запрос который я строю
Запрос
ВЫБРАТЬ
    РасчетныеДокументыБанк.Ссылка КАК Ссылка,
    РасчетныеДокументыБанк.Дата КАК Дата,
    РасчетныеДокументыБанк.Номер КАК Номер,
    РасчетныеДокументыБанк.Организация КАК Организация,
    РасчетныеДокументыБанк.СчетОрганизации КАК СчетОрганизации,
    СУММА(РасчетныеДокументыБанк.СуммаДокумента) КАК СуммаДокумента,
    РасчетныеДокументыБанк.Контрагент КАК Контрагент,
    РасчетныеДокументыБанк.ДатаВыписки КАК ДатаВыписки,
    РасчетныеДокументыБанк.НомерПоручения КАК НомерПоручения,
    РасчетныеДокументыБанк.Тип КАК Тип,
    РасчетныеДокументыБанк.Контрагент.КодПоЕДРПОУ КАК КонтрагентЕДРПОУ,
    РасчетныеДокументыБанк.СчетКонтрагента.НомерСчета КАК СчетКонтрагента,
    РасчетныеДокументыБанк.СчетКонтрагента.Банк.Код КАК МФО
{ВЫБРАТЬ
    Ссылка.*}
ИЗ
    ЖурналДокументов.РасчетныеДокументыБанк КАК РасчетныеДокументыБанк
ГДЕ
    РасчетныеДокументыБанк.Дата = &Дата
СГРУППИРОВАТЬ ПО
    РасчетныеДокументыБанк.Номер,
    РасчетныеДокументыБанк.Организация,
    РасчетныеДокументыБанк.Контрагент,
    РасчетныеДокументыБанк.НомерПоручения,
    РасчетныеДокументыБанк.СчетКонтрагента.Банк.Код,
    РасчетныеДокументыБанк.СчетОрганизации,
    РасчетныеДокументыБанк.Тип,
    РасчетныеДокументыБанк.СчетКонтрагента.НомерСчета,
    РасчетныеДокументыБанк.Ссылка,
    РасчетныеДокументыБанк.ДатаВыписки,
    РасчетныеДокументыБанк.Дата,
    РасчетныеДокументыБанк.Контрагент.КодПоЕДРПОУ

УПОРЯДОЧИТЬ ПО
    Дата,
    Номер

Автор: Petre 27.02.17, 15:04

cos12 @ Сегодня, 14:53 * ,
В данном журнале нет назначения платежа. Стройте запрос к документам.

Автор: cos12 27.02.17, 15:10

Petre @ Сегодня, 15:04 * ,
я понимаю что нужно обратиться к документу, я просто не понимаю как((( делать по другому запрос? делать два запроса и потом их как то обьединять?

Автор: logist 27.02.17, 15:28

Цитата(cos12 @ 27.02.17, 16:10) *
делать по другому запрос?

Да, выбирайте не данные регистра, а данные проведенных документов

Автор: sava1 27.02.17, 15:37

Цитата(cos12 @ 27.02.17, 15:10) *
делать два запроса и потом их как то обьединять?

Зачем. Пользователь у Вас уже выбрал тип документа.

Автор: cos12 27.02.17, 15:37

Цитата(logist @ 27.02.17, 15:28) *
Да, выбирайте не данные регистра, а данные проведенных документов

В том и проблема что я не пойму с какого регистра брать данные.
Не подскажете?

Автор: sava1 27.02.17, 15:40

Типо так

Запрос = Новый Запрос; 
Запрос.Текст = "
|ВЫБРАТЬ
|    РеализацияТоваровУслуг.Ссылка
|ИЗ
|    Документ. РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
|    РеализацияТоваровУслуг.Контрагент = &Контрагент
|    И
|    (РеализацияТоваровУслуг.Номер < 100 | ИЛИ | РеализацияТоваровУслуг.Дата < ДАТАВРЕМЯ(2005, 1, 1))
|    И
|    РеализацияТоваровУслуг.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)";

Запрос.УстановитьПараметр("Контрагент", ОтбКонтрагент);
Запрос.УстановитьПараметр("Номенклатура", ОтбНоменклатура);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
    // действия с документом - элементом выборки,
    // его значение содержится в переменной Выборка
КонецЦикла;

Автор: cos12 27.02.17, 15:48

Цитата(sava1 @ 27.02.17, 15:37) *
Зачем. Пользователь у Вас уже выбрал тип документа.

Выбрал, получил список платежек, но к этому списку нужно что бы ещо и назначения платежа выводилось. а когда в этом же запросе пробую добавить вывод реквезита назначениеПлатежа, мне выдает ошибку:



((((

Р.S. Делаю на СКД

Автор: logist 27.02.17, 15:56

Цитата(cos12 @ 27.02.17, 16:48) *
мне выдает ошибку

Не трогайте регистр. Ваша таблица это Документ.ПлатежноеПроучение...

Автор: cos12 27.02.17, 16:10

Цитата(logist @ 27.02.17, 15:56) *
Не трогайте регистр. Ваша таблица это Документ.ПлатежноеПроучение...

А поподробнее можно? насколько я понимаю, я регистра не трогаю, я колупаю ЖурналДокументов...
или вы имеете ввиду через него лезть в документ и из него номер и остольное тянуть? или как? просто не могу понять(((( 09000000.gif

Автор: Petre 27.02.17, 16:42

cos12 @ Сегодня, 15:48 * ,
Бесконечной длины строки не могут группироваться. Выразите назначение платежа как строку с длиной, например, 1000.

Автор: Vidocq05 27.02.17, 17:00

cos12 @ Сегодня, 14:53 * ,
По поводу назначения платежа вот:

ВЫБРАТЬ
    РасчетныеДокументыБанк.Ссылка КАК Ссылка,
    РасчетныеДокументыБанк.Дата КАК Дата,
    РасчетныеДокументыБанк.Номер КАК Номер,
    РасчетныеДокументыБанк.Организация КАК Организация,
    РасчетныеДокументыБанк.СчетОрганизации КАК СчетОрганизации,
    РасчетныеДокументыБанк.СуммаДокумента КАК СуммаДокумента,
    РасчетныеДокументыБанк.Контрагент КАК Контрагент,
    РасчетныеДокументыБанк.ДатаВыписки КАК ДатаВыписки,
    РасчетныеДокументыБанк.НомерПоручения КАК НомерПоручения,
    РасчетныеДокументыБанк.Тип КАК Тип,
    РасчетныеДокументыБанк.Контрагент.КодПоЕДРПОУ КАК КонтрагентЕДРПОУ,
    РасчетныеДокументыБанк.СчетКонтрагента.НомерСчета КАК СчетКонтрагента,
    РасчетныеДокументыБанк.СчетКонтрагента.Банк.Код КАК МФО,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(РасчетныеДокументыБанк.Ссылка) = ТИП(Документ.ПлатежноеПоручениеВходящее)
            ТОГДА РасчетныеДокументыБанк.Ссылка.НазначениеПлатежа
        КОГДА ТИПЗНАЧЕНИЯ(РасчетныеДокументыБанк.Ссылка) = ТИП(Документ.ПлатежноеПоручениеИсходящее)
            ТОГДА РасчетныеДокументыБанк.Ссылка.НазначениеПлатежа
    КОНЕЦ КАК НазначениеПлатежа
{ВЫБРАТЬ
    Ссылка.*}
ИЗ
    ЖурналДокументов.РасчетныеДокументыБанк КАК РасчетныеДокументыБанк
ГДЕ
    РасчетныеДокументыБанк.Дата = &Дата

УПОРЯДОЧИТЬ ПО
    Дата,
    Номер

Насколько оптимальный запрос - не анализировал

Автор: cos12 27.02.17, 17:04

незнаю как и почему но у меня получилось сделать то что я хотел
Вот запрос

ВЫБРАТЬ
    РасчетныеДокументыБанк.Тип,
    РасчетныеДокументыБанк.Ссылка.Ссылка,
    РасчетныеДокументыБанк.Ссылка.Номер КАК НомерВходяжегоПоручения,
    РасчетныеДокументыБанк.Ссылка.Дата КАК ДатаВходяжегоПоручения,
    РасчетныеДокументыБанк.Ссылка.Контрагент КАК Контрагент,
    РасчетныеДокументыБанк.Ссылка.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
    РасчетныеДокументыБанк.Ссылка.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
    РасчетныеДокументыБанк.Ссылка.Организация,
    РасчетныеДокументыБанк.Ссылка.СуммаДокумента КАК СуммаДокумента,
    РасчетныеДокументыБанк.Ссылка.СчетКонтрагента.НомерСчета КАК НомерСчетаКонтрагента,
    РасчетныеДокументыБанк.Ссылка.СчетКонтрагента.Банк.Код КАК МФОКонтрагента,
    РасчетныеДокументыБанк.Ссылка.СчетОрганизации.Банк.Код КАК МФООрганизации,
    РасчетныеДокументыБанк.Ссылка.НазначениеПлатежа КАК НазначениеПлатежа
ИЗ
    ЖурналДокументов.РасчетныеДокументыБанк КАК РасчетныеДокументыБанк
ГДЕ
    РасчетныеДокументыБанк.Ссылка.Дата = &Дата


но теперь у меня стоит следующая проблема:
в конструкторе запросов на вкладке условие я указывал условие: РасчетныеДокументыБанк.Ссылка.Дата = Дата
соответственно у меня в консоле СКД на вкладке параметры вывелась дата, указал тип Дата.
дальше на вкладке настроики-параметры вывелась дата. указываю текущую дату и нажимаю сформировать, а отчет по текущей дате не формируеться(((
как исправить мне нужно чтобы была возможнось показать на текущую дату какие платежки уже есть...

Автор: Vidocq05 27.02.17, 17:11

cos12 @ Сегодня, 14:53 * ,
Хотя лучше так

ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(РасчетныеДокументыБанк.Ссылка) = ТИП(Документ.ПлатежноеПоручениеВходящее)
                ИЛИ ТИПЗНАЧЕНИЯ(РасчетныеДокументыБанк.Ссылка) = ТИП(Документ.ПлатежноеПоручениеИсходящее)
            ТОГДА РасчетныеДокументыБанк.Ссылка.НазначениеПлатежа
        ИНАЧЕ ""
    КОНЕЦ КАК НазначениеПлатежа


Группировка не нужна, т.к. не имеет смысла

Цитата(cos12 @ 27.02.17, 17:04) *
как исправить мне нужно чтобы была возможнось показать на текущую дату какие платежки уже есть...

Что вы имеете ввиду под "на текущую дату"? Период?

Автор: cos12 27.02.17, 17:18

Vidocq05 @ Сегодня, 17:11 * ,
Вот я выбрал любую дату, мне построился отчет:
Картинка1



а теперь я ввел сегоднешнюю дату и получил вот такое:
Картинка2


хотя я знаю что за сегодня платежки есть загружены и проведены...
где я что пропустил или не правильно указал???

Автор: logist 27.02.17, 17:32

ГДЕ
    НАЧАЛОПЕРИОДА(РасчетныеДокументыБанк.Ссылка.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)

Автор: Vidocq05 27.02.17, 17:38

cos12 @ Сегодня, 17:18 * ,
Или можно так

ГДЕ
    РасчетныеДокументыБанк.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)

Автор: cos12 27.02.17, 17:41

logist @ Сегодня, 17:32 * ,
Спасибочки))) получилось)))

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua