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
| Ни разу не встречала ТЕСТОВЫХ задач, в которых за каким-то лядом потребовалась бы вторая табличная часть документа. | |
| Интернет-форум Краснодарского края и Краснодара |