Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: с формировать отчет 1с 7.7 нужна помощь

Я
   sanekdark
 
30.11.17 - 07:07
нужно отчет сделать  чтоб выводил список клиент . дату ,услугу, цену,  т потом уже общую сумму на каждый чек . я вот сделал получилось но не могу понять как сделать чтоб перечислял услуги списком  а то берет одну услугу  и цену а сумму общую чека.
вот код 
//*******************************************

// Процедура генерации запроса Сформировать.
//

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)

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

    ;
    // Если ошибка в запросе, то выход из процедуры

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

    // Подготовка к заполнению выходных форм данными запроса

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"

    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей КассовыйЧек

        Таб.ВывестиСекцию("КассовыйЧек");
КонецЦикла;
    // Заполнение полей "Итого"

    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
 
  Рекламное место пустует
   sanekdark
 
1 - 30.11.17 - 07:18
   sanekdark
 
2 - 30.11.17 - 07:19
<a href='https://hostingkartinok.com/show-image.php?id=d77ce676359b8cdc2e97795aef9a6eb0' title='хостинг фотографий'><img style="width:100%" src='https://s8.hostingkartinok.com/uploads/images/2017/11/d77ce676359b8cdc2e97795aef9a6eb0.jpg' alt='мойцка.jpg'  /></a>
   sanekdark
 
3 - 30.11.17 - 07:19
   VladZ
 
4 - 30.11.17 - 07:24
(0) "Группировка КассовыйЧек." В переводе на человеческий язык означает "Выведи мне, шайта-машина, детализацию по документам. Другая детализация мне не нужна".
   VladZ
 
5 - 30.11.17 - 07:25
"КассовыйЧек.ДатаДок, КассовыйЧек.ВремяДок, КассовыйЧек.НомерДок, КассовыйЧек.Клиент, КассовыйЧек.Товар, КассовыйЧек.Количество, КассовыйЧек.Цена, КассовыйЧек.Основание" - шаманство на уровне "Напишу побольше всякой фигни. Авось что-нибудь поможет".
   kubik_live
 
6 - 30.11.17 - 07:27
(0) Я б вытащил рез-т запроса в ТЗ, а потом фильтруй, что хочешь...
   sanekdark
 
7 - 30.11.17 - 07:27
Тоесть что нужно сделать то не понял убрать касовый чек в переди? можно пример кода ?
   VladZ
 
8 - 30.11.17 - 07:28
Читай букварь. Даже ссылку тебе дам: http://www.mista.ru/articles1c/query.htm
   sanekdark
 
9 - 30.11.17 - 07:28
Я ток учусь просто)))
   kubik_live
 
10 - 30.11.17 - 07:28
(5) +1
 
  Рекламное место пустует
   sanekdark
 
11 - 30.11.17 - 07:28
в данном случае можете помочь? пример каконить как сделать ?
   VladZ
 
12 - 30.11.17 - 07:29
(7) Пример кода не дам. Читай букварь и думай сам.
   sanekdark
 
13 - 30.11.17 - 07:29
спасибо на этом хоть))
   VladZ
 
14 - 30.11.17 - 07:31
(13) Еще можно посмотреть, как  сделано в типовых. См. как сделаны отчеты в ТИС 9.2.
   sanekdark
 
15 - 30.11.17 - 07:32
ок щас гляну
   Duke1C
 
16 - 30.11.17 - 10:23
(14) Боюсь, об типовые у ТС может случиться перелом мозга. Там запросы развесистые, да еще собираются из разных кусков (МФ и прочая клюква)
   Масянька
 
17 - 30.11.17 - 10:27
(16) Да, ладно...
Типовые семерочные - реанимация поможет (100%). А вот типовые ЗУП - только в морг.
   Ёпрст
 
18 - 30.11.17 - 10:28
(0)

 |Группировка КассовыйЧек;
 |Группировка Товар;
.........
Пока Группировка(1)=1 Цикл
    ..........
   Таб.ВывестиСекцию("Чек");
   Пока Группировка(2)=1 Цикл
       ........... 
       Таб.ВывестиСекцию("СтрокаЧека");
   КонецЦикла;
   Таб.ВывестиСекцию("ИтогоЧек");

КонецЦикла;
.........
Таб.ВывестиСекцию("Подвал");
   VladZ
 
19 - 30.11.17 - 11:34
(16) Отчеты в ТИС - стандарт де-факто. Так что лучше сразу делать "с МФ и клюквой"
   torgm
 
20 - 30.11.17 - 11:44
(16)  да там просто, берешь обвязку от отчета по продажам , пишешь свой отчет, добавляешь в обвязку и все.
   sanekdark
 
21 - 30.11.17 - 13:34
сделал так сейчас но все равно нет наименование товара подскажите что не так 
//*******************************************

// Процедура генерации запроса Сформировать.
//

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)

    |Период с ВыбНачПериода по ВыбКонПериода; 
    |КассовыйЧек = Документ.КассовыйЧек.ТекущийДокумент;
    |Основание = Документ.КассовыйЧек.Основание;
    |Товар = Документ.КассовыйЧек.Товар;
    |Количество =Документ.КассовыйЧек.Количество;
    |НомерДок =Документ.КассовыйЧек.НомерДок;
    |ДатаДок =Документ.КассовыйЧек.ДатаДок;
    |ВремяДок = Документ.КассовыйЧек.ВремяДок;
    |Цена = Документ.КассовыйЧек.Цена;   
    |Сумма = Документ.КассовыйЧек.Сумма;
    |Функция КоличествоСумма = Сумма(Количество);
    |Функция СуммаСумма = Сумма(Сумма);
    |Группировка КассовыйЧек;
    |Группировка Товар;
     |"//}}ЗАПРОС

    ;
    // Если ошибка в запросе, то выход из процедуры

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

    // Подготовка к заполнению выходных форм данными запроса

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"

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

    //        Таб.ВывестиСекцию("СтрокаЧека");

    //    КонецЦикла;

        Таб.ВывестиСекцию("Итого");
    КонецЦикла;

    // Вывод заполненной формы

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
   sanekdark
 
22 - 30.11.17 - 13:40
все разобрался сделал спасибо всем 
 вот как 
//*******************************************

// Процедура генерации запроса Сформировать.
//

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)

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

    ;
    // Если ошибка в запросе, то выход из процедуры

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

    // Подготовка к заполнению выходных форм данными запроса

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"

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

    // Вывод заполненной формы

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
   sanekdark
 
23 - 30.11.17 - 13:40
Ёпрст спасибо помог ты!
   Slypower
 
24 - 30.11.17 - 14:04
но вот Итого из цикла выкинь
   sanekdark
 
25 - 30.11.17 - 20:29
не не мне в цикле над было))) и еще отдельно создал  без цикла) мне над чтоб сумму показывал каждого чека а потом уже общую сумму)) щас норм сделал все) спасибо за подсказку



Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует