Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отчет по Накл в разрезе оплат
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
bereznoy
Есть много расходных накладных, на основании их созданы пко, подскажите как
сделать отчет, или как запрос сформировать, что б был список документов,
а вправо создавались колонки с датами оплат
Pepe
Вы уже задавали похожий вопрос. Реализация вашей задачи через перебор накладных и проверку связанных с ними ПКО.
bereznoy
Цитата(Pepe @ 15.04.12, 10:02) необходимо зарегистрироваться для просмотра ссылки
Вы уже задавали похожий вопрос. Реализация вашей задачи через перебор накладных и проверку связанных с ними ПКО.

При создании отчета в запросе можно делать проверку свзяных?
Pepe
Цитата(bereznoy)
При создании отчета в запросе можно делать проверку свзяных?


Нет. Запросом можете выбрать накладные, а потом их перебором в цикле перебрать связанные документы и найти ПКО.
bereznoy
"ПодчинённыеДокументы" я присвою в отчете, помогите плиз с перебором после выборки
Задумка такая что при формировании отчета все оставалось как есть,Но была еще одна колонка в которой расшифровка была
по оплата, т.е. Дата+Сумма и через запятую


перем ВыбТМЦ; перем контаге;



//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |РасходнаяРеализатора = Документ.РасходнаяРеализатора.ТекущийДокумент;
    |Контрагент = Документ.РасходнаяРеализатора.Контрагент;
    |СуммаСНДС = Документ.РасходнаяРеализатора.СуммаСНДС;
    |Оплачено = Документ.РасходнаяРеализатора.Оплачено;
    |Функция Сумма = Сумма(СуммаСНДС);
    |Функция РасходнаяРеализатораОплаченоСумма = Сумма(РасходнаяРеализатора.Оплачено);
    |Группировка РасходнаяРеализатора упорядочить по РасходнаяРеализатора.Контрагент, РасходнаяРеализатора.ДатаДок, РасходнаяРеализатора.НомерДок, РасходнаяРеализатора.Оплачено, РасходнаяРеализатора.ДолгПоНакл, РасходнаяРеализатора.Город, РасходнаяРеализатора.Улица все ВошедшиеВЗапрос;
    |Условие(Контрагент в ВыбКонтрагент);
    |"//}}ЗАПРОС
;

    
    Выборка = РезультатЗапроса.Выбрать();  
    
    ПодчинённыеДокументы = 0;
Пока Выборка.Следующий() Цикл
    
    ПодчинённыеДокументы = 0;  
    Док = СоздатьОбъект("Документ");
    Док.УстановитьФильтр(1, 0, 1, 1, 1, 1);
    Док.ВыбратьПодчиненныеДокументы(,,ТекущийДокумент());
    

   Пока док.получитьДОкумент()=1 цикл
  текДок = Док.Запрос.РасходнаяРеализатора;
    ПодчинённыеДокументы = текДок.ДатаДок +" Оплачено = " + текДок.СуммаСНДС;
    
КонецЦикла;
КонецЦикла;
    
    
    
    


    
    
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей РасходнаяРеализатора
        Таб.ВывестиСекцию("РасходнаяРеализатора");
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");


КонецПроцедуры
vadim007
Извиняюсь - удалил первоначальный ответ как неверный.
bereznoy
help me господа 05071.gif
vadim007
Какая конфигурация?
bereznoy
Цитата(vadim007 @ 17.04.12, 8:24) необходимо зарегистрироваться для просмотра ссылки
Какая конфигурация?

Торговля+Склад 7.70.011
5_kopeek
Перем Док;

//*********************************************************************
Функция ПолучитьОплату(ТекДок)
    ПодчиненныеДокументы = "";
    Док.ВыбратьПодчиненныеДокументы(,,ТекДок);
    Пока Док.ПолучитьДокумент()=1 Цикл
        Если (Док.Вид() <> "ПриходныйКассовый") Тогда
            Продолжить;
        КонецЕсли; // (Док.Вид() неравно "ПКО")
        ПодчиненныеДокументы=ПодчиненныеДокументы+Док.ДатаДок+", "+Док.СуммаСНДС+"; ";
    КонецЦикла;
    Возврат ПодчиненныеДокументы;
КонецФункции //ПолучитьОплату

//*********************************************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |РасходнаяРеализатора = Документ.РасходнаяРеализатора.ТекущийДокумент;
    |Контрагент = Документ.РасходнаяРеализатора.Контрагент;
    |СуммаСНДС = Документ.РасходнаяРеализатора.СуммаСНДС;
    |Оплачено = Документ.РасходнаяРеализатора.Оплачено;
    |Функция Сумма = Сумма(СуммаСНДС);
    |Функция РасходнаяРеализатораОплаченоСумма = Сумма(РасходнаяРеализатора.Оплачено);
    |Группировка РасходнаяРеализатора упорядочить по РасходнаяРеализатора.Контрагент, РасходнаяРеализатора.ДатаДок, РасходнаяРеализатора.НомерДок, РасходнаяРеализатора.Оплачено, РасходнаяРеализатора.ДолгПоНакл, РасходнаяРеализатора.Город, РасходнаяРеализатора.Улица все ВошедшиеВЗапрос;
    |Условие(Контрагент в ВыбКонтрагент);
    |"//}}ЗАПРОС
;
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Док=СоздатьОбъект("Документ");
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей РасходнаяРеализатора
        ТекДок=Запрос.РасходнаяРеализатора;
        ПодчиненныеДокументы=ПолучитьОплату(ТекДок);
        Таб.ВывестиСекцию("РасходнаяРеализатора");
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
vadim007
Вот что есть у меня, делал когда-то:
необходимо зарегистрироваться для просмотра ссылки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.