- •Т.А. Меркулова «Разработка управляемого приложения на платформе 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. В.А. Ажеронок, а. В. Островерх, м. Г. Радченко, е. Ю. Хрусталева
8.4. Вызов формы регистра накопления из формы документа
Доработаем форму документа РеализацияМатериалов. Документ проводится по двум регистрам накопления – по регистру Продажи и по регистру ОстаткиМатериалов. Удобно было бы иметь возможность прямо из документа перейти в окно регистра и просмотреть его содержимое после проведения документа. Для того, чтобы реализовать это, нам понадобится закладка Глобальные команды закладки Команды окна редактора форм. Все, что нужно для размещения на командной панели формы дополнительных кнопок, ведущих к регистрам – перетащить нужную команду на панель, рис. 8.14.
Рис. 8.14. Кнопки перехода в регистры накопления на командной панели формы
8.5. Агрегаты
Выше мы упоминали о том, что оборотные регистры накопления поддерживают полезный, в плане увеличения быстродействия прикладного решения, механизм агрегатов. Агрегат представляет собой хранилище данных, содержащее агрегированную информацию из регистра в различных разрезах. Разрезы подбираются исходя из использования данных регистра в отчетах. Механизм агрегатов позволяет ускорить доступ к информации. Для создания агрегатов используется конструктор агрегатов, который можно вызвать, нажав на кнопку Агрегаты, расположенную на закладке Данные окна редактирования объекта для оборотного регистра накопления, рис. 8.15.
Рис. 8.15. Кнопка Агрегаты в окне редактирования объекта
По нажатию на эту кнопку можно открыть окно Конструктора агрегатов (рис. 8.16.), где можно добавлять новые агрегаты, настраивать состав измерений регистра, входящих в агрегаты, а так же их свойства. При установленной периодичности Авто система сама подбирает подходящую периодичность для агрегата. Мы установили такую периодичность для агрегата, в который входят сведения по измерениям Контрагент и Номенклатура.
Рис. 8.16. Конструктор агрегатов
По измерению ОтветственныйСотрудник мы собираемся получать данные ежемесячно, поэтому у агрегата, содержащего указанное измерение, мы установим периодичность Месяц.
В нашей учебной базе, содержащей небольшие объемы данных, мы вряд ли сможем оценить полезность агрегатов, однако, при работе с большими базами данных они способны повысить производительность отчетов.
8.6. Последовательности
В нашей конфигурации есть документы, последовательность ввода которых способна влиять на данные, хранимые в системе. Это три документа – ПоступлениеМатериалов, ОтпускМатериаловМастеру и РеализацияМатериалов. Рассмотрим пример.
В некоей конфигурации есть два документа – один фиксирует поступление материалов, второй – списание. Имеется один регистр накопления, в который эти документы делают записи.
Предположим 10.07.12 мы ввели документ поступления материалов (назовем его П1), который отражает принятие к учету 10 единиц материала М1 по цене 10 рублей за единицу.
12.07.12 мы ввели документ списания материалов (назовем его С1), которым списываем 6 единиц материала М1. Очевидно, что при такой последовтельности ввода документов, в том случае, если мы используем метод расчета себестоимости по средней, окажется, что списано 6 единиц материалов М1 на общую сумму 60 рублей, в остатках мы имеем 4 единицы на 40 рублей.
Что произойдет, если, после того, как два вышеописанных документа уже введены в систему, проведены, мы, например, 11.07.12, введем еще один приходный документ (П2), которым принимаем к учету 10 единиц материала М1 по цене 15 рублей за единицу?
Если мы построим отчет по остаткам материалов, скажем, на 13.07.12, то окажется, что количественные показатели нас устраивают – в остатке будет 14 единиц материала. Стоимость этих материалов будет складываться из стоимости остатка – это 4*10 и стоимости материалов, принятых задним числом, то есть – 10*15. Сумма равна 190 рублей.
Документ С1, которым материалы списаны 12.07.12, был проведен без наличия сведений о материалах, поступление которых отражено 11.07.12. А это значит, что при применении метода расчета себестоимости по средней, этот документ содержит неверные данные. Действительно, на момент списания материалов этим документом их количество равнялось 10, общая стоимость 100, средняя стоимость составила 10. После ввода документа П2 мы имеем на 12.07.12 уже 20 единиц материала на сумму 250 рублей, средняя стоимость единицы уже равняется 12,5 рублей. То есть, наш документ С1 должен списать 6 единиц материалов М1 по 12,5 рублей, что дает нам их общую стоимость в 75 рублей и приводит к тому, что в остатках на 13.07.12 должны числиться 14 единиц, себестоимость которых должна равняться 175 рублей.
Если при проведении документа С1 данные по документу М2 не учитывались – мы получаем в остатке 14 единиц, себестоимость которых равняется 190 рублей. Все это значит, что документ, введенный задним числом, искажает данные учета. Если абстрагироваться от нашей учебной конфигурации и рассмотреть последствия подобной ситуации в реальной учетной системе, то окажется, что такое происшествие способно исказить данные учета, как результат – повлиять на суммы налогов (например, налога на прибыль). То есть, даже если не говорить о том, что в учете будут отражены некорректные данные, подобная "ошибка" способна привести к весьма неприятным для организации последствиям в виде санкций налоговых органов.
Для того, чтобы подобную ситуацию разрешить, нужно после ввода "дополнительного" документа П2 просто перепровести документ С1. Все это выглядит простым и понятным в примере с тремя документами, но в учетной системе с десятком видов документов, несколькими регистрами, в которую вводят несколько сотен различных документов ежедневно, "вручную" отследить возникновение подобной ситуации достаточно сложно. Можно, конечно, прибегнуть к радикальному методу – например, периодически перепроводить все документы за какой-либо период или за все время работы в базе. Но перепроведение большого количества документов – дело трудоемкое, к тому же, если уж полностью следовать логике полного перепроведения, перепроводить нужно все документы с начала работы в базе. А это, возможно, документы, накопленные за несколько лет, то есть – операция слишком ресурсозатратная для ее регулярного выполнения.
Разработчики 1С:Предприятие 8 предусмотрели возникновение подобных ситуаций – для контроля за правильной последовательностью проведения документов в системе имеется объект, который так и называется – Последовательность.
Последовательность позволяет автоматически контролировать хронологическую последовательность проведения документов, включенных в нее, а так же – для документов, влияющих на состояние отслеживаемых последовательностью регистров.
Создадим новую последовательность (ветвь дерева конфигурации Последовательности находится в ветви Документы), назовем ее СебестоимостьМатериалов, рис. 8.17.
Рис. 8.17. Создание новой последовательности
Включим последовательность СебестоимостьМатериалов в подсистему Документы.
На закладке Использование, рис. 8.18., мы оставим параметр Перемещение границы при проведении в значении Перемещать, в поле Входящие документы внесем документы ОтпускМатериаловМастеру и РеализацияМатериалов, в поле Движения, влияющие на последовательность, внесем регистр накопления ОстаткиМатериалов.
Рис. 8.18. Настройка последовательности
Сущность действия последовательности заключается в следующем. Она отслеживает документы, влияющие на нее (и документы, влияющие на состояние регистра, в нашем случае это документ ПоступлениеМатериалов) и, в зависимости от даты проведения документов перемещает границу либо вперед (при нормальной хронологической последовательности ввода документов), либо – назад – в том случае, если документ введен (проведен) не в нормальном порядке.
Граница последовательности указывает нам на документ, документы, введенные после которого могут отражать некорректные данные. Последовательность можно восстанавливать – при восстановлении последовательности перепроводятся документы, входящие в нее. В нашем случае это документы, которыми мы списываем материалы.
Документы поступления материалов влияют на последовательность, но они вводят в систему исходные данные для расчета себестоимости, поэтому внеочередное проведение документа поступления материалов на другие документы поступления не влияет, но вполне может повлиять на документы списания материалов.
При восстановлении последовательности производится автоматическое проведение нужных документов и граница последовательности устанавливается на последний из них.
Для управления последовательностями в пользовательском режиме можно выполнить команду Главное меню > Все функции > Стандартные > Проведение документов, и там, на закладке Последовательности, рис. 8.19, посмотреть состояние последовательностей, и, при необходимости, восстановить их.
Рис. 8.19. Работа с последовательностями
Здесь мы видим, что граница последовательности установлена на документ Реализация материалов от 13.10.2011.
Введем документ ПоступлениеМатериалов, например, от 10.10.2011. Это приведет к такому состоянию последовательности, рис. 8.20.
Рис. 8.20. Перемещение границы последовательности при вводе документа в прошлом периоде. Восстановление последовательности приведет к перепроведению документов, входящих в нее и снова установит ее границу на документ Реализация материалов от 13.10.2011.
