1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Создание таблицы отчета

Тема в разделе "Базы данных и администрирование", создана пользователем -, 29 мар 2008.

  1. Гость

    Репутация:
    0
    Делаю отчет по продавцам:

    //*******************************************
    // Переменные
    Перем Продажи;
    Перем Возвраты;
    Перем Аванс;
    Перем ВсегоПродажи;
    Перем ВсегоВозвраты;
    Перем ВсегоАванс;
    Перем ДокНомер;
    Перем ДокДата;
    Перем ДокВид;
    Перем СотрудникИмя;
    Перем СотрудникПрроцент;
    //*******************************************
    // Установка периода расчета
    Процедура ПриОткрытии()
    ДатаНач = НачМесяца(ТекущаяДата());
    ДатаКон = КонМесяца(ТекущаяДата());
    КонецПроцедуры
    //*******************************************
    // Формирование отчета по сотруднику
    Процедура Сформировать()
    ВсегоПродажи=0;
    ВсегоВозвраты=0;
    ВсегоАванс=0;
    Если Сотрудник.Наименование="" Тогда
    СотрудникИмя="По всем сотрудникам";
    Иначе
    СотрудникИмя=Сотрудник.Наименование;
    КонецЕсли;
    Док = СоздатьОбъект("Документ");
    Док.УстановитьФильтр(1,0,0,1,0,0);
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    Таб.ВывестиСекцию("Шапка");
    Док.ВыбратьДокументы(ДатаНач,ДатаКон);
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если (Док.Вид()="ОтчетККМ") Тогда
    Если (Док.Кассир = Сотрудник) ИЛИ (Док.Консультант = Сотрудник) ИЛИ (Док.Консультант2 = Сотрудник) Тогда
    ДокДата = ""+Док.ДатаДок;
    ДокВид = ""+Док.Вид();
    ДокНомер = ""+Док.НомерДок;
    Продажи = Док.Итог("Сумма");
    ВсегоПродажи=ВсегоПродажи+Число(Продажи);
    Возвраты=" ";
    Таб.ВывестиСекцию("Строка");
    КонецЕсли;
    ИначеЕсли (Док.Вид()="ВозвратОтПокупателя") Тогда
    ДокДата = ""+Док.ДатаДок;
    ДокВид = ""+Док.Вид();
    ДокНомер = ""+Док.НомерДок;
    Возвраты = Док.Итог("Сумма");
    ВсегоВозвраты=ВсегоВозвраты+Число(Возвраты);
    Продажи=" ";
    Таб.ВывестиСекцию("Строка");
    ИначеЕсли (Док.Вид()="ВыплатаАвансаСотруднику") Тогда
    //Если (Док.Наименование = Сотрудник) Тогда
    ДокДата = ""+Док.ДатаДок;
    ДокВид = ""+Док.Вид();
    ДокНомер = ""+Док.НомерДок;
    Аванс = Док.Итог("Сумма");
    ВсегоАванс=ВсегоАванс+Число(Аванс);
    Продажи=" ";
    Возвраты=" ";
    Таб.ВывестиСекцию("Строка");
    КонецЕсли;
    // КонецЕсли;
    КонецЦикла;
    Таб.ВывестиСекцию("Итоги");
    Таб.ВывестиСекцию("ШапкаРассчета");
    Таб.ТолькоПросмотр(1);
    Таб.Опции(0,0,0,0);
    Таб.Показать("Таблица");
    КонецПроцедуры
    ------------------------------------------------------------------------------------------------------------------------------------------

    ОчетККМ и ВозвратОтПокупателя - все верно выводит!
    Но в самой таблице в поле "Авани и ВсегоАванс" ничего не выводит???
     
  2. Isabela

    Isabela Гость

    Репутация:
    0
    Поставь в ветке цикла

    ИначеЕсли (Док.Вид()="ВозвратОтПокупателя") Тогда

    сообщение о документе и авансе, может программа туда просто не попадает
     
  3. Гость

    Репутация:
    0
    Спасибо!
    Нашел проблему - не поставил галочку на оперучете в док.ВыплатаАвансаСотруднику... :rolleyes:
     
Загрузка...

Поделиться этой страницей