7.7 Отчет выручки за текущий день.

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем athlon64k, 3 июл 2017.

  1. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    День добрый Уважаемые форумчане. Задался вот таким отчетом. (Увидеть чистую прибыль по наличке за рабочий день) Решил создать отчет о выручке по продажам относительно Документа ЧекККМ. И столкнулся с проблемой Возврата (имеется ввиду Возврат в ТОТ же ДЕНь что и купили!!!) В журнале чеков ккм присутствует что то подобное по кнопке Реестр, но там он кидает все суммы в один итог (и продажи и возвраты и поэтому в общем каша какая то), в общем создал отчет методом запроса но дал ему условие что бы отбирал только чеки ККМ (а возвратные не показывал). Вроде бы все отлично, но есть одно но... Когда создается чек возврата , а он вводится на основании чека который мы хотим вернуть то согласно проводке, чек возврата возвращает нам товар на склад ( это правильно и все отлично) , но в тоже время помимо этого чека возврата в журнале (реестре документов) так же остается чек на который мы оформляли возврат. И мой отчет не показывает Чек возврата (вроде все хорошо) (так как я задал условие его не показывать) но остается этот основной чек с суммой из-за чего продавец путается и не поймет откуда у него недостача (ровно на сумму этого чека, по сути которого он уже эти деньги вернул). Вот я хотел его тоже условием скрывать Но не могу найти по какому признаку он привязан к документу Чека возврата, ведь при удалении если мы пытаемся его удалить а у нас на него есть чек возврата, То процедура удаления нас завернет на ссылке на документ чек возврата. А по какому признаку он его видит*:? Единственное думаю что основной чек покупки тогда помечать на удаление или делать его не проведенным (что соответственно обозначить в запросе что бы не обрабатывал удаленный или не проведенный документ), Но правильно ли это будет?
    В особенности ведения бизнеса на данной конфигурации входит то, что закрытие кассовых смен не делают....
    Вот код запроса: 1225.jpg
    --- Объединение сообщений, 3 июл 2017 ---
    Пометка на удаление или отмена проведения основного чека -успехом не увенчалась так как после создания чека возврата если основной чек продажи пометить на удаление или отменить проведение - на склад плюсуется еще то количество товара который мы обозначили в чеке возврата. (зато в отчете выручка верна)))) По ходу тут что-то серьезное надо писать?))
    Последнее редактирование: 3 июл 2017
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.628
    Симпатии:
    542
    Баллы:
    204
    В чеке ККМ есть реквизит ВидОперации типа перечисление. Этот реквизит как покажет что это: продажа или возврат.
    В функцию суммирования добавьте условие (когда продажа ) и еще одну функцию (когда возврат).
    Все! У вас будут 2 суммы. Итоги сойдутся.
    athlon64k нравится это.
  3. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    Спасибо. А ничего что я уже вписал условие отбора (исключить чеки возвратов в таблице) |Условие(ВидОперации = Перечисление.ВидыОперацийЧекККМ.Чек);
    или его надо заремить(или удалить)? И если можно условный пример как в функцию суммирования добавить условие ( заранее извиняюсь за невежество- просто никогда не писал такое в теле запроса)...
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.628
    Симпатии:
    542
    Баллы:
    204
    Убрать нужно..
    athlon64k нравится это.
  5. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    Не знаю как насчет итоги сойдутся (по ходу что то не допонял) но получилось что отчет выходит, но он отдельно у меня показывает документы чеки и документы возвратов (тоже неплохо) - тогда может подскажете как в запросе написать (сделать) что бы он в третьей колонке показывал значения разницы между первыми двумя колонками? ))) типа (3колонка = 1колонка - 2яКолонка) там-то я по ходу и увижу чистую выручку)))

    Вложения:

    • 14878.jpg
      14878.jpg
      Размер файла:
      279,3 КБ
      Просмотров:
      13
    • 12.jpg
      12.jpg
      Размер файла:
      507,9 КБ
      Просмотров:
      12
  6. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    Ну или скиньте пример написания этой формулы (или тыкните куда или где копать)...
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.628
    Симпатии:
    542
    Баллы:
    204
    Просто... В таблице в которой выводите
  8. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    241
    Симпатии:
    11
    Баллы:
    29
    У Вас:
    |Функция СуммаСумма2 = Сумма (Сумма)
    не правильно.
    При выводе секции:
    СуммаСумма2 = СуммаСумма - СуммаСумма1.
    athlon64k нравится это.
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.628
    Симпатии:
    542
    Баллы:
    204
    О чем я и сказал.....
    athlon64k нравится это.
  10. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    Опять затупил))
    Это пишется в той части где Подготовка к заполнению выходных форм данными запроса?

    если я пишу |Функция СуммаСумма2 = СуммаСумма - СуммаСумма1
    Ошибка
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    {Отчет.ОтчетПродажМин.Форма.Модуль(27)}: Функция СуммаСумма2 = <<?>> СуммаСумма - СуммаСумма1;
    Запрос[13] : Неожиданное выражение 'СуммаСумма' - (я ее закомментировал)

    если это выражение касается ячейки таблицы(пишу выражение в самой ячейке) то пишет что СуммаСумма2 -переменная не определена

    При выводе секции:
    СуммаСумма2 = СуммаСумма - СуммаСумма1 (При выводе секции какой? у меня их всего три , Заголовок,Наименование, Итого) -имеется ввиду в табличной форме.

    Уж извините за тупежь))).
    Пытался найти пример в отчетах конфы что то подобное, но что то безуспешно.



    (Я в общем то пошел более легким путем (если это можно так назвать) , я на шапке дока ЧЕККм создал реквизит (флаг) чек на возврат и когда по нему возвращаю ставлю этот флаг. -ну и соответственно в запросе условия на это. Единственный минус что теперь не видно подробностей (чек продажи и чек возврата скрыты) а в варианте который разбираем было бы все подробно. И не надо никаких доп. реквизитов))
  11. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    241
    Симпатии:
    11
    Баллы:
    29
    Наименование и, возможно, Итого, т.е. там где это необходимо!
    athlon64k нравится это.
  12. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    в общем ругается на то что не определены переменные, в запросе же есть (переменные) в функциях они - СуммаСумма, СуммаСумма1, и СуммаСумма2 (хотя последняя закомментирована)
    |Функция СуммаСумма2 = Сумма (Сумма)
    не правильно. - я ее закомментировал и тогда он ее не определяет как переменную, Если же я в запросе пишу СуммаСумма2 = Сумма Сумма-СуммаСумма1 (Отчет.ОтчетПродажМин.Форма.Модуль(27)}: Функция СуммаСумма2 = <<?>> СуммаСумма - СуммаСумма1;) значит в запросе так писать нельзя? ))))
  13. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    241
    Симпатии:
    11
    Баллы:
    29
    Таб.ВывестиСекцию ("Наименование");
    СуммаСумма2 = СуммаСумма - СуммаСумма1;
    Как-то так, ни таблицы, ни модуля не видно; точнее сказать нельзя.
    Это же и говорил Бухгалтерский угодник!
    athlon64k нравится это.
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.628
    Симпатии:
    542
    Баллы:
    204
    нельзя...
    Код:
    Функция СуммаСумма2= Сумма(Сумма-СуммаСумма1);
    а вот так можно..
    athlon64k нравится это.
  15. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    Спасибо за советы но увы))) Уже отчет изменил даже но смысл остался тот же, все время пишет что переменные не определены, Если пишу методом функции- то обязательно переменная не определена, тоже самое и в секциях (что то типа функция не определена или отсутствует). И таблица получилась собственно не особо красивая, хотел упорядочить -это что то связано с группировками?

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      362,9 КБ
      Просмотров:
      5
    • 4155.jpg
      4155.jpg
      Размер файла:
      492,4 КБ
      Просмотров:
      5
  16. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    В общем добился результата таким образом:
    |Функция СуммаСумма2 = Сумма(Запрос.СуммаСумма- Запрос.СуммаСумма1);
    Только смысл)?))) (что то не очень внимательно по ходу отнесся к условию)) , Да- он отнимает в общую колонку возврат, но он оставляет тот чек на который делается возврат (если возврат делается день в день) и соответственно ищем недостачу ровно на ту сумму на которую у нас остался чекКМ (а недостачи просто нет, так как висит этот чек - который у нас выводится в общую выручку, деньги то мы за него покупателю отдали)) ). Тогда получается что все-таки дополнительный реквизит (на чеке ккм по которому производится возврат) придется оставить и соответственно просто добавить в отчет условие не выводить его в таблицу если на нем стоит флаг возврата (реквизит- поставленный нами вручную). Так как больше признаков возврата на документе чек ККМ я не увидел)). Но все равно огромное спасибо. Единственное не понял как сделать при построении запроса что бы в таблице значения были ровными (не лесенкой) а не для каждого упорядочивания свое значение и получается что у нас куча данных (секций) по одной позиции,. Пока делаю так : Во время создания запроса делаю упорядочивание по наименованию а все остальное в таблице потом доделываю в ручную (количество сумму и тд). Может есть более простой способ? ))
    P.S. Немного не по теме. Смотрю мне присвоили звание на форуме "Опытный в 1С" - очень смешно)) , еще наверное 150 сообщений от меня и полгода активности на форуме и буду ГУРУ))))
    Последнее редактирование: 11 июл 2017
  17. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    241
    Симпатии:
    11
    Баллы:
    29
    Если Вы при выводе секции "Наименование" напишите СуммаСумма2 = СуммаСумма-СуммаСумма1, тогда в таблице вместо Запрос.СуммаСумма2 пишем просто СуммаСумма2.
    Зачем у Вас выводятся секции ДатаДок, НомерДок и т.д..
    Достаточно Наименование и Итог.
    athlon64k нравится это.
  18. TopicStarter Overlay
    athlon64k
    Offline

    athlon64k Опытный в 1С

    Регистрация:
    26 апр 2012
    Сообщения:
    101
    Симпатии:
    0
    Баллы:
    26
    Я писал так как Вы предложили - Переменная не определена))), поэтому решил написать функцию и в таблице запросом. (но я еще раз попробую, может где то орфографически косякнул)
    "Достаточно Наименование и Итог." - ДатаДок и НомерДок - хотел в отчете видеть дату и номер документов, я понимаю что их можно потом отдельно написать ( раз они у нас в отчете (запросе) определены уже), думал можно как то в конструкторе автоматом сделать ( что бы вывел только столбцы как в екселе)) ).
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.628
    Симпатии:
    542
    Баллы:
    204
    что мешает вычислять в цикле и выводить? там работы то на 20 минут с проверкой
    athlon64k и man37 нравится это.
  20. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    241
    Симпатии:
    11
    Баллы:
    29
    Объявите переменную в начале модуля.
    Дальше как и предложил Бухгалтерский угодник.
    athlon64k нравится это.