Студопедия

Главная страница Случайная страница

Разделы сайта

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






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Создание процедуры обработки события в общем модуле






    Для того чтобы алгоритм, выполняемый при обработке события, был доступен для разных документов, мы создадим общий модуль и перенесем в него нашу процедуру расчета суммы. А в документе просто оставим вызовы этой процедуры из общего модуля.

    Создадим объект конфигурации Общий модуль в ветке Общие - Общие модули и назовем его «РаботаСДокументами». Он будет содержать следующий текст:

     

    Процедура РассчитатьСумма(СтрокаТабличнойЧасти) Экспорт

    СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество* СтрокаТабличнойЧасти.Цена;

    КонецПроцедуры

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

    Затем в модуле нашей формы изменим текст нашего обработчика:

     

    Процедура МатериалыКоличествоПриИзменении(Элемент)

    СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

    РассчитатьСумму(СтрокаТабличнойЧасти);

    КонецПроцедуры

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

    Проверим, как это работает, и убедимся, что ничего не изменилось.

    Теперь осталось и для поля «Цена» установить такой же обработчик. Так как однажды мы уже написали в модуле формы нужную нам процедуру, то мы просто могли бы сопоставить ее также и другому событию другого элемента управления, расположенного в форме. Однако стандарты разработки конфигураций фирмы «1С» не допускают такого решения.

    Согласно стандартам разработки фирмы «1С», у каждого события должен быть свой обработчик. Если одинаковые действия должны выполняться при изменении разных элементов управления (например, при нажатии нескольких кнопок), то в этом случае следует поступать следующим образом:

    - создается отдельная процедура (функция), выполняющая необходимые действия;

    - для каждого элемента управления создается отдельный обработчик с именем, назначаемым no умолчанию;

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

    -

    Поэтому мы создадим обработчик события «При изменении» для поля ввода, которое расположено в колонке «Цена» и повторим в нем вызов процедуры «РассчитатьСумму» из общего модуля:

     

    ПроцедураМатериалыЦенаПриИзменении(Элемент)

    СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

    РассчитатьСумму(СтрокаТабличнойЧасти);

    КонецПроцедуры

     

    Запустим 1С: Предприятие в режиме отладки и убедимся, что теперь сумма в строках табличной части документов «ПриходнаяНакладная» пересчитывается как при изменении количества, так и при изменении цены.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.