К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Помогите студенту, пожалуйста!

Гость
0 - 06.06.2020 - 14:10
Удаленное обучение, к сожалению, мало добавило знаний.
Помогите, пожалуйста, разобраться с заданием.
Выполнять нужно на ТиС.
Сам запрос сделали. Работает правильно. Печатную форму тоже создали. Препод всё проверил. Сказал, что норм.
Не получается вывести данные отчета на форму.
И не могу разобраться с таблицей значений.

ЗАДАНИЕ
Магазин ведёт учёт продаж и возвратов товара по складам и проектам.
В течение дня возникает необходимость проверить продажи в разрезе некоторых учетных единиц.
Учёт продаж ведётся документами Реализация и РеализацияРозница. Учёт возвратов с помощью документа ВозвратОтПокупателя.
Создайте отчёт, позволяющий учесть продажи по трём выборочным проектам (П1, П2, П3) с группировкой по складам, причём наименования и количество складов зависит от данных, введённых в пользовательском режиме. Результат отчета должен формироваться, с учётом корректирующей величины (Корректировка), вводимой через числовое поле на форме отчета, в таблице значений и выводиться в текстовое поле на форме отчета по следующей формуле.

Продажа П1+П2+Корректировка, Возврат П1+П2, Итог (Продажа П1+П2)-(Возврат П1+П2)+Корректировка
Продажа П3-Корректировка, Возврат П3, Итог (Продажа П3)-(Возврат П3)
Результат ((Продажа П1+П2)-(Возврат П1+П2)+(Продажа П3)-(Возврат П3)-Корректировка)
Наименование столбцов
Продажа первый этаж - для (Продажа П1+П2)
Возврат первый этаж - для (Возврат П1+П2)
Итого первый этаж - для (Итог (Продажа П1+П2)-(Возврат П1+П2))
Продажа второй этаж - для (Продажа П3)
Возврат второй этаж - для (Возврат П3)
Итого второй этаж - для (Итог (Продажа П3)-(Возврат П3))
Всего продаж - для (Результат ((Продажа П1+П2)-(Возврат П1+П2)+(Продажа П3)-(Возврат П3)))

Отчёт должен учитывать продажи только за текущий день, без возможности изменения периода на форме.
Сделайте кнопку, позволяющую обновлять результат в течение дня, без закрытия формы отчета.

Создайте такой же отчёт, с выводом данных в таблицу значений, расположенную на форме.

Создайте печатную форму отчета.

Модуль отчета

Процедура ОтчетКассира()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//**{ЗАПРОС(ОтчетКассира)
|Период с (ТекущаяДата()) по (ТекущаяДата());
|Обрабатывать НеПомеченныеНаУдаление;
|Реализация = Документ.Реализация.ТекущийДокумент, Документ.РеализацияРозница.ТекущийДокумент;
|ВозвратОтПокупателя = Документ.ВозвратОтПокупателя.ТекущийДокумент;
|Склад = Документ.Реализация.Склад.Наименование, Документ.ВозвратОтПокупателя.Склад.Наименование, Документ.РеализацияРозница.Склад.Наименование;
|Проект = Документ.Реализация.Проект, Документ.ВозвратОтПокупателя.Проект, Документ.РеализацияРозница.Проект;
|Фирма = Документ.ВозвратОтПокупателя.Фирма.Наименование, Документ.Реализация.Фирма.Наименование, Документ.РеализацияРозница.Фирма.Наименование;
|СуммаВозврат = Документ.ВозвратОтПокупателя.Сумма;
|СуммаРеализация = Документ.Реализация.Сумма, Документ.РеализацияРозница.Сумма;
|Функция РеализацияП1 = Сумма(СуммаРеализация) когда(Проект.Наименование = ""П1"");
|Функция РеализацияП2 = Сумма(СуммаРеализация) когда(Проект.Наименование = ""П2"");
|Функция РеализацияП3 = Сумма(СуммаРеализация) когда(Проект.Наименование = ""П3"");
|Функция ВозвратП1 = Сумма(СуммаВозврат) когда(Проект.Наименование = ""П1"");
|Функция ВозвратП2 = Сумма(СуммаВозврат) когда(Проект.Наименование = ""П2"");
|Функция ВозвратП3 = Сумма(СуммаВозврат) когда(Проект.Наименование = ""П3"");
|Группировка Склад;
|"//****ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

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



201 - 25.01.2022 - 15:16
Люди, писавшие на семёрке, готовы в этой жизни ко всему )
Гость
202 - 28.01.2022 - 17:24
Цитата:
Сообщение от Мэри Сью Посмотреть сообщение
Люди, писавшие на семёрке, готовы в этой жизни ко всему )
О, да!
Гость
203 - 28.01.2022 - 17:26
А у нас первая самостоятельно решенная задача. Я вообще не помогала!
А вот следующую, кажется, нужно будет решать всем миром. Я не представляю, как в семерке сделать документ с двумя табличными частями. Пока изучаю мат часть...
204 - 29.01.2022 - 21:03
203-tutsi > с двумя ТЧ - никак.
но эмулировать две ТЧ - можно.
205 - 29.01.2022 - 21:04
"Я не представляю, как в семерке сделать документ с двумя табличными частями."
- я сильно сомневаюсь, что задача поставлена именно что надо сделать документ с двумя ТЧ. Возможно, поставленную задачу вы у себя в голове оттранслировали в две табличные части в документе. И теперь мучаетесь.
.
А надо дословно почитать задачу и найти решение. Которое, возможно, вполне штатно решается без двух ТЧ.
.
206 - 30.01.2022 - 19:29
Вторую, третью и т.д. табличные части - в таблицы значений. В реальную табличной часть документа держать данные, которые будут использоваться при проведении документа.
Данные для виртуальных ТЧ держать обязательно в объектах конфигурации, и обязательно в явном виде - в табличной части другого вспомогательного документа, справочнике.
При открытии документа таблицы значений заполняются по источникам, при записи/проведении документа данные в источниках перезаписываются.
207 - 30.01.2022 - 23:17
И главная засада - что все эти до.ТЧ надо учитывать не только при интерактивной работе с документом, но и при программных действиях.
208 - 17.02.2022 - 06:08
Ни разу не встречала ТЕСТОВЫХ задач, в которых за каким-то лядом потребовалась бы вторая табличная часть документа.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены