Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Регистр Продажи





КонецЦикла;

 

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

 

Теперь в тело созданного нами цикла вставим команды создания движений регистра Продажи (листинг 15.6).

Листинг 15.6. Команды создания движений регистра «Продажи»

Все добавленные конструкции вам уже хорошо известны. Обратите внимание лишь на то, что у оборотного регистра отсутствует свойство ВидДвижения, поскольку отражение вида движения (приход или расход) имеет смысл лишь при учете остатков. В случае регистра оборотов нас интересует только значение, которое должно быть записано в ресурс регистра.

Запустим 1С: Предприятие в режиме отладки и перепроведем все документы ОказаниеУслуги. Движения этих документов по регистру Продажи должны иметь следующий вид (рис. 15.19, 15.20, 15.21):

 

Рисунок 15.19 ― Движения документа «ОказаниеУслуги №1»

 

Рисунок 15.20 ― Движения документа «ОказаниеУслуги №2»

 

Рисунок 15.21 ― Движения документа «ОказаниеУслуги №3»

 

  1. Создание периодического регистра сведений Цены

Приступим к созданию периодического регистра сведений, который будет хранить развернутые во времени розничные цены материалов и стоимости услуг, оказываемых предприятием.

Откроем конфигуратор и создадим новый объект конфигурации Регистр сведений. Назовем его Цены. Установим периодичность этого регистра в пределах секунды.

Перейдем на закладку Данные и создадим измерение регистра Номенклатура с типом СправочникСсылка.Номенклатура. Укажем, что это измерение будет ведущим (рис 15.22.).

 

Рисунок 15.22 ― Создадим измерение Номенклатура и укажем, что оно будет ведущим…

 

Свойство Ведущее имеет смысл использовать лишь тогда, когда измерение имеет тип ссылки на объект базы данных. Установка свойства Ведущее будет говорить о том, что запись регистра сведений представляет интерес, пока существует этот объект. При удалении объекта все записи регистра сведений по этому объекту тоже будут автоматически удалены. Кроме того, в форме списка справочника появляется кнопка командной панели Перейти. По ней возможен переход к записям регистра, отобранным по значению выбранного элемента справочника.

После этого создадим новый ресурс Цена, тип Число, длина 15, точность 2, неотрицательное.

Теперь запустим 1С: Предприятие в режиме отладки и посмотрим, как работает наш периодический регистр сведений Цены.

Зададим стоимость услуг следующим образом (рис. 15.23):

Рисунок 15.23 ― Регистр сведений Цены

 

После этого зададим розничные цены на материалы (рис. 15.24).

 

Рисунок 15.24 ― Регистр сведений Цены

 

Итак, мы с вами имеем очень полезную возможность в нашей программе возможность установки цен на услуги и материалы. Поскольку цены хранятся с привязкой к дате, мы можем заранее установить новые цены и быть уверены в том, что новые цены вступят в действие не раньше указанной для них даты.

Теперь посмотрим, как можно использовать заданные нами цены в документе ОказаниеУслуги.

 

  1. Создание функции РозничнаяЦена()

Сначала создадим функцию, которая будет возвращать нам актуальную розничную цену номенклатуры.

Откроем конфигуратор, в ветке Общие > Общие модули создадим новый объект конфигурации Модуль и назовем его РаботаСоСправочниками.

Поместим в нем следующий текст (листинг 15.7):

 

Листинг 15.7. Функция РозничнаяЦена()

Для получения розничной цены мы будем передавать в функцию два параметра:

§ АктуальнаяДата параметр типа Дата определяет точку на оси времени, в которой нас интересует значение розничной цены.

§ ЭлементНоменклатуры ссылка на элемент справочника Номенклатура, для которого мы хотим получить розничную цену.

В теле процедуры сначала создаем вспомогательный объект Отбор. С его помощью определяем, что нас будут интересовать записи регистра, в которых измерение Номенклатура равно переданной в процедуру ссылке на элемент справочника.

Во второй строке обращаемся к менеджеру регистра сведений Цены (РегистрыСведений.Цены) и выполняем метод ПолучитьПоследнее(), который возвращает нам значения ресурсов наиболее поздней записи регистра, соответствующей передаваемой дате (АктуальнаяДата) и значениям измерений регистра (Отбор).

Значения ресурсов возвращаются в объекте Структура, поэтому в следующей строке мы получаем искомую нами розничную цену, просто указав имя нужного нам ресурса регистра через точку (ЗначенияРесурсов.Цена).

Теперь проверим, как работает эта функция.

 

  1. Автоматическое заполнение цены в документе ОказаниеУслуги

Итак, при создании документа ОказаниеУслуги необходимо обеспечить автоматическое заполнение поля Цена после того, как пользователь выберет услугу. Причем цена услуги должна определяться исходя из даты создаваемого документа.

Найдем в конфигураторе документ ОказаниеУслуги и откроем его форму ФормаДокумента. Откроем свойства поля ввода, расположенного в колонке Номенклатура, и внизу списка найдем событие При изменении. Нажмем на кнопку с лупой и в открывшейся заготовке обработчика события напишем следующий текст (листинг 15.8):

Листинг 15.8. Процедура ПереченьНоменклатурыНоменклатура ПриИзменении()

Первая строка обработчика вам уже знакома: получаем текущую строку табличной части документа, так как она нам понадобится в дальнейшем.

Во второй устанавливаем полученную цену в документе, вызывая нашу процедуру РозничнаяЦена. Первым параметром передаем дату документа, на которую необходимо получить цену. Вторым параметром передаем ссылку, которую отображает элемент управления формой, вызвавший это событие (Элемент.Значение), то есть ссылку на элемент справочника Номенклатура.

В заключение вызываем нашу процедуру РассчитатьСумму из общего модуля РаботаСДокументами, чтобы она пересчитала итоговую сумму в строке нашего документа.

Проверим, как теперь работает наш документ. Запустим 1С: Предприятие в режиме отладки и откроем регистр сведений Цены. Для транзистора Philips добавим следующим числом новую цену (рис. 15.25):

Рисунок 15.25 ― Регистр сведений Цены

Теперь откроем документ Оказаниеуслуги №1, этим документом израсходован один такой транзистор.

Установим дату документа равной той дате, когда было задано первое значение цены транзистора, и повторим выбор транзистора в колонке Номенклатура табличной части документа. Автоматически установится первое значение цены (рис. 15.26).

Рисунок 15.26 ― Заполнение документа Оказание услуги

 

Теперь изменим дату документа на следующий день и снова повторим выбор транзистора. Будет установлено новое значение цены (рис. 15.27).

 

Рисунок 15.27 ― Заполнение документа Оказание услуги

 

Таким образом, в документе появляется актуальная на момент создания документа цена услуги.

 

СОДЕРЖАНИЕ РАБОТЫ:

1. Выполнить задания, приведенные в методических указаниях.

 

 

ВОПРОСЫ ВЫХОДНОГО КОНТРОЛЯ:

  1. Опишите компоненту системы 1С: Предприятие «Оперативный учет».
  2. Опишите объект конфигурации регистр накопления.
  3. Опишите объект конфигурации регистр сведений.

 

 

ДОМАШНЕЕ ЗАДАНИЕ:

Выучить особенности работы с регистрами оперативного учета.








Дата добавления: 2014-11-10; просмотров: 1025. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Роль органов чувств в ориентировке слепых Процесс ориентации протекает на основе совместной, интегративной деятельности сохранных анализаторов, каждый из которых при определенных объективных условиях может выступать как ведущий...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия