- •Учебно-методическое пособие
- •Решение типовых задач Нижний Новгород.
- •Оглавление
- •1.Краткое описание задач пособия.
- •1.1.Школа(многоуровневый справочник).
- •1.2.Себестоимость (подчиненные справочники).
- •1.3.Торговля (регистры).
- •1.4.Кафе (документы,таблицы значений,обработки).
- •2.Роли,Интерфейсы,Пользователи,Пароли.
- •3.Создание Справочников.
- •3.1.Справочник.Материалы.
- •Фрагм. 1 Справочник нормы : Форма элемента (процедура при изменении)
- •4.Регистры
- •4.1.Создание регистров накопления (обычных регистров)
- •4.1.1.Создание регистра «Рбост».
- •4.2.Бухгалтерские регистры.
- •4.2.1..Планы Видов Характеристик(пвс).
- •4.2.2.Планы счетов.
- •4.2.3.Создание бухгалтерских регистров.
- •5.Решение задачи «Школа».
- •5.1.Создание документа Школа.
- •Фрагм. 2 Процедуры ЗаполнитьНажатие и рассчитатьНажатие
- •6.Решение задачи «Себестоимость».
- •Фрагм. 3 Процедура РасчитатьНажатие
- •Фрагм. 4 Формирование отчета Мактз
- •Фрагм. 5 Формирование отчета в разрезе материалов.
- •7.Решение задачи «Торговля».
- •Фрагм. 6 Процедура ОбработкаПроведения
- •Фрагм. 7 Обработка проведения
- •Фрагм. 8 Процедура ТовТоварПриИзменении
- •Фрагм. 9 Процедура товЦенаПриИзменении
- •Фрагм. 10 Процедура Печать
- •8.Решение задачи «Кафе».
- •Фрагм. 11 Документ кблюдо форма ввода (4 процедуры)
- •Фрагм. 12 Документ кблюдо форма ввода (Процедура кблколичствоПриИзменении)
- •Фрагм. 13 Документ кблюдо форма ввода (Процедура кблпродуктПриИзменении)
- •Фрагм. 14 Документ кблюдо форма ввода (Процедура кбл1продуктПриИзменении)
- •Фрагм. 15 Документ кблюдо форма ввода (Процедура кблПослеУдаления)
- •Фрагм. 16 Свойство кбл Количество Поле Ввода
- •Фрагм. 17 Процедуры тзвыбора и заполнить тз
- •Фрагм. 18 Процедура заполнитьТз
- •Фрагм. 19 Процедуры тзвыбора
- •Фрагм. 20 Документ итпрод модуль объекта Обработка проведения
- •Фрагм. 21 Процедура КнопкаСформироватьНажатие
- •9.Создание отчетов.
- •9.1.Создание с помощью отчета-обработки нового документа копированием ранее созданного документа. (Отчет «СозданиеДокументов»).
- •Фрагм. 22 КнопкаСформироватьНажатие
- •9.2.Создание отчетов различных типов на основе документов пт и от.
- •Фрагм. 23 Модуль формы Фсг (9 процедур)
- •9.2.1. Процедура 1 «КнопкаСформироватьНажатие».
- •Фрагм. 24 Процедура 1 «КнопкаСформироватьНажатие».
- •9.2.2.Процедура 2 «ОтчпоМногимДокПтНажатие».
- •Фрагм. 25 ОтчпоМногимДокПтНажатие
- •9.2.3.Процедура 3 ЗапрНажатие.
- •Фрагм. 26 Процедура 3 Запр Нажатие
- •Фрагм. 27 Текст запроса процедуры 3
- •9.2.4.Процедура 4 «ТолькоНаимДокНажатие»
- •Фрагм. 28 Процедура 4 «ТолькоНаимДокНажатие»
- •9.2.5.Процедура 5 «ОтчТзНажатие».
- •Фрагм. 29 Процедура 5 «ОтчТзНажатие» (Создание таблицы тз)
- •Фрагм. 30 Процедура 5 «ОтчТзНажатие» (Печать отчета)
- •9.2.6.Процедура 6 «РегОстНажатие».
- •Фрагм. 31 Процедура 6 «РегОстНажатие».
- •9.2.7.Процедура 7 «РегОстаткиБезРасшифровки»
- •Фрагм. 32 Процедура 7 «РегОстаткиБезРасшифровки»
- •9.2.8.Процедура 8 ЗапрОстНажатие
- •Фрагм. 33 Процедура 8 ЗапрОстНажатие
- •9.2.9.Процедура 9 «РегОстСУсловиемНажатие»
- •Фрагм. 34 Процедура 9 «РегОстСУсловиемНажатие»
- •10.Дополнительная задача.Добыча руды.
- •10.1. ДБзапррегнак
- •10.2. ДбтЗциклдок
- •10.3. Дбрегнакцикл
- •10.4. Дбхсгзапрдок
- •10.5. ДбрегбуХхсгЦикл
- •10.6. Дбхсгрегбухзапрсубк1руда
- •10.7. Дбхсгрегбухзапрсубк2рудАскл
- •10.8.Дбхсгрегбухзапрсубк1скл
- •11.Задача.Справочная ж/д вокзала.
- •Часть1.Формирование состава.
- •Часть2. Клиентская часть.
- •12.Работа с диаграммами.
- •13.Построение любых Диаграмм.
- •14.Пример работы с формами, вложенными формами . Передача параметров между формами.
- •15.Работа со списками на примере задачи «Тариф».
- •16.Построение списков на основе справочника и их использование.
- •17. Регистры Сведений.
- •18.Построитель отчетов
- •19. Изящное решение задачи «Овощи».
- •20.Еще раз про «Себестоимость»
- •21.Учет начислений преподавателям за проведение занятия.Работа со списками, регистами сведений , формами и построителем отчетов.
- •22.Тестовые задачи
- •13. Доставка грузов.
- •14. Оплата труда преподавателей.
- •15. Учет лекарств.
- •16. Расчет арендной платы.
- •17. Ремонт автомобилей.
- •18.Строительство
- •19.Ремонт оборудования.
- •20.Штрафы.
- •21.Отель
- •22.Кинотеатр.
- •23.Библиотека.
- •24. Калькуляция блюда с учетом возможной замены ингредиентов.
- •Список рекомендуемой литературы
15.Работа со списками на примере задачи «Тариф».
Тарифы перевозок.
1.Создать справочник «номпоезд». Он содержит только номера поездов.
2. Создать справочник «города». Он содержит только города.
3. Создать двухуровневый справочник «Направления». На верхнем уровне (группе) – в качестве наименования номер поезда , который будем выбирать из справочника «Номпоезд».На уровне элементов в качестве наименования пункты по пути следования от первого до последнего и выбирать их будем из справочника «города».
4.Справочнику «Направления» подчиним справочник «докуда». В нем в качестве наименования пункты докуда можно доехать из выбранного владельца с указанием цены купе и цены плацкарта.
5. Создать отчет «Тариф». на форму поместить следующие поля :-номер поезда из «номпоезд»; -откуда и куда из справочника города; -типвагона из перечисления(его надо создать). Эти поля заполняем вручную. Введем поле цена , которое будет заполняться программно.
Обращаем внимание что процедуры «Точка отправления…» и «точканазначения…» прикреплены к событию «начало выбора» и эти процедуры формируют последовательно списки пунктов отправления для выбранного поезда, а затем список только тех пунктов до которых можно доехать из пункта отправления для заданного поезда. Тем самым не будет даже возможности ошибиться при выборе пунктов.
Чтобы был понятен последующий текст , участок формы с кнопками «печать» , «Сформировать» и «Закрыть» назван «Основные действия формы».
В модуле формы пять процедур.
«ПриОткрытии» делает кнопку «Печать» недоступной , потому что еще нечего печатать.
Внимание. Начинаем работать со списками.
К этому моменту мы должны выбрать номер поезда , иначе неясно какой список создавать. Теперь комментарии по тексту.
«Список = Новый СписокЗначений()» - сообщает системе , что будет создаваться новый список пока неизвестно из чего . Текст запроса формирует массив пунктов для заданного поезда. Фрагмент «если выборка.количество()=0….» позволяет определить ситуацию - отсутствие у заданного поезда пунктов отправления.
В цикле «список.добавить(выборка.пункты)» - заполняет список , пунктов относящихся к выбранному поезду , но его пока не видно.
Оператор «Выбрали = список.Выбратьэлемент();» показывает список и позволяет мышью выбирать нужный элемент (позиционироваться на нем. Последний оператор «Элемент.значение…» копирует выбранный элемент в поле элемент , в качестве которого при обращении процедуры было задано поле пункт отправления.
Аналогично следующая процедура. Нюанс запроса –указаны два владельца и поезд и пункт отправления.
Процедура «сформировать» - очевидна.
Последний оператор делает кнопку «Печать»- доступной.
Пример работы приведен ниже.
16.Построение списков на основе справочника и их использование.
За основу возьмем справочник.Школа. Создадим отчет .список. Все три поля –Справочник.Школа. Для поля класс в свойствх в разделе «использование» в пункте «Выбор групп и элементов» поставим значение «Группы», так как класс –это группа.
Аналогично ,для буквы с одной разницей по сравнению с Классом.
В разделе свойств «События» в событии «В начало выбора» определим процедуру , которая будет создавать список только тех букв , которые есть у заданного класса. Затем , из этого созданного списка выбираем нужный класс. Процедура имеет имя «БукваНачалоВыбора».
Аналогично для «Фио».Режим «выбора групп и элементов» -элементы , так как ФИО –это элемент.
Имя процедуры , прикрепленной к ФИО –«ФиоНачалоВыбора» и она обеспечивает сначала формирование списка фамилий , для выбранных класса и буквы , а затем и выбор из списка какой-то фамилии.
Теперь , собственно рассмотрим технику создания списка и выбора из списка.
Оператор Список=… объявляет системе , что будет создаваться список с именем «Список». Оператор «Список.Добавить(АА.Ссылка)» в цикле формирует список из букв для заданного класса.
Оператор «Выбрали = Список.ВыбратьЭлемент(«выбирай»)» открывает созданный список и позволяет мышью встать на нужный элемент.
Оператор «Элемент.Значение =Выбрали.Значение» копирует выбранный элемент в поле буква. Заметим , что так как процедура прикреплена к полю буква , то элемент в процедуре это и есть буква.
Аналогично формируется другой список для выбора фамилий. Имена списков (и там и там список) совпадают чисто случайно. Все равно они в разных процедурах. Можно назвать по разному.
Ниже приведена иллюстрация работы.
