Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 23:55
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Отчет по кассе  (Прочитано 6877 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Natalia21

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Помогите пожалуйста. Делаю отчет "Кассовая книга".
1. при формировании отчета выводятся макеты за каждый день, даже если в этот день не было операций
2. не выводятся данные о приходном кассовом ордере (данные должны выводится в область "Строка", как правильно прописать путь?)
3. как сделать чтобы считался приход и расход за день?

Процедура КнопкаСформироватьНажатие(Кнопка)
   ТабДок = Новый ТабличныйДокумент();
   Макет = ЭтотОбъект.ПолучитьМакет("КассоваяКнига");
   
   СледующийДень = КонецДня(ДатаНач);
   Пока СледующийДень <= КонецДня(ДатаКон) Цикл
   
   //тут создаю шапку - дает возможность сделать циклом за каждый день из выбранного периода
       //Вывести область "Заголовок"
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьЗаголовок.Параметры.Заполнить(ЭтотОбъект);
ОбластьЗаголовок.Параметры.ЗаголовокЛиста = "КАССА за ";
ТабДок.Вывести(ОбластьЗаголовок);

//Вывести область "Шапка"
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(ОбластьШапка);

//Вывести область "Подвал"
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьПодвал.Параметры.Заполнить(ЭтотОбъект);
// ОбластьПодвал.Параметры.ПриходЗаДень =
//      ОбластьПодвал.Параметры.РасходЗаДень =
// ОбластьПодвал.Параметры.ОстатокНаКонец =
    ТабДок.Вывести(ОбластьПодвал);

//Вывести область "Подпись"
ОбластьПодпись = Макет.ПолучитьОбласть("Подпись");
ОбластьПодпись.Параметры.Заполнить(ЭтотОбъект);
ОбластьПодпись.Параметры.Кассир = Константы.Кассир.Получить();
//      ОбластьПодпись.Параметры.КолПриходныхРасходных =
ОбластьПодпись.Параметры.Бухгалтер = Константы.ГлБухгалтер.Получить();
    ТабДок.Вывести(ОбластьПодпись);

ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();


      //данные по приходу
      ЗапросПКО = Новый Запрос;
      ЗапросПКО.УстановитьПараметр("ДатаНач",ДатаНач);
      ЗапросПКО.УстановитьПараметр("ДатаКон",СледующийДень);
      ЗапросПКО.Текст = "ВЫБРАТЬ
      |   ПриходныйОрдер1.Номер,
      |   ПриходныйОрдер1.Сумма
      |ИЗ
      |   Документ.ПриходныйОрдер1 КАК ПриходныйОрдер1
      |ГДЕ
      |   ПриходныйОрдер1.Дата МЕЖДУ &ДатаНач И &ДатаКон";
      РезультатПКО = ЗапросПКО.Выполнить().Выбрать();
  Пока РезультатПКО.Следующий() Цикл
//Вывести область "Строка"
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Заполнить(ЭтотОбъект);
// ОбластьСтрока.Параметры.НомерДокумента = 
    ТабДок.Вывести(ОбластьСтрока);
      КонецЦикла;
     
      СледующийДень = КонецДня(СледующийДень + 1*60);     
   КонецЦикла;
    КонецПроцедуры


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Re: Отчет по кассе
« Ответ #1: 06 Дек 2011, 07:06 »
1. Цикл не правильно организован, поэтому и выводит лишние данные. Надо выбрать документы ПКО и РКО и уже эту выборку обходить и выводить таблицу
2. Попробовать так
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Заполнить(РезультатПКО);
3. Получать данные по приходникам и расходникам, группировать по дням

Оффлайн Natalia21

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Re: Отчет по кассе
« Ответ #2: 07 Дек 2011, 20:15 »
2. Попробовать так
Код:
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Заполнить(РезультатПКО);

Не работает, данные ордера не выводятся(((

Оффлайн Natalia21

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Re: Отчет по кассе
« Ответ #3: 07 Дек 2011, 20:27 »
Данные ПКО вывела, но почему то отображается эта строка в самом конце, а не в таблице, где она должна быть((

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Re: Отчет по кассе
« Ответ #4: 07 Дек 2011, 23:42 »
Наташа, правильно? Можно на ты?
Так вот, Наташа, функция - "ОбластьСтрока.Параметры.Заполнить(РезультатПКО);" - работает в том случае если имена параметров области макета (в твоем случае "СТРОКА") совпадают с именами реквизитов документа(Именами колонок запроса) То есть - Реквизит документа "Номер" ляжет в параметр <Номер> и т.д.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Natalia21

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Re: Отчет по кассе
« Ответ #5: 08 Дек 2011, 00:12 »
Да, можно конечно)) С этим я разобралась, данные ПКО у меня выводятся в строку, но почему область эта "Строка" выводится уже в конце документа, а не в самой таблице, где она должна быть...

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Re: Отчет по кассе
« Ответ #6: 08 Дек 2011, 00:57 »
Где вызван метод Вывести() там и выводиться. Если ОбластьПодвал.Вывести() раньше области "Строка" то подвал будет выше строки
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Natalia21

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Re: Отчет по кассе
« Ответ #7: 10 Дек 2011, 21:33 »
подскажите еще пожалуйста как можно сделать чтобы вот в отчете с области "строка" отображались сначала приходные ордера, а потом расходные?
запрос на РКО, такой же примерно как и на ПКО:
ЗапросРКО = Новый Запрос;
    ЗапросРКО.УстановитьПараметр("ДатаНач",ДатаНач);
    ЗапросРКО.УстановитьПараметр("ДатаКон",СледующийДень);
    ЗапросРКО.Текст = "ВЫБРАТЬ
      |   РасходныйОрдер.Номер,
  |   РасходныйОрдер.Выдать,
  |    РасходныйОрдер.КоррСчет,
      |   РасходныйОрдер.СуммаРКО
      |ИЗ
      |   Документ. РасходныйОрдер КАК  РасходныйОрдер
      |ГДЕ
      |    РасходныйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон";
    РезультатРКО = ЗапросРКО.Выполнить().Выбрать();
 
Пока РезультатРКО.Следующий() Цикл
КонецЦикла;


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 245
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal