Главная страница
Навигация по странице:

  • Что такое документ

  • Рис. 4.1.

  • В контекстном меню и в палитре свойств В конструкторе форм на закладке формы

  • Документ «Приходная накладная»

  • Лекция №5 Документы для поставщиков

  • Обработчики событий

  • Лекция №6 Учет материалов и ОС

  • Зачем нужен регистр накопления

  • Что такое регистр накопления

  • 1с программирование. Лекция 1 Вводное занятие. Инструктаж План разработка прикладных решений Общие сведения о системе


    Скачать 2.39 Mb.
    НазваниеЛекция 1 Вводное занятие. Инструктаж План разработка прикладных решений Общие сведения о системе
    Дата26.01.2022
    Размер2.39 Mb.
    Формат файлаdocx
    Имя файла1с программирование.docx
    ТипЛекция
    #342546
    страница2 из 8
    1   2   3   4   5   6   7   8

    Лекция №4 Учет денежных средств и расчетов

    План:

    1. Что такое документ

    2. Формы документа

    3. типообразующие объекты конфигурации

    4. Документ «Приходная накладная»

    Что такое документ

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

    Логика работы документов отличается от логики работы других объектов конфигурации. Документ обладает способностью проведения. Факт проведения документа означает, что событие, которое он отражает, повлияло на состояние учета.

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

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

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

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

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



    Рис. 4.1. Стандартные реквизиты документа «Приходная накладная» в режиме «Конфигуратор», в режиме «1С:Предприятие» и в базе данных

    Формы документа

    Для визуализации документа существует несколько основных форм, которые, как мы уже говорили, имеют несколько вариантов названий (табл. 4.1).

    таблица 4.1. Основные формы документа

    В контекстном меню и в палитре свойств

    В конструкторе форм

    на закладке формы

    Форма объекта

    Форма документа

    Документа

    Форма списка

    Форма списка документа

    Списка

    Форма выбора

    Форма выбора документа

    Выбора

    типы данных, типообразующие объекты конфигурации

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

    На предыдущем занятии, когда мы создавали реквизиты справочников или табличных частей, мы всегда указывали тип значения, которое может принимать этот реквизит. Это были примитивные типы данных: Число, Строка, Дата и Булево. Примитивные типы данных изначально определены в системе, и их набор ограничен.

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

    Например, после того как мы создали объект конфигурации Справочник Склады, сразу же появилось несколько новых типов данных, связанных с этим справочником. Среди них, например, СправочникСсылка.Склады. И если теперь мы укажем какому-либо реквизиту этот тип данных, то сможем хранить в нем ссылку на конкретный объект справочника Склады.

    Объекты конфигурации, которые могут образовывать новые типы данных, называются типообразующими.

    Например, после создания нового справочника Номенклатура становятся доступны следующие типы данных:  СправочникМенеджер.Номенклатура,

    • СправочникСсылка.Номенклатура,

    • СправочникОбъект.Номенклатура,

    • СправочникВыборка.Номенклатура.

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

    Это небольшое отступление было необходимо потому, что уже при создании первого документа мы столкнемся с использованием типов данных СправочникСсылка.Склады и СправочникСсылка.Номенклатура, которые появились в нашей конфигурации в результате создания объектов конфигурации Справочник Склады и Номенклатура.

    Документ «Приходная накладная»

    После того как мы познакомились с объектом конфигурации Документ, создадим несколько таких объектов, чтобы иметь возможность фиксировать события, происходящие в нашем ООО «На все руки мастер».

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

    Для отражения этих событий в базе данных мы создадим два документа: Приходная накладная и Оказание услуги.

    Документ Приходная накладная будет фиксировать факт поступления в нашу организацию необходимых материалов, а документ Оказание услуги – фиксировать оказание услуг и расход материалов, которые используются при оказании этих услуг.

    Вопросы:

    1. Что такое документ

    2. Формы документа

    3. типообразующие объекты конфигурации

    4. Документ «Приходная накладная»

    Лекция №5 Документы для поставщиков

    План:

    1. Механизм основных форм

    2. Обработчики событий

    3. Модули

    Механизм основных форм

    На предыдущем занятии мы создали форму документа Приходная накладная и назначили эту форму основной. Что это значит?

    У всех прикладных объектов конфигурации существует некоторое количество основных форм. Они служат для отображения данных объекта в том или ином виде.

    Если разработчик не назначит в качестве основных форм объекта свои собственные, система будет генерировать необходимые формы объекта самостоятельно, в те моменты, когда к ним происходит обращение.

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

    Создание этих форм происходит динамически, в процессе работы системы. Форма создается в тот момент, когда к ней происходит обращение. Причем не важно, интерактивное это обращение или программное.

    Так, форма списка для справочника Клиенты будет создана как при интерактивном выборе в меню Все функции  Справочники  Клиенты, так и при программном вызове глобального метода ПолучитьФорму() (листинг 5.1).

    листинг Программный вызов метода «ПолучитьФорму()»

    ФормаСписка = ПолучитьФорму("Справочник.Клиенты.ФормаСписка");

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

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

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

    Конструктор форм, напротив, исходит из потребностей разработчика. Если разработчик посчитает нужным использовать для какого-либо регистра вместо обычной формы списка форму набора записей, он сможет это сделать, воспользовавшись конструктором и определив ее в качестве основной формы регистра. Но для логики работы системы это не будет иметь принципиального значения.

    Обработчики событий

    При работе с событиями на платформе «1С:Предприятие» следует различать два типа событий: события, связанные с формой и ее элементами, и все остальные.

    Разница заключается в том, что обработчики событий, связанных с формой и ее элементами, – назначаемые, а обработчики всех остальных событий – фиксированные.

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

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

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

    Назначение обработчика может выполняться интерактивно, при работе с формой в конфигураторе, или программно, используя методы формы и ее элементов – УстановитьДействие().

    Модули

    На предыдущем занятии мы рассматривали код обработчиков событий. Мы узнали, что эти процедуры располагаются в модуле формы – неком хранилище текста программы на встроенном языке.

    Теперь расскажем о модулях подробнее и внимательнее познакомимся с устройством модуля формы.

    Виды модулей

    В конфигурации существуют различные виды модулей. Они могут принадлежать некоторым объектам конфигурации (например, формам), а могут существовать сами по себе (принадлежать всей конфигурации в целом).

    Текст программы, содержащийся в модулях, будет использоваться платформой в заранее известные моменты работы системы «1С:Предприятие» – события, о которых мы рассказывали ранее.

    В «1С:Предприятии» существуют следующие виды модулей.

    Модуль управляемого приложения. Модуль управляемого приложения выполняется при старте и окончании работы системы «1С:Предприятие» в режимах тонкого клиента и веб-клиента.

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

    Чтобы открыть модуль управляемого приложения, нужно выделить корень дерева объектов конфигурации (строку ПособиеДляНачинающих) и вызвать из контекстного меню команду Открыть модуль управляемого приложения (рис. 5.1).

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

    Чтобы открыть общий модуль, нужно раскрыть ветвь Общие в дереве объектов конфигурации, затем раскрыть ветвь Общие модули и дважды щелкнуть мышью на нужном модуле (рис. 5.2).

    Модули объектов. Модули объектов – это, например, модуль элемента справочника или модуль документа.

    Эти модули вызываются тогда, когда программно создается этот объект средствами встроенного языка, например, методами СоздатьЭлемент() менеджеров справочников или СоздатьДокумент() менеджеров документов, либо когда пользователь создает новый элемент справочника или документ интерактивно.

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

    Чтобы открыть модуль объекта, нужно в окне редактирования объекта конфигурации перейти на закладку Прочее и нажать кнопку Модуль объекта (рис. 5.3). Или, выделив нужный объект в дереве объектов конфигурации, вызвать из контекстного меню команду Открыть модуль объекта.

    Модули форм. Каждая форма, определенная в конфигурации, имеет свой собственный модуль. Этот модуль исполняется при создании объекта УправляемаяФорма встроенного языка. Этот объект создается системой в режиме 1С:Предприятие в тот момент, когда мы программно (методами ПолучитьФорму() или ОткрытьФорму()) или интерактивно открываем форму некоторого элемента.

    Чтобы открыть модуль формы, нужно открыть подчиненный объект Форма нужного объекта конфигурации и в окне редактора форм перейти на закладку Модуль (рис. 5.4).



    Рис. 5.4. Открытие модуля формы

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

    Чтобы открыть модуль сеанса, нужно выделить корень дерева объектов конфигурации (строку ПособиеДляНачинающих) и вызвать из контекстного меню команду Открыть модуль сеанса (рис. 5.5).

    Модуль внешнего соединения предназначен для размещения в нем текстов функций и процедур, которые могут вызываться в сессии внешнего соединения.

    Чтобы открыть модуль сеанса, нужно выделить корень дерева объектов конфигурации (строку ПособиеДляНачинающих) и вызвать из контекстного меню команду Открыть модуль внешнего соединения (см. рис. 5.5).

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

    Рис. 5.15. Описание объектов в синтакс-помощнике

    Таким образом, в модуле формы, где основной реквизит содержит данные документа (рис. 5.16), можно обратиться к свойству расширения управляемой формы для документа АвтоВремя (листинг 5.7).

    Вопросы:

    1. Механизм основных форм

    2. Обработчики событий

    3. Модули

    Лекция №6 Учет материалов и ОС

    План:

    1. Зачем нужен регистр накопления

    2. Что такое регистр накопления

    3. способы работы с коллекцией

    Зачем нужен регистр накопления

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

    Казалось бы, все необходимое мы с вами уже создали: у нас есть что расходовать и приходовать (справочники), и у нас есть чем расходовать и приходовать (документы). Осталось только построить несколько отчетов, и автоматизация ООО «На все руки мастер» будет закончена.

    Однако это не так.

    Во-первых, путем анализа документов можно, конечно, получить требуемые нам выходные данные. Но представьте, что завтра ООО «На все руки мастер» решит немного изменить свои бизнеспроцессы, и нам потребуется ввести в конфигурацию еще один документ (или несколько документов).

    Например, сейчас мы полагаем, что товары поступают в ООО «На все руки мастер» и затем расходуются. Руководство захотело усилить материальный контроль и решило приходовать товары на основной склад организации и затем выдавать их материально ответственным лицам. В этом случае нам придется добавить в конфигурацию еще один документ, который будет фиксировать перемещение материалов между основным складом и материально ответственными лицами. И очевидно, нам придется переработать все отчеты, которые были нами созданы к этому моменту, с тем, чтобы они учитывали изменения, вносимые новым документом. А представьте, если в нашей конфигурации не два, а двадцать документов?!

    Во-вторых, отчеты, анализирующие документы, будут работать довольно медленно, что будет вызывать раздражение пользователей и недовольство руководителей.

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



    Рис. 6.1. Алгоритм работы конфигурации

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

    Что такое регистр накопления

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

    Эти данные будут храниться в таблицах в виде отдельных записей, каждая из которых имеет одинаковую заданную в конфигураторе структуру (рис. 6.2).

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



    Рис. 6.2. Регистр накопления «Остатки товаров» в конфигураторе и в базе данных

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

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

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

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

    Например, регистр накопления может накапливать информацию о количестве и сумме товаров на складах. В этом случае он будет иметь измерения Товар и Склад и ресурсы Количество и Сумма

    (см. рис. 6.2).

    Изменение состояния регистра накопления происходит, как правило, при проведении документа и заключается в том, что в регистр добавляется некоторое количество записей. Каждая запись содержит значения измерений, значения приращений ресурсов, ссылку на документ, который вызвал эти изменения (регистратор), и «направление» приращения (приход или расход). Такой набор записей называется движениями регистра накопления. Каждому движению регистра накопления всегда должен соответствовать регистратор – объект информационной базы (как правило, документ), который произвел эти движения.

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

    способы работы с коллекцией

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

    Многие объекты встроенного языка являются коллекциями. Коллекция представляет собой совокупность объектов. Существуют общие принципы работы с любой коллекцией.

    Во-первых, доступ к каждому объекту коллекции возможен путем перебора элементов коллекции в цикле. Для этого используется конструкция языка Для Каждого Из … Цикл … (листинг 6.3).

    листинг 6.3. Перебор элементов коллекции в цикле

    Для Каждого СтрокаТабличнойЧасти Из ТабличнаяЧасть Цикл




    Сообщить(СтрокаТабличнойЧасти.Услуга);




    КонецЦикла;

    В этом примере ТабличнаяЧасть – это коллекция строк табличной части объекта конфигурации. При каждом проходе цикла в переменной СтрокаТабличнойЧасти будет содержаться очередная строка из этой коллекции.

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

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

    Справочники.Сотрудники;




    Справочники["Сотрудники"];

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

    1. Если нет смысла в «персонификации» элементов коллекции (коллекция неименованная), тогда обращение к элементу коллекции возможно по индексу (индекс первого элемента коллекции – ноль), листинг 6.5.

    листинг 6.5. Обращение к элементу коллекции по индексу

    ТабличнаяЧасть[0];

    В этом примере ТабличнаяЧасть – это коллекция строк табличной части объекта конфигурации. И мы обращаемся к первому элементу этой коллекции, указывая его индекс – 0.

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

    Вопросы:

    1. Зачем нужен регистр накопления

    2. Что такое регистр накопления

    3. способы работы с коллекцией
    1   2   3   4   5   6   7   8


    написать администратору сайта