|
|||||||||||||
Лабораторная работа №3. Домашняя бухгалтерия. Создание Отчетов. Задача.Стр 1 из 2Следующая ⇒ Лабораторная работа №3 Домашняя бухгалтерия. Создание Отчетов
Цели работы: 1. Запись Документа РасходДенежныхСредств в регистр накопления 2. Отслеживать остатки денежных средств с выдачей необходимых сообщений 3. Строить отчеты по расходам и доходам за произвольный период времени
Порядок выполнения работы: Два раза кликнуть по документу РасходДенежныхСредств. Открыть вкладку Движения, установить флажок ОстатокПоСчетамДенежныхСредств. Нажать на кнопку Конструктор движений.Тип движения регистра: Расход(установить радиокнопку). Выбрать табличную часть Расходы. Нажать Заполнить выражения.
Нажать ОК Автоматически сформировался код, который записывает движение Документа в Регистр. Запустить в пользовательском режиме (F5). Документы \Расход денежных средств. Открыть документ: Провести и закрыть. Теперь зайти в Регистр накопления \Остаток по счетам денежных средств. Документ сформировал движение по регистру. Задача. Необходимо сформировать, чтобы при расходе формировался остаток по счету. В случае, если расход будет превышать наличие денежных средств, то выдавалось бы предупредительное сообщение о нехватке денежных средств. Необходимо вернуться в программный код. Сделать проверку на остаток.
Откроется конструктор запроса
Документы \ Расход денежных средств \ Расходы (табличная часть). Здесь надо получить (отметить поля) СчетДенежныхСредств и Сумму Перейти на вкладку Группировка. Счет.
Перейти на вкладку Условия. Кликнуть два раза по Ссылка. ОК. Перейти на Регистры накопления. Здесь можно составить запрос по остаткам на счете денежных средств.
Нажать Параметры виртуальной таблицыЗдесь указать Период, чтобы остатки получались на дату документа. Нажать: Alt+38. Записать: «Дата». ОК. Перейти на закладку Связи. Выбрать ВложенныйЗапрос.
Чтобы связать данные документа с данными регистра: Перейти на вкладку Таблицы и поля. Далее: Внести в поля: СчетДенежныхСредств, Сумма, СуммаОстаток.
Далее: необходимо написать выражение: ЕстьNull(ОстатокПоСчетамДенежныхСредствОстатки.СуммаОстатки, 0) - если в регистре нет информации по данному счету, то чтобы возвращался ноль Нажать ОК Перейти на вкладку Объединения/Псевдонимы. Вместо Поле1 написать СуммаОстаток Нажать ОК. Программа перекинет в программный код. В Запросе необходимо установить параметры: Ссылка и Дата
Запрос.УстановитьПараметр("Ссылка",Ссылка ); Запрос.УстановитьПараметр("Дата",Дата );
Затем записать условие: Если Выборка.Сумма>Выборка.СуммаОстаток Тогда Отказ=истина; Сообщить("На счете " + Выборка.СчетДенежныхСредств +"не хватает денег "+Выборка.СуммаОстаток);
Перейти в режим пользователя (F5). ДокументыàРасход денежных средств. У нас документ проведен. Нажать Еще à Отмена проведения. Теперь поставить сумму, например, квартплату, превышающую значение наличных денег: вместо 5000 поставить 75000. Провести и закрыть Система выдаст сообщение об ошибке: не удалось провести документ.
|
|||||||||||||
|