8.х нужна помощь в обработке

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем step86, 29 июл 2009.

  1. TopicStarter Overlay
    step86
    Offline

    step86 Опытный в 1С

    Регистрация:
    22 май 2009
    Сообщения:
    137
    Симпатии:
    0
    Баллы:
    26
    Доброй ночи!!! Нужна помощь никак не получается в обработке завязать дату)))

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

    вот код обработки:


    Процедура КнопкаВыполнитьНажатие(Кнопка)

    //ТекДата = ЭлементыФормы.ПолеВыбораДаты.Значение;
    //Дата = КонецДня(ТекДата);

    Запрос = Новый Запрос;

    Запрос.УстановитьПараметр("Значение", Истина);
    Запрос.УстановитьПараметр("Дата", ЭлементыФормы.ПолеВыбораДаты.Значение);
    Запрос.УстановитьПараметр("Касса", Касса);
    Запрос.УстановитьПараметр("Параметр", Перечисления.ВидыОперацийЧекККМ.Продажа);


    Запрос.Текст = "ВЫБРАТЬ
    | ЧекККМ.Ссылка КАК Чек,
    | ЧекККМ.Дата КАК Дата,
    | ЧекККМ.Проведен,
    | ЧекККМ.КассаККМ КАК Касса,
    | ЧекККМ.СуммаДокумента КАК Сумма,
    | ЧекККМ.ВидОперации
    //| ЧекККМ.МоментВремени КАК Дата
    |ИЗ
    | Документ.ЧекККМ КАК ЧекККМ
    |ГДЕ
    | ЧекККМ.Проведен = &Значение
    | И ЧекККМ.КассаККМ = &Касса
    | И ЧекККМ.ВидОперации = &Параметр
    | И ЧекККМ.Дата = &Дата
    |ИТОГИ ПО
    | Сумма";

    //Запрос.УстановитьПараметр("Значение", Истина);
    //Запрос.УстановитьПараметр("Дата", ЭтотОбъект.МоментВремени());
    //Запрос.УстановитьПараметр("Касса", Касса);
    //Запрос.УстановитьПараметр("Параметр", Перечисления.ВидыОперацийЧекККМ.Продажа);

    РезультатЗапроса = Запрос.Выполнить();

    //РезультатЗапроса = ПолучитьДанныеОбработки();

    ИтоговаяСумма = ЭлементыФормы.Итого.Значение;
    ИтоговаяСумма = 0;

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

    ЭлементыФормы.Итого.Значение = ИтоговаяСумма;

    КонецПроцедуры

    как можно с датой завязать, помогите!!!!

    Вложения:

  2. sergey
    Offline

    sergey Курильщик

    Регистрация:
    13 апр 2006
    Сообщения:
    365
    Симпатии:
    0
    Баллы:
    26
    А в чем вообщем-то суть вопроса? Вы ответ уже написали практически.
    Только чуточку подправлю.
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    //ТекДата = ЭлементыФормы.ПолеВыбораДаты.Значение;
    //ДатаНач = НачалоДня(ТекДата);
    //ДатаКон = КонецДня(ТекДата);
    ДатаНач=НачалоДня(ЭлементыФормы.ПолеВыбораДаты.Значение);
    ДатаКон=КонецДня(ЭлементыФормы.ПолеВыбораДаты.Значение);
    Запрос = Новый Запрос;
    
    Запрос.УстановитьПараметр("Значение", Истина);
    Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
    Запрос.УстановитьПараметр("Касса", Касса);
    Запрос.УстановитьПараметр("Параметр", Перечисления.ВидыОперацийЧекККМ.Продажа);
    
    
    Запрос.Текст = "ВЫБРАТЬ
    |    ЧекККМ.Ссылка КАК Чек,
    |    ЧекККМ.Дата КАК Дата,                   
    |    ЧекККМ.Проведен,
    |    ЧекККМ.КассаККМ КАК Касса,
    |    ЧекККМ.СуммаДокумента КАК Сумма,
    |    ЧекККМ.ВидОперации
    //|    ЧекККМ.МоментВремени КАК Дата
    |ИЗ
    |    Документ.ЧекККМ КАК ЧекККМ
    |ГДЕ
    |    ЧекККМ.Проведен = &Значение
    |    И ЧекККМ.КассаККМ = &Касса
    |    И ЧекККМ.ВидОперации = &Параметр
    |    И ЧекККМ.Дата >= &ДатаНач
    |    И ЧекККМ.Дата <= &ДатаКон
    |ИТОГИ ПО
    |    Сумма";
    
    //Запрос.УстановитьПараметр("Значение", Истина);
    //Запрос.УстановитьПараметр("Дата", ЭтотОбъект.МоментВремени());
    //Запрос.УстановитьПараметр("Касса", Касса);
    //Запрос.УстановитьПараметр("Параметр", Перечисления.ВидыОперацийЧекККМ.Продажа);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    //РезультатЗапроса = ПолучитьДанныеОбработки();
    
    ИтоговаяСумма = ЭлементыФормы.Итого.Значение;
    ИтоговаяСумма = 0;
    
    ВыборкаРезультатаЗапроса = РезультатЗапроса.Выбрать();
    Пока ВыборкаРезультатаЗапроса.Следующий() Цикл 
    ТекущаяСумма = ВыборкаРезультатаЗапроса.Сумма;
    ИтоговаяСумма = ИтоговаяСумма + ТекущаяСумма;
    КонецЦикла;    
    
    ЭлементыФормы.Итого.Значение = ИтоговаяСумма;
    
    КонецПроцедуры
    
    
    
    И используйте кнопку "Код" при написании кода на форуме.
  3. TopicStarter Overlay
    step86
    Offline

    step86 Опытный в 1С

    Регистрация:
    22 май 2009
    Сообщения:
    137
    Симпатии:
    0
    Баллы:
    26
    так не получается я уже пробывал, как еще можно
  4. sergey
    Offline

    sergey Курильщик

    Регистрация:
    13 апр 2006
    Сообщения:
    365
    Симпатии:
    0
    Баллы:
    26
    Что не получается конкретно?

    С учетом необходимости выборки чеков только за 1 день простой аналог:
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    ТекДата = ЭлементыФормы.ПолеВыбораДаты.Значение;
    Отбор=Новый Структура;
    Отбор.Вставить("КассаККМ",Касса);
    Док=Документы.ЧекККМ.Выбрать(НачалоДня(ТекДата),КонецДня(ТекДата),Отбор);
    ИтоговаяСумма = 0;
    Пока Док.Следующий() Цикл
    Если (Док.Проведен) и (Док.ВидОперации=Перечисления.ВидыОперацийЧекККМ.Продажа) Тогда
    ИтоговаяСумма = ИтоговаяСумма + ВыборкаРезультатаЗапроса.Сумма;
    КонецЕсли;	
    КонецЦикла;	
    ЭлементыФормы.Итого.Значение = ИтоговаяСумма;
    КонецПроцедуры
    
    
  5. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    что вы мучаетесь с днем то? Вообще уберите дату.... чекиККМ удаляются при закрытии .. следовательно там только за последнюю смену, потом выгружай и итог по колонке сумма
  6. sergey
    Offline

    sergey Курильщик

    Регистрация:
    13 апр 2006
    Сообщения:
    365
    Симпатии:
    0
    Баллы:
    26
    Так ведь никто не говорил, что у него типовая редакция. Может и не удаляются =)
  7. TopicStarter Overlay
    step86
    Offline

    step86 Опытный в 1С

    Регистрация:
    22 май 2009
    Сообщения:
    137
    Симпатии:
    0
    Баллы:
    26
    Добрый день всем!!!

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

    В чем может быть проблема подскажите)))
  8. TopicStarter Overlay
    step86
    Offline

    step86 Опытный в 1С

    Регистрация:
    22 май 2009
    Сообщения:
    137
    Симпатии:
    0
    Баллы:
    26
    все разобрался :unsure:

    ИТОГИ ПО Сумма

    здесь лишнее
Похожие темы
  1. Dillan
    Ответов:
    2
    Просмотров:
    2.109
Загрузка...

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