Файл: Настройка конфигурации, подсистем, справочников, перечислений.pdf
Добавлен: 21.10.2018
Просмотров: 5899
Скачиваний: 18
50
5. Создать ресурс Цена, тип – число, длина -15, точность -2. Неотрицатель-
ное.
6. Обновить базу данных и запустить 1С:Предприятие. Посмотреть, как рабо-
тает регистр Цены. В панели навигации в разделах Оказание услуг, Учет матери-
алов и Бухгалтерия появился регистр сведений Цены (рис. 3.15).
Рисунок 3.15 Команда для открытия периодического регистра «Цены»
7. Добавим новые записи в регистр сведений Цены (рис.3.16). Период задать
задним числом, он должен быть меньше или равен дате создания документа. вер-
нуться в режим конфигуратора.
Рисунок 3.16 Цены на услуги в регистре сведений «Цены»
Задание 3.5. Разработать автоматическую подстановку цены в документ Оказание
Услуги при выборе номенклатуры.
51
Порядок работы:
1. Создать функцию РозничнаяЦена(). Эта функция будет возвращать акту-
альную розничную цену номенклатуры и поместить ее в общий модуль конфигура-
ции. В конфигураторе открыть ветку Общие/Общие модули, добавить объект
конфигурации Модуль, назвать модуль РаботаСоСправочником, настроить его
свойства (рис.3.17).
Рисунок 3.17 Свойства модуля РаботаСоСправочников
У модуля установлен флажок Сервер. Это означает, что экземпляры этого
модуля будут скомпилированы только на стороне сервера. Флажок Вызов сервера
позволяет экспортные процедуры этого модуля вызывать с клиента.
2. В окне общего модуля поместить листинг функции РозничнаяЦена() (ли-
стинг 3.3).
Листинг 3.3. Функция РозничнаяЦена()
Функция РозничнаяЦена(АктуальнаяДата,ЭлементНоменклатуры) Экспорт
Отбор=Новый Структура("Номенклатура",ЭлементНоменклатуры);
ЗначенияРесур-
сов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
3. Открыть форму документа ОказаниеУслуги. Дважды щелкнуть по эле-
менту формы ПереченьНоменклатурыНоменклатура (рис.3.18)
52
Рисунок 3.18 Форма документа ОказаниеУслуги
4. Открывается палитра свойств. Прокрутить список свойств и найти событие
ПриИзменении. Нажать на иконку – лупа.
5. Вставить в пустую процедуру ПереченьНоменклатурыНоменклату-
раПриИзменении(Элемент) текст листинга 3.4:
Листинг 3.4. Процедура ПереченьНоменклатурыНоменклатураПриИзменении
(Элемент)
СтрокаТабличнойЧасти=элементы.ПереченьНоменклатуры.ТекущиеДанные;
СтрокаТабличнойЧасти.Цена=РаботаСоСправочником.РозничнаяЦена (Объ-
ект.Дата,СтрокаТабличнойЧасти.Номенклатура);
РаботаСДокументами.РассчитатьСумма(СтрокаТабличнойЧасти);
6. Обновить базу данных и запустить 1С:Предприятие. Открыть регистр све-
дений. Добавить в этот регистр с другой датой новую цену для транзистора
(рис.3.19).
Рисунок 3.19 Добавление транзистора с новой ценой
53
7. В подсистеме Оказание Услуг открыть документ Оказание Услуги. Оста-
вить дату документа без изменения. Повторить выбор транзистора в колонке Но-
менклатура.
8. Изменить дату документа на дату документа занесения новой цены. Вновь
повторить выбор транзистора. Посмотрите, с какой ценой выбирается транзистор.
Задание для самостоятельной работы: разработать подстановку цены в до-
кументе Приходная накладная.
Задание 3.6. Сформировать регистрацию расхода только той номенклатуры, кото-
рая является материалом. Доработать документ ОказаниеУслуги таким образом,
чтобы в регистре появлялись только те записи, которые относятся к расходу
материалов.
Порядок работы:
1. Правой кнопкой мыши вызвать контекстное меню документа Оказание-
Услуги. Выбрать пункт Открыть модуль объекта. Отображается модуль проце-
дуры ОбработкаПроведения.
2. Отредактировать модуль процедуры, добавив в него строки, которые поз-
воляют выбирать только материал (листинг 3.5).
Листинг 3.5. Процедура ОбработкаПроведения документа Оказание услуги
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
Если ТекСтрокаПереченьНоменклатуры.номенклатура.
ВидыНоменклатуры=Перечисления.ВидыНоменклатуры.материалы тогда
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.материал = ТекСтрокаПереченьНоменклатуры.номенклатура;
Движение.склад = Склад;
Движение.количество = ТекСтрокаПереченьНоменклатуры.количество;
Конецесли;
КонецЦикла;
КонецПроцедуры
54
3. Обновить базу данных и в режиме 1С Предприятие открыть документ Ока-
зание Услуги №1, изменить дату документа на текущую дату. Удалить из таблич-
ной части транзистор Phillips, добавить услугу, подключение воды (1 шт.) и доба-
вить материал Шланг резиновый (1 м.), (рис.3.20). Нажать на кнопку Провести и
закрыть.
Рисунок 3.20 Измененный документ Оказание услуги №1
4. Открыть регистр Остатки материалов. В регистре видно, что в записи
Оказание услуги стоит только запись по материалу Шланг (рис.3.21). вернуться в
режим конфигуратора.
Рисунок 3.21 Движения по регистру Остатки материалов
Задание 3. 7. Сформировать проведение документов по нескольким регистрам.
Кроме регистра ОстаткиМатериалов создадим еще один регистр СтомостьМа-
териалов и по двум регистрам проведем оба документа.
Порядок работы:
1. Создать регистр накопления Стоимость материалов. Установить в поле
Расширенное представление списка Движения по регистру стоимость материа-
лов для отображения в заголовке окна списка регистров.
2. На закладке Подсистемы отметить, что этот регистр будет отображаться в
подсистемах Бухгалтерия, Учет материалов, Оказание услуг.