- •Т.А. Меркулова «Разработка управляемого приложения на платформе 1с:Предприятие 8»
- •Олавление
- •10.5. Варианты заданий……………………………………………………………………..203
- •4.10. Варианты заданий…….…………………………………………………………………66
- •5.6. Варианты заданий………………………………………………………………………...93
- •Глава 6. Запросы
- •6.3. Варианты заданий………………………………………………………………………108
- •7.5. Варианты заданий………………………………………………………………………130
- •8.8. Варианты заданий………………………………………………………………………163
- •9.3. Варианты заданий……………………………………………………………………….176
- •11.7. Варианты заданий…………………………………………………………………….226
- •12.4. Варианты заданий……………………………………………………………………..245
- •13.5. Варианты заданий……………………………………………………………………..267
- •14.2. Пример формирования отчета………………………………………………………….275
- •14.3. Варианты заданий……………………………………………………………………..281
- •15.4. Варианты заданий……………………………………………………………………….
- •Глава 1. Концепция управляемого приложения
- •1.1. Основные сферы использования управляемого приложения
- •1.2. Основные особенности работы управляемого приложения
- •То для извлечения значения коэффициента необходимо обратиться к бд. А раз так, то за коэффициентом теперь уже придется "идти" на сервер.
- •1.3. Новая стратегия разработки прикладного решения
- •Процедура создания новой информационной базы (иб) в режиме уп
- •Глава 2. Подсистемы в режиме управляемого приложения
- •2.1. Подсистемы – основа командного интерфейса управляемого приложения
- •2.2. Пользователи, роли и панель разделов
- •3.1. Константы
- •Форма констант
- •3.2. Основы клиент-серверного программирования
- •3.3. Общие реквизиты
- •Глава 4. Справочники
- •4.1. Окно редактирования справочника
- •4.2. Разработка формы справочника
- •4.3. Клиентские методы в модуле формы
- •4.4. Объект СообщениеПользователю
- •4.5. Настройка командного интерфейса для ускорения доступа к справочнику
- •4.6. Иерархические справочники
- •4.8. Программная работа со справочниками
- •4.9. Модуль менеджера
- •4.9. Варианты заданий
- •1. Константа «Главный бухгалтер», тип СправочникСсылка.Сотрудники
- •2. Справочник основных средств (ос):
- •3. Справочник материально-ответственных лиц (подчиненный):
- •1. Константа «Директор», тип СправочникСсылка.Сотрудники
- •2. Справочник товаров:
- •3. Справочник цен товаров (подчиненный):
- •1. Константа «Главный бухгалтер», тип СправочникСсылка.Сотрудники
- •2 Справочник сотрудников:
- •3 Справочник стандартных вычетов сотрудника (подчиненный):
- •1. Константа «Главный контрагент», тип СправочникСсылка.Контрагенты
- •2. Справочник контрагентов:
- •3. Справочник расчетных счетов контрагента(подчиненный)
- •1. Константа «Основное транспортное средство директора», тип СправочникСсылка.ТранспортныеСредстваПредприятия
- •2. Справочник ТранспортныеСредстваПредприятия
- •3. Справочник товарно-транспортных накладных (подчиненный)
- •1. Константа «Название предприятия », тип «Строка”
- •2. Справочник персональных компьютеров предприятия
- •3. Справочник сотрудников, работающих на данном компьютере (подчиненный)
- •1. Константа «Название библиотеки », тип «Строка”
- •2. Справочник библиографических единиц:
- •3. Справочник сотрудников, бравших данную единицу с абонемента (подчиненный)
- •1. Константа «Название университета », тип «Строка”
- •2. Справочник факультетов университета:
- •3. Справочник сотрудников- заместителей декана факультета (подчиненный)
- •1. Константа «Название университета », тип «Строка”
- •2/ Справочник кафедр вуЗа:
- •3. Справочник лабораторий кафедры (подчиненный)
- •1. Константа «Название предприятия », тип «Строка”
- •3. Справочник детей работника (подчиненный)
- •1. Константа «Форма оплаты труда предприятия », тип «Строка”
- •2. Справочник «Виды оплат и удержаний»
- •3. Справочник работников, которым назначен данный вид расчета (подчиненный)
- •1. Константа «фио главбуха », тип «Строка”
- •2. Справочник «Парк машин»
- •1. Константа «Директор », тип «СправчникСсылка.Сотрудники”
- •2. Справочник сотрудников:
- •3. Трудовая книжка сотрудника (Подчиненный)
- •1. Константа «Основной объект предприятия », тип «СправочникСсылка.Объекты”
- •2. Справочник видов работ
- •3. Справочник сотрудников, выполняемых данный вид работ (подчиненный)
- •1. Константа «Главный склад предприятия », тип «СправочникСсылка.Склады”
- •2. Справочник складов
- •3. Справочник товарно-материальных ценностей склада (подчиненный)
- •1. Константа «Начальник автотранспортного цеха », тип «СправочникСсылка.Сотрудники”
- •2. Справочник норм расхода масел ,смазок и доп. Топлива
- •3. Справочник водителей автомобиля (подсиненный))
- •1. Константа «Название предприятия », тип «Строка”
- •2. Справочник профессий
- •3. Справочник должностных ставок данной профессии(подчиненный)
- •1. Константа «Название университета », тип «Строка”
- •2. Штатное расписание вуЗа
- •3. Справочник сотрудников кафедры (подчиненный)
- •1. Константа «Название предприятия », тип «Строка”
- •2. Справочник характерных видов расчетов подразделений предприятия
- •3. Справочник сотрудников данного подразделения (подчиненный)
- •1. Константа «Наибольший табельный номер (Код) в справочнике сотрудников », тип «Строка”. Означивается автоматически при запуске приложения.
- •2. Справочник сотрудников:
- •3. Справочник кадровых приказов по сотруднику (подчиненный)
- •Справочник дополнительных свойств пользователя (подчиненный)
- •1. Константа «Основной расчетный счет предприятия », тип «Строка”
- •2. Справочник контрагентов:
- •3. Справочник филиалов контрагента (подчиненный)
- •1. Константа «Основной поставщик предприятия », тип «СправочникСсылка.Контрагенты”
- •2. Справочник товаров:
- •3. Справочник Цены номенклатуры (подчиненный)
- •1. Константа «Название информационной базы », тип «Строка”
- •2. Справочник пользователей
- •Глава 5. Отчеты
- •5.1. Макет отчета
- •5.2. Табличный документ
- •5.3. Дополнительные свойства табличного документа
- •5.3.1. Оформление ячеек
- •5.3.2. Группировки
- •5.3.3. Расшифровки
- •5.3.4. Примечания
- •5.4. Сохранение отчетов
- •5.5. Конструктор печати
- •5.6. Варианты заданий
- •Глава 6. Запросы
- •6.1. Табличный способ доступа к данным
- •6.2. Язык запросов
- •6.2.1. Обращение к полям через точку (".")
- •6.2.2. Обращение к вложенным таблицам (табличным частям документов и элементов справочников)
- •6.2.3. Автоматическое упорядочивание
- •6.2.4. Многомерное и многоуровневое формирование итогов
- •6.2.5. Поддержка виртуальных таблиц
- •6.2.6. Стандартные sql операции
- •6.2.10. Пакетные запросы
- •6.2.10А Таблица значений как источник данных для запроса
- •6.2.11. Обработка результатов запроса Получение и проверка результата запроса
- •Выборка из результата запроса
- •6.2.12. Конструкторы запроса
- •Конструктор запроса (Query Builder)
- •Конструктор запроса с обработкой результата
- •6.3. Варианты заданий
- •Глава 7. Документы
- •7.1. Структура документов. Свойства документов
- •7.2. Программная работа с документами
- •7.3. Стандартные реквизиты
- •7.6. Функциональные опции
- •7.5. Варианты заданий
- •Цена товара проставляется автоматически после выбора элемента справочника товаров из соответствующего реквизита данного справочника.
- •Сумма рассчитывается автоматически.
- •Глава 8. Регистры накопления
- •8.1. Назначение регистров накопления
- •8.2. Регистры остатков
- •8.3. Оборотные регистры накопления
- •8.4. Вызов формы регистра накопления из формы документа
- •8.5. Агрегаты
- •8.6. Последовательности
- •8.7. Нумераторы
- •8.8. Варианты заданий
- •Глава 9. Регистры сведений
- •9.1. Назначение. Типы регистров сведений
- •Реквизиты регистра сведений
- •Режим записи
- •9.2. Программная обработка данных из регистра сведений
- •9.3. Варианты заданий
- •Справочник сотрудников:
- •Глава 10. Система компоновки данных
- •Введение
- •Основные составляющие скд
- •10.3. Пример формирования отчета с помощью скд
- •10.4. Расшифровки в скд Стандартная расшифровка
- •Нестандартная расшифровка
- •Разработка ведомости в скд
- •Присоединение ведомости в качестве расшифровки отчета по остаткам
- •10.5. Варианты заданий
- •Глава 11. Разработка средств ведения бухгалтерского учета
- •11.1. Объекты метаданных, относящиеся к бухучету
- •11.2. Планы счетов и регистры бухгалтерии
- •Субсчета
- •Предопределенные счета
- •Корреспонденции
- •11.3. План видов характеристик
- •Предопределенные виды субконто
- •11.4. Приемы программирования
- •11.5. Примеры формирования проводок в модуле документа
- •11.6. Пример решения задачи Разработать документ: «Безвозмездное поступление тмц от организаций»
- •11.7. Варианты заданий
- •Вариант 21 «Выдача спецодежды работникам»
- •Вариант 22 «Списание спецодежды»
- •Предварительно разработать документ «Поступление товаров без ндс» с одной проводкой (по сумме выручки) для каждой строки документа.
- •Предварительно разработать документ «Заявка от покупателя» , не формирующий проводок.
- •Глава 12. Запросы к регистрам бухгалтерии
- •12.1. Регистры- источники данных для запроса
- •12.2. Примеры запросов к регистрам бухгалтерии
- •Структура регистра бухгалтерии
- •Движения без субконто
- •Движения с указанием субконто
- •Остатки по счетам
- •Валютные остатки по счетам
- •Обороты по счетам
- •Обороты между счетами
- •Оборотно-сальдовая ведомость
- •12.3. Пример формирования отчета
- •Проект запроса.
- •12.4. Варианты заданий
- •Ведомость выдачи спецодежды работника за период с____ по_____
- •Ведомость списания спецодежды работника за период с____ по_____
- •Глава 13. Сложные периодические расчеты
- •13.1. Объекты метаданных, используемые в периодических расчетах
- •13.2. Планы видов расчета
- •Предопределенные виды расчета
- •Взаимосвязь видов расчета
- •Предопределенные табличные части плана видов расчета
- •13.3. Регистры расчета
- •Структура регистра расчета
- •Периодичность регистра расчета
- •Связь регистра расчета с планом видов расчета
- •Зависимость записей по базовому периоду
- •График времени
- •Частичное попадание записей регистра расчета в базовый период
- •Перерасчеты
- •13.4. Пример решения задачи расчета заработной платы
- •13.5. Варианты заданий
- •Глава 14. Запросы к регистрам расчета
- •14.1. Таблицы – источники запросов
- •Пример.
- •За период с___по________
- •Ведомость начислений материальной помощи, не облагаемой налогом, с начала года по___________
- •Глава 15. Дополнительные возможности разработки отчетов с использованием системы компоновки данных
- •Внешние макеты
- •Предопределенные макеты
- •15.3. Макеты оформления Работа со стандартными макетами оформления
- •Создание собственного макета оформления
- •15.4. Варианты заданий
- •1. В.А. Ажеронок, а. В. Островерх, м. Г. Радченко, е. Ю. Хрусталева
5.2. Табличный документ
Теперь приступим к созданию формы отчета. Перейдем на вкладку Формы окна редактирования объекта, добавим новую форму отчета, оставим все настройки в состоянии по умолчанию и нажмем Готово. Добавим, на вкладке Реквизиты редактора форм новый реквизит, назовем его ТабличныйДокумент, выберем для него тип ТабличныйДокумент. Перетащим созданный реквизит в поле Элементы. В состав команд формы добавим новую команду, зададим ей имя СформироватьОтчет и так же переместим в поле Элементы. В итоге у нас получится форма, выглядящая так, как показано на рис. 5.6.
Рис. 5.6. Настройка формы отчета
Табличный документ - это общий объект встроенного языка. Он используется для создания выходных документов - первичных документов и отчетов. Табличный документ является мощным интерактивным средством отображения информации и может использоваться как сам по себе, так и входить в состав любой из форм, используемых в прикладном решении. По своей сути табличный документ напоминает электронные таблицы - он состоит из строк и столбцов, в которых размещаются данные, однако его возможности гораздо шире.
Для построения отчета мы должны будем получать данные из справочника. Это можно сделать с помощью уже знакомого вам объекта СправочникВыборка, можно получить данные с помощью запроса. В любом случае, это предусматривает работу с базой данных, то есть, нам понадобится процедура, выполняемая на сервере. До настоящего времени мы пользовались лишь директивой компиляции &НаСервере – при вызове методов, объявленных с этой директивой, мы имеем доступ к контексту формы, при этом между клиентом и сервером происходит передача дополнительных данных – как при вызове серверного метода с клиента на сервер, так и в обратном направлении. Сейчас мы воспользуемся серверным внеконтекстным методом для формирования отчета. В этом методе мы собираемся формировать табличный документ, содержащий данные отчета.
При реализации метода в виде процедуры, нам придется передать в него в качестве параметра наш реквизит ТабличныйДокумент. По умолчанию параметры передаются по ссылке, то есть, работать процедура будет непосредственно с нашим реквизитом.
При реализации метода в виде функции мы можем ничего не передавать в него, сформировать внутри функции табличный документ и вернуть уже заполненный документ
в точку вызова, присвоив его нашему реквизиту ТабличныйДокумент.
Реализуем метод в виде функции. Готовый код формирования отчета (рис. 5.7.) будет выглядеть следующим образом:
Рис. 5.7.. Готовый отчет
&НаКлиенте
Процедура СформироватьОтчет(Команда)
ТабличныйДокумент=СформироватьОтчетНаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Функция СформироватьОтчетНаСервере()
ТабличныйДокумент=Новый ТабличныйДокумент();
Макет=Отчеты.СписокКонтрагентов.ПолучитьМакет("Макет");
Шапка=Макет.ПолучитьОбласть("Шапка");
Элемент=Макет.ПолучитьОбласть("Элемент");
Группа=Макет.ПолучитьОбласть("Группа");
Шапка.Параметры.ДатаФормированияОтчета=ТекущаяДата();
ТабличныйДокумент.Вывести(Шапка);
Выборка=Справочники.Контрагенты.ВыбратьИерархически();
Пока Выборка.Следующий() Цикл
Если Выборка.ЭтоГруппа Тогда
Область=Группа;
Иначе
Область=Элемент;
КонецЕсли;
Область.Параметры.Заполнить(Выборка);
ТабличныйДокумент.Вывести(Область);
КонецЦикла;
Возврат (ТабличныйДокумент);
КонецФункции
В клиентской процедуре СформироватьОтчет() мы вызываем серверную функцию СформироватьОтчетНаСервере(), присваивая возвращаемое ей значение реквизиту ТабличныйДокумент.
В серверной функции мы создаем новую переменную с типом ТабличныйДокумент и именем ТабличныйДокумент. Именно в него мы будем выводить данные и именно его будем возвращать в точку вызова. Несмотря на то, что имя реквизита формы и имя данной переменной совпадают, между ними нет никакой связи. Это – отдельные объекты.
Далее, мы получаем макет из нашего отчета, пользуясь методом ПолучитьМакет() и задавая имя макета. Отчет может иметь несколько макетов, их выбор осуществляется по имени.
В переменную Шапка мы записываем область макета Шапка, соответственно поступаем с переменными Элемент и Группа.
Командой Шапка.Параметры.ДатаФормированияОтчета=ТекущаяДата(); мы заполняем ранее заданный в макете параметр ДатаФормированияОтчета, записав в него текущую дату. Дата, возвращаемая функцией ТекущаяДата, содержит, помимо года, месяца и дня, так же часы, минуты и секунды. При необходимости дату перед выводом можно отформатировать при помощи функции Формат().
После того, как параметр, находящийся в шапке, заполнен, мы можем вывести шапку в табличный документ командой ТабличныйДокумент.Вывести(Шапка);
Следующим этапом нашей работы будет получение иерархической выборки справочника. Такая выборка позволяет получить элементы и группы справочника в иерархическом порядке, учитывая родительские отношения между элементами.
В цикле обхода выборки мы сначала проверяем, является ли текущий элемент справочника группой. Если является, присваиваем переменной Область ранее полученную область отчета Группа. Если не является – присваиваем ей область Элемент.
Благодаря совпадению имен параметров и имен реквизитов справочника, для помещения данных из выборки в область макета, достаточно воспользоваться конструкцией Область.Параметры.Заполнить(Выборка);. После заполнения параметров мы выводим сформированную область в табличный документ.
Когда цикл перебора выборки будет завершен, мы возвращаем сформированный табличный документ в точку вызова и пользователь видит готовый отчет.
Для формирования простейших отчетов, пользователь может воспользоваться стандартной функциональностью, присутствующей в 1С:Предприятие 8. Для этого, открыв, например, список справочника, он может выполнить команду Все действия > Вывести список. Появится окно Вывести список, рис. 5.8., где в поле Выводить в можно выбрать либо Табличный документ (его обычно и используют), либо – Текстовый документ.
Рис. 5.8. Окно Настройка списка
В поле Выводить колонки можно настроить состав выводимых в документ колонок. После нажатия на ОК выбранные данные оформляются в виде табличного документа, а с помощью команды Файл > Сохранить как этот документ можно сохранить в нужном формате для дальнейшей обработки в других приложениях.
