Карпухина Н.Н. Экономические информационные системы, страница 7
Описание файла
Файл "Карпухина Н.Н. Экономические информационные системы" внутри архива находится в папке "Карпухина Н.Н. Экономические информационные системы". Документ из архива "Карпухина Н.Н. Экономические информационные системы", который расположен в категории "". Всё это находится в предмете "экономика" из 5 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "экономика" в общих файлах.
Онлайн просмотр документа "Карпухина Н.Н. Экономические информационные системы"
Текст 7 страницы из документа "Карпухина Н.Н. Экономические информационные системы"
В первой части строки создадим переменную СтрокаТабличнойЧасти, в которую будет помещен объект, содержащий данные, находящиеся в строке табличной части ,которую необходимо пересчитать. Здесь не надо объявлять переменные заранее. Создаем переменную прямо по ходу работы, и ее тип определяется типом значения, которое она содержит.
Данная процедура должна вызываться каждый раз при изменении Количества.
В модуль формы рис. 68 добавим следующий текст для УслугиКоличествоПриИзменении:
Т.к. сейчас мы находимся в модуле формы, в нем доступны все свойства и методы объекта встроенного языка. В данном случае мы обращаемся к коллекции элементов формы, используя свойство Элементы.
Коллекция элементов формы является объектом встроенного языка ВсеЭлементыФормы, содержащим все элементы формы. Т.е. это программный аналог корня дерева элементов формы.
Каждый элемент формы можно получить, указав его имя в качестве свойства этого объекта, т.е. через точку от него. В данном случае обращение идет к табличной части Акт приема в ремонт (Элементы.Услуги).
Табличная часть документа представляет собой объект встроенного языка ТаблицаФормы. Получив ту строку ,в которой в настоящее время осуществляется редактирование ,можно при помощи свойства программного объекта ТаблицаФормы – ТекущиеДанные (Элементы.Услуги.ТекущиеДанные).
6. Аналогично создадим обработчик событий ПриИзменении для УслугиЦенаПриИзменении:
Данная процедура должна вызываться каждый раз при изменении Цены.
Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие. Проверим работу внесенных изменений.
ВВОД ДАННЫХ В БД
1. В справочнике НоменклатураУслуг ведем 3 группы услуг: Кузовной цех, Малярный цех, ТрейдИН (рис. 67д).
Рис. 67д. Форма создания группы справочника Номенклатура услуг
2. В каждую группу услуг введем не менее 6 записей. Данные для ввода сформулируйте самостоятельно по смыслу разрабатываемого решения (рис. 67е).
Рис. 67е. Форма создания элемента справочника Номенклатура услуг
3. Внесите не менее 10 Актов приема в ремонт (рис. 67ж).
Рис. 67ж. Форма для ввода данных по документу Акт приема в ремонт
VI. ОДНА ПРОЦЕДУРА ДЛЯ ОБРАБОТКИ НЕСКОЛЬКИХ СОБЫТИЙ
В рассмотренном выше примере два раза был использован один и тот же программный код при обработке событий.
В дальнейшем также может пригодиться процедура расчета суммы в других документах. Поэтому поместим расчет суммы в некоторое «общедоступное» место, чтобы разные документы, имеющие аналогичные реквизиты в табличной части ,моги использовать этот алгоритм.
1. В дереве объектов конфигурации выбрать Общие далее Общие модули, кнопка Добавить (рис. 68а).
Рис. 68а. Выбор объекта конфигурации Общие модули
2. Назовем новый общий модуль РаботаСДокументами (рис. 68б). Установим в свойствах флажок Клиент (управляемое приложение), а флажок Сервер снимем. Это значит, что экземпляры этого модуля будут скомпилированы в контексте тонкого клиента и в контексте веб-клиента.
Рис. 68б. Свойства объекта конфигурации Общие модули
3. Внесем в модуль следующий текст:
В процедуру РассчитатьСумму() передаем переменную СтрокаТабличнойЧасти, которая была определена в обработчике событий ПриИзменении полей Количество и Цена документа Акт приема в ремонт.
Теперь, используя эту процедуру, можно получить доступ к данным колонок табличной части и рассчитывать сумму как произведение цены на количество.
Ключевое слово Экспорт в заголовке процедуры указывает,что эта процедура может быть доступна из других программных модулей.
4. Внесем изменения в Модуль Формы документа Акт приема в ремонт для полей Количество и Цена.
В результате выполнения первой строки процедуры обработчика переменная СтрокаТабличнойЧасти будет содержать объект ДанныеФормыСтруктура. Этот объект содержит данные ,находящиеся в текущей строке табличной части документа (Элементы.Услуги.ТекущиеДанные).
Во второй строке вместо непосредственного расчета суммы вызываем процедуру РассчитатьСумму() из общего модуля РаботаСДокуметами и передаем ей в качестве параметра текущую строку табличной части.
Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.
ВВОД ДАННЫХ В БД
1. Внесите еще 2 записи в Акты приема в ремонт для того, чтобы проверить работу приложения после изменений (рис. 67ж).
VII. ДОКУМЕНТ «ОКАЗАНИЕ УСЛУГИ»
Создадим документ, в котором будут храниться сведения о мастере, который выполняет услугу клиенту, и цена услуги.
1. Добавим новый Документ – ВыполнениеУслуги. Введем данные, как показано на рис. 69. Обратите внимание на Представление списка – Оказание услуги, так документ будет называться в приложении.
Рис. 69а. Установка основных свойств документа
2. Отметим необходимые подсистемы (рис. 69б).
Рис. 69б. Определение списка подсистем
3. На закладке Данные создадим реквизиты документа (рис. 69в):
-
Клиент – СправочникСсылка.Клиенты. Установим свойство Проверка заполнения в значение Выдавать ошибку;
-
Оборудование Справочник.Сссылка.Оборудование. Установим свойство Проверка заполнения в значение Выдавать ошибку;
-
Склад – СправочникСсылка.Склады. Выбреем для свойства Значение заполнение предопределенный элемент Основной склад справочника.
-
Мастер – Справочник.Ссылка.Подразделения. Установим свойство Проверка заполнения в значение Выдавать ошибку.
Рис. 69в. Реквизиты документа ВыполнениеУслуги
В табличной части документа создадим ПереченьНоменклатуры с реквизитами (рис. 69г):
-
Услуга, тип СправочникСсылка.НоменклатураУслуг;
-
Количество, тип Число, длина 15, точность 3, неотрицательное;
-
Цена, тип Число, длина 15, точность 2, неотрицательное;
-
Сумма, тип Число, длина 15, точность 3, неотрицательное.
Рис. 69г. Реквизиты табличной части документа ВыполнениеУслуги
4. На закладке Формы создайте основную форму документа аналогично Форме АктПриемаВРемонт.
Для поля ПереченьНоменкулатурыКоличество создадим обработчик события ПриИзменении, в котором будем вызывать процедуру РассчитатьСумму из общего модуля РаботаСДокументами.
Необходимо создать два обработчика событий ПереченьНоменклатурыКоличествоПриИзменении и ПереченьНоменклатурыЦеныПриИзменении.
5. Также отредактируем Командный интерфейс, чтобы подсистеме Оказание услуг была доступна команда создания новых документов.
Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.
ВВОД ДАННЫХ В БД
1. Внесите не менее 10 документов Оказание услуги для того, чтобы проверить работу приложения после изменений.
Рис. 69д. Форма ввода данных по документу Оказание услуги
VIII. ПЕРИОДИЧЕСКИЙ РЕГИСТР СВЕДЕНИЙ
В документе Оказание услуги каждый раз приходится вводить цену услуги вручную. Но очевидно, что существует перечень услуг, который определяет стоимость (цену) каждой услуги. Т.к. стоимость услуги является неотъемлемым свойством самой услуги.
В тоже время стоимость услуг имеет особенность меняться со временем. И может сложиться такая ситуация, когда потребуется внести изменения или уточнения в один из ранее проведенных документов Оказание услуги. В этом случае нельзя будет получить правильную стоимость услуги, т.к. в реквизите справочника будет храниться последнее введенное значение.
В дальнейшем может возникнуть потребность анализа изменений стоимости услуг во времени.
Для этого воспользуемся Регистром сведений.
Регистр сведений предназначен для описания структуры хранения данных в разрезе нескольких измерений. На основе регистра сведений платформа создает в БД таблицу, в которой может храниться произвольная информация, «привязанная» к набору измерений.
Каждое движение регистра сведений устанавливает новое значение ресурса, поэтому он может хранить любые данные (не только числовые).
При необходимости регистр сведений хранит данные с привязкой ко времени: и актуальную информацию, и историю изменений во времени. Такие регистры называют Периодический регистр сведений.
Создадим регистр сведений, который будет хранить развернутую во времени информацию по стоимости услуг, оказываемых предприятием.
1. Добавить новый Регистр сведений (рис. 70а).
Рис. 70а. Выбор объекта конфигурации Регистр сведений
2. Присвоим имя Регистру сведений – Цены. Установим периодичность В пределах секунды (т.к. необходимо отслеживать цены несколько раз в течении дня). Также установим Представление записи как Цена, а Представление списка как Цены на номенклатуру (рис. 70б).
Рис. 70б. Основные свойства регистра сведений Цены
Обратите внимание на свойство Режим записи. По умолчанию оно имеет значение – Независимый, т.е. в созданный независимый регистр сведений в дальнейшем можно будет вводить данные без использования регистратора», вручную».
3. На закладке Подсистемы по логике конфигурации укажем, что регистр будет доступен в разделах Бухгалтерия, Оказание услуг.
4. На закладке Данные создадим измерение НоменклатураУслуг с типом СправочникСсылка.НоменклатураУслуг. Укажем, что это измерение будет Ведущим (рис. 70в).
Свойство Ведущее имеет смысл использовать только тогда ,когда измерение имеет тип ссылки на объект базы данных. В этом случае запись регистра сведений представляет интерес, пока существует тот объект, ссылка на который выбрана в качестве значения этого измерения в этой записи. При удалении объекта, все записи регистра сведений по этому объекту будут автоматически удалены. Кроме этого в форме элемента справочника Номенклатура услуг, в панели навигации в группе Перейти, появится ссылка. По ней возможен переход к записям этого регистра, которые содержат в измерении НоменклатураУслуг ссылку на этот элемент справочника.
Рис. 70в. Создание ведущего измерения регистра сведений
4. Далее создадим ресурс Цена, тип Число, длина 15, точность 2, неотрицательное (рис. 70г).
Рис. 70г. Ресурс регистра сведений
Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.
ВВОД ДАННЫХ В БД
1. Задайте несколько вариантов цен от 2-х до 5-ти по каждой услуги из справочника на разные даты при помощи формы (рис. 70д).
Рис. 70г. Форма для ввода цен на услуги в регистре сведений
IX. АВТОМАТИЧЕСКАЯ ПОДСТАНОВКА ЦЕНЫ В ДОКУМЕНТ ПРИ ВЫБОРЕ НОМЕНКЛАТУРЫ