Файл: Лабораторная работа 1 Знакомство, создание информационной базы.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 648
Скачиваний: 8
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
• глобальным контекстом, в том числе неглобальными общими модулями и экспортируемыми функциями и процедурами глобальных общих модулей;
• экспортируемыми переменными, процедурами и функциями модуля управляемого приложения;
Форма как программный объект
Помимо того что форма;внутри; своего модуля предоставляет доступ к различным частям конфигурации, она также доступна из других частей конфигурации как программный объект.
При этом помимо стандартных свойств и методов объекта встроенного языка УправляемаяФорма, у нее могут существовать и другие свойства и методы, определенные разработчиком.
Листинг 5.2.
Например, если в модуле формы ФормаДокумента документа ПриходнаяНакладная описана экспортируемая процедура, то может быть использован следующий вызов этой процедуры:
Листинг 5.3.
Как понять работу кода на встроенном языке
Теперь мы покажем два способа, как самому разобраться с множеством незнакомых свойств и методов объектов конфигурации, чтобы в будущем самостоятельно изучать фрагменты кода или создавать свои собственные процедуры на встроенном языке.
Синтакс-помощник — инструмент, созданный для помощи разработчику, содержащий описание всех программных объектов, которые использует система, их методов, свойств, событий и пр.
Чтобы открыть синтакс-помощник, нужно нажать соответствующую кнопку на панели инструментов конфигуратора или выполнить команду главного меню Справка > Синтакс-помощник, или с помощью горячей клавиши (Ctrl + F1).
Анализ кода с помощью синтакс-помощника:
Пользоваться синтакс-помощником удобно в тех случаях, когда нужно разобраться в уже написанном незнакомом коде.
Первый способ - найти нужный раздел в содержании и спускаться вниз «по дереву», раскрывая нужные подразделы, свойства, ссылки и т.п.
Второй способ - воспользоваться контекстной помощью синтакс-помощника. Для этого нужно открыть программный модуль, установить курсор на интересующую вас конструкцию встроенного языка и нажать Ctrl+ F1.
Есть также еще одна полезная возможность использования синтакс-помощника. Можно ограничить состав объектов, которые будут отображаться в нем. Так как мы находимся на клиенте, в форме, имеет смысл ограничиться только объектами встроенного языка, доступными в режимах Тонкий клиент и
Веб-клиент. Для этого нужно выполнить команду главного меню Сервис > Параметры или нажать кнопку Открыть режим настройки параметров, находящуюся над окном описания объектов синтакс- помощника. На закладке Справка окна Параметры можно снять или поставить отметку у нужных режимов исполнения.
Рис. 5.2. Параметры
Анализ кода с помощью отладчика
Пользоваться отладчиком наиболее удобно в тех случаях, когда нужно написать какой-то собственный код. Можно просто остановиться в конкретном месте программы и посмотреть, какие же свойства здесь доступны или какие программные объекты здесь используются.
Отладчик - вспомогательный инструмент, облегчающий разработку и отладку программных модулей системы 1С:Предприятие. Отладчик предоставляет следующие возможности:
• пошаговое выполнение модуля,
• расстановка точек останова,
• прерывание и продолжение выполнения модуля,
• возможность отладки нескольких модулей одновременно,
• вычисление выражений для анализа состояния переменных,
• просмотр стека вызовов процедур и функций,
• возможность остановки по возникновению ошибки,
• возможность редактирования модуля в процессе отладки.
Объекты
Как правило, термин объект употребляется в одном из трех контекстов:
• конфигурация,
• база данных,
• встроенный язык.
Говоря о конфигурации, термином объект конфигурации мы обозначаем некоторую совокупность описания данных и алгоритмов работы с этими данными. Например, в конфигурации может существовать объект Справочник Сотрудники.
Когда мы говорим о базе данных, термином объект мы обозначаем всего лишь некий элемент такой информационной структуры. Характерной особенностью такого элемента является то, что на него (как на совокупность данных) существует ссылка, которая может являться значением какого-либо поля другой информационной структуры.
Если же мы начинаем говорить о встроенном языке и о том, каким образом средствами встроенного языка работать со справочниками, то термином объект мы обозначаем тип данных, позволяющий получить доступ к данным и обладающий набором свойств и методов.
Сервер и клиенты
Система 1С:Предприятие поддерживает два варианта работы системы: файловый и клиент-серверный.
Файловый вариант работы с информационной базой рассчитан на персональную работу одного пользователя или работу небольшого количества пользователей в локальной сети. В этом варианте все данные информационной базы (конфигурация, база данных, административная информация) располагаются в одном файле.
Рис. 5.3. Файловый вариант
Основное назначение файлового варианта - быстро и легко установить систему и работать с ней.
Например, чтобы что-то посмотреть или доработать дома или на ноутбуке. В файловом варианте тоже можно вести реальную учетную работу, но при этом нужно понимать, что он не предоставляет абсолютно всех тех же возможностей по масштабируемости, защите данных, какие имеет клиент- серверный вариант.
Клиент-серверный вариант предназначен для использования в рабочих группах или в масштабе предприятия - это основной вариант для работы в многопользовательской среде с большим объемом данных. Он предоставляет абсолютно все возможности по масштабируемости, администрированию и защите данных. Однако он требует значительных усилий по установке и администрированию.
Система 1С:Предприятие изначально рассчитана на клиент-серверный вариант работы. Хотя сейчас вы разрабатываете свою учебную конфигурацию в файловом варианте работы, она будет работать и в клиент-серверном варианте без ваших дополнительных усилий.
Прикладные решения разрабатываются один раз и одинаково работают, что в одном, что в другом варианте. То есть переход с одного варианта на другой не требует переделки конфигурации.
Рис. 5.4. Клиент-серверный вариант
Клиент-серверная архитектура разделяет всю работающую систему на три различные части, определенным образом взаимодействующие между собой, - Клиент, Сервер 1С: Предприятия и Сервер баз данных.
Клиентское приложение - это программа, часть системы 1С: Предприятие. Основное ее назначение - организация пользовательского интерфейса, отображение данных с возможностью их изменения.
Кроме этого, клиентское приложение может исполнять код на встроенном языке.Такой подход позволяет клиентскому приложению быть очень «легким», не требовать много ресурсов,
«путешествовать» по Интернету и работать даже в среде веб-браузеров.
Сервер баз данных - это тоже программа. Она уже не является частью системы 1С:Предприятие, это специализированная программа, поставляемая сторонними производителями. Ее основное назначение
- это организация и ведение баз данных - структурированных организованных наборов данных, описывающих характеристики каких-либо физических или виртуальных систем.
В настоящее время система 1С:Предприятие может работать со следующими серверами баз данных:
•
MS SQL Server;
•
Posteg SQL;
•
IBM DB2;
•
Oracle Database.
Лабораторная работа № 6
Регистры накопления.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Зачем нужен регистр накопления
Казалось бы, все необходимое мы с вами уже создали: у нас есть что расходовать и приходовать
(справочники), и у нас есть чем расходовать и приходовать (документы). Осталось только построить несколько отчетов, и автоматизация предприятия будет закончена. Однако это не так.
Во-первых, путем анализа документов можно, конечно, получить требуемые нам выходные данные. Но представьте, что завтра предприятие решит немного изменить свои бизнес-планы, и нам потребуется ввести в конфигурацию еще один документ.
Во-вторых, отчеты, анализирующие документы, будут работать довольно медленно, что будет вызывать раздражение пользователей и недовольство руководителей.
Поэтому в системе 1С Предприятие есть несколько объектов конфигурации, которые позволяют создавать в базе данных структуры, предназначенные для накопления информации в удобном для последующего анализа виде. Использование таких «хранилищ» данных позволяет нам, с одной стороны, накапливать в них данные, а с другой стороны, легко создавать нужные нам отчеты или использовать эти данные в алгоритмах работы конфигурации.
источники данных пользователи данных
Рис. 6.1. Алгоритм работы конфигурации
В конфигурации существует несколько объектов, называемых регистрами, для описания подобных
«хранилищ».
Что такое регистр накопления
Объект конфигурации Регистр накопления предназначен для описания структуры накопления данных.
На основе объекта конфигурации Регистр накопления платформа создает в базе данных таблицы, в которых будут накапливаться данные, поставляемые различными объектами базы данных.
Эти данные будут храниться в таблицах в виде отдельных записей, каждая из которых имеет одинаковую, заданную в конфигураторе структуру.
Отличительной особенностью регистра накопления является то, что он не предназначен для интерактивного редактирования пользователем.
Основным назначением регистра накопления является накопление числовой информации в разрезе нескольких измерений, которые описываются разработчиком в соответствующем объекте конфигурации Регистр накопления и являются подчиненными объектами конфигурации.
Виды числовой информации, накапливаемой регистром накопления, называются ресурсами, также являются подчиненными объектами и описываются в конфигураторе.
Изменение состояния регистра накопления происходит, как правило, при проведении документа и заключается в том, что в регистр добавляется некоторое количество записей. Каждая запись содержит значения измерений, значения приращений ресурсов, ссылку на документ, который вызвал эти
изменения (регистратор), и направление приращения (приход или расход). Такой набор записей называется движениями регистра накопления. Каждому движению регистра накопления всегда должен соответствовать регистратор -объект информационной базы (как правило, документ), который произвел эти движения.
Кроме этого, регистр накопления может хранить дополнительную информацию, описывающую каждое движение. Набор такой дополнительной информации задается разработчиком при помощи реквизитов объекта конфигурации Регистр накопления.
Движения документа
Движения документа — это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые документом.
Способы работы с коллекцией
В процессе формирования движений документов, когда в цикле обходили табличные части документов
ПриходнаяНакладная и ОказаниеУслуги, вы столкнетесь с одним из объектов встроенного языка, который является коллекцией.
Многие объекты встроенного языка являются коллекциями. Коллекция представляет собой совокупность объектов. Существуют общие принципы работы с любой коллекцией.
Во-первых, доступ к каждому объекту коллекции возможен путем перебора элементов коллекции в цикле. Для этого используется конструкция языка Для Каждого Из... Цикл ...
Листинг 6.1: Перебор элементов коллекции в цикле
Для Каждого СтрокаТабличноиЧасти из ТабличнаяЧасть Цикл
Сообщить(СтрокаТабличнойЧасти.Услуга);
КонецЦикла;
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. При каждом проходе цикла в переменной СтрокаТабличнойЧасти будет содержаться очередная строка из этой коллекции.
Во-вторых, существует доступ напрямую к элементу коллекции, без перебора коллекции в цикле. Здесь возможны различные комбинации двух обращений.
1. Во встроенном языке бывают именованные коллекции. То есть коллекции, в которых каждый элемент имеет некоторое уникальное имя. В этом случае обращение к элементу коллекции возможно по этому имени.
Листинг 6.2: Обращение к элементу коллекции
Справочники.Сотрудники;
Справочники[“Сотрудники”];
2. Если нет смысла в «персонификации» элементов коллекции (коллекция неименованная), тогда обращение к элементу коллекции возможно по индексу (индекс первого элемента коллекции - ноль).
Листинг 6.3: Обращение к элементу коллекции по индексу
ТабличнаяЧасть[0];
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. И мы обращаемся к первому элементу этой коллекции, указывая его индекс - 0. Следует отметить, что существуют коллекции, сочетающие оба вида обращений. Например, к коллекции колонок таблицы значений можно обращаться как по именам колонок, так и по индексу.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Кроме этого, регистр накопления может хранить дополнительную информацию, описывающую каждое движение. Набор такой дополнительной информации задается разработчиком при помощи реквизитов объекта конфигурации Регистр накопления.
Движения документа
Движения документа — это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые документом.
Способы работы с коллекцией
В процессе формирования движений документов, когда в цикле обходили табличные части документов
ПриходнаяНакладная и ОказаниеУслуги, вы столкнетесь с одним из объектов встроенного языка, который является коллекцией.
Многие объекты встроенного языка являются коллекциями. Коллекция представляет собой совокупность объектов. Существуют общие принципы работы с любой коллекцией.
Во-первых, доступ к каждому объекту коллекции возможен путем перебора элементов коллекции в цикле. Для этого используется конструкция языка Для Каждого Из... Цикл ...
Листинг 6.1: Перебор элементов коллекции в цикле
Для Каждого СтрокаТабличноиЧасти из ТабличнаяЧасть Цикл
Сообщить(СтрокаТабличнойЧасти.Услуга);
КонецЦикла;
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. При каждом проходе цикла в переменной СтрокаТабличнойЧасти будет содержаться очередная строка из этой коллекции.
Во-вторых, существует доступ напрямую к элементу коллекции, без перебора коллекции в цикле. Здесь возможны различные комбинации двух обращений.
1. Во встроенном языке бывают именованные коллекции. То есть коллекции, в которых каждый элемент имеет некоторое уникальное имя. В этом случае обращение к элементу коллекции возможно по этому имени.
Листинг 6.2: Обращение к элементу коллекции
Справочники.Сотрудники;
Справочники[“Сотрудники”];
2. Если нет смысла в «персонификации» элементов коллекции (коллекция неименованная), тогда обращение к элементу коллекции возможно по индексу (индекс первого элемента коллекции - ноль).
Листинг 6.3: Обращение к элементу коллекции по индексу
ТабличнаяЧасть[0];
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. И мы обращаемся к первому элементу этой коллекции, указывая его индекс - 0. Следует отметить, что существуют коллекции, сочетающие оба вида обращений. Например, к коллекции колонок таблицы значений можно обращаться как по именам колонок, так и по индексу.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Добавление регистра накопления
•
В режиме конфигуратор
Откроем в конфигураторе нашу учебную конфигурацию и добавим новый объект конфигурации
Регистр накопления. Для этого выделим в дереве объектов конфигурации ветвь Регистры накопления и нажмем кнопку Добавить в командной панели окна конфигурации.
-
На закладке Основные: имя регистра - ОстаткиМатериалов. Расширенное представление списка как
Движения по регистру Остатки материалов. Этот заголовок будет отображаться в окне списка записей регистра.
-
На закладке Подсистемы: отметим в списке следующие подсистемы: Учет материалов, Оказание услуг и Бухгалтерия.
-
На закладке Данные: нажмем на «+» и добавим следующие:
•
Материал, тип СправочникСсылка. Номенклатура;
•
Склад, тип СправочникСсылка.Склады.
• ресурс Количество с длиной 15 и точностью 3.
Рис. 6.2. Создание измерений регистра
В результате этих действий регистр ОстаткиМатериалов должен иметь следующий вид:
Рис. 6.3. ОстаткиМатериалов
Если вы сейчас попытаетесь запустить 1С : Предприятие в режиме отладки, то система выдаст сообщение об ошибке: «РегистрНакопления.ОстаткиМатериалов: Ни один из документов не
является регистратором для регистра». Это сообщение еще раз подтверждает тот факт, что назначение регистра накопления в том, чтобы аккумулировать данные, поставляемые различными документами.
Поэтому мы сформируем движения регистра накопления ОстаткиМатериалов в процессе проведения двух созданных нами документов ПриходнаяНакладная и ОказаниеУслуг.
Откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная. Перейдем на закладку Движения, раскроем список Регистры накопления и отметим регистр накопления
ОстаткиМатериалов.
Рис. 6.4. Создание движения документа
После чего активизируется Конструктор движений, воспользуемся этим конструктором.
Конструктор устроен просто. В списке Регистры перечислены регистры, в которых документ может создавать движения. В нашем случае там пока один регистр ОстаткиМатериалов.
В списке Реквизиты документа должны находиться исходные данные для создания движений - реквизиты документа ПриходнаяНакладная. А в таблице Поле - Выражение должны быть заданы формулы, по которым будут вычисляться значения измерений и ресурсов регистра при записи движений.
Рис. 6.5. Конструктор движения регистров
В поле выбора Табличная часть выберем табличную часть нашего документа - Материалы.
Список реквизитов документа, который уже заполнен реквизитами шапки документа, автоматически дополнится реквизитами нашей табличной части.
Теперь нажмем кнопку Заполнить выражения.
В нижнем окне сформируется соответствие полей (измерений и ресурсов) регистра и выражений для их расчета.
Нажмем кнопку ОК и посмотрим, какой текст сформировал конструктор в модуле документа
ПриходнаяНакладная .
Конструктор создал обработчик события ОбработкаПроведенияобъекта конфигурации Документ
ПриходнаяНакладная, поместил его в модуль объекта и открыл текст модуля.
В заключение отредактируем командный интерфейс, чтобы в подсистемах Бухгалтерия, Оказание
услуг и Учет материалов была доступна ссылка для просмотра записей нашего регистра накопления.
-
В дереве объектов конфигурации выделим ветвь Подсистемы, вызовем ее контекстное меню и
выберем пункт Все подсистемы:
•
В списке Подсистемы выделим подсистему УчетМатериалов.
•
В группе Панель навигации.Обычное включим видимость у команды Остатки материалов и мышью перетащим ее См.также. панели навигации