Для Каждого СтрокаТабличноиЧасти из ТабличнаяЧасть Цикл Сообщить(СтрокаТабличнойЧасти.Услуга); КонецЦикла;
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. При каждом проходе цикла в переменной СтрокаТабличнойЧасти будет содержаться очередная строка из этой коллекции. Во-вторых, существует доступ напрямую к элементу коллекции, без перебора коллекции в цикле. Здесь возможны различные комбинации двух обращений. 1. Во встроенном языке бывают именованные коллекции. То есть коллекции, в которых каждый элемент имеет некоторое уникальное имя. В этом случае обращение к элементу коллекции возможно по этому имени.
2. Если нет смысла в «персонификации» элементов коллекции (коллекция неименованная), тогда обращение к элементу коллекции возможно по индексу (индекс первого элемента коллекции - ноль).
Листинг 6.3: Обращение к элементу коллекции по индексу
ТабличнаяЧасть[0];
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. И мы обращаемся к первому элементу этой коллекции, указывая его индекс - 0. Следует отметить, что существуют коллекции, сочетающие оба вида обращений. Например, к коллекции колонок таблицы значений можно обращаться как по именам колонок, так и по индексу.
В режиме конфигуратор
Откроем в конфигураторе нашу учебную конфигурацию и добавим новый объект конфигурации Регистр накопления. Для этого выделим в дереве объектов конфигурации ветвь Регистры накопления и нажмем кнопку Добавить в командной панели окна конфигурации. - На закладке Основные: имя регистра - ОстаткиМатериалов. Расширенное представление списка как Движения по регистру Остатки материалов. Этот заголовок будет отображаться в окне списка записей регистра. - На закладке Подсистемы: отметим в списке следующие подсистемы: Учет материалов, Оказание услуг и Бухгалтерия. - На закладке Данные: нажмем на «+» и добавим следующие:
Материал, тип СправочникСсылка. Номенклатура;
Склад, тип СправочникСсылка.Склады.
ресурс Количество с длиной 15 и точностью 3.
Рис. 6.2. Создание измерений регистра
В результате этих действий регистр ОстаткиМатериалов должен иметь следующий вид:
Рис. 6.3. ОстаткиМатериалов
Если вы сейчас попытаетесь запустить 1С: Предприятие в режиме отладки, то система выдаст сообщение об ошибке: «РегистрНакопления.ОстаткиМатериалов: Ни один из документов не является регистратором для регистра». Это сообщение еще раз подтверждает тот факт, что назначение регистра накопления в том, чтобы аккумулировать данные, поставляемые различными документами. Поэтому мы сформируем движения регистра накопления ОстаткиМатериалов в процессе проведения двух созданных нами документов ПриходнаяНакладная и ОказаниеУслуг.
Откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная. Перейдем на закладку Движения, раскроем список Регистры накопления и отметим регистр накопления ОстаткиМатериалов.
Рис. 6.4. Создание движения документа
После чего активизируется Конструктор движений, воспользуемся этим конструктором. Конструктор устроен просто. В списке Регистры перечислены регистры, в которых документ может создавать движения. В нашем случае там пока один регистр ОстаткиМатериалов. В списке Реквизиты документа должны находиться исходные данные для создания движений - реквизиты документа ПриходнаяНакладная. А в таблице Поле - Выражение должны быть заданы формулы, по которым будут вычисляться значения измерений и ресурсов регистра при записи движений.
Рис. 6.5. Конструктор движения регистров
В поле выбора Табличная часть выберем табличную часть нашего документа - Материалы. Список реквизитов документа, который уже заполнен реквизитами шапки документа, автоматически дополнится реквизитами нашей табличной части. Теперь нажмем кнопку Заполнить выражения. В нижнем окне сформируется соответствие полей (измерений и ресурсов) регистра и выражений для их расчета. Нажмем кнопку ОК и посмотрим, какой текст сформировал конструктор в модуле документа ПриходнаяНакладная. Конструктор создал обработчик события ОбработкаПроведения объекта конфигурации Документ ПриходнаяНакладная, поместил его в модуль объекта и открыл текст модуля. В заключение отредактируем командный интерфейс, чтобы в подсистемах Бухгалтерия, Оказание услуг и Учет материалов была доступна ссылка для просмотра записей нашего регистра накопления. - В дереве объектов конфигурации выделим ветвь Подсистемы, вызовем ее контекстное меню и выберем пункт Все подсистемы:
В списке Подсистемы выделим подсистему УчетМатериалов.
В группе Панель навигации.Обычное включим видимость у команды Остатки материалов и мышью перетащим ее См.также. панели навигации
Рис. 6.6. Панель навигации См. также
· Аналогично, выделив подсистемы ОказаниеУслуг и Бухгалтерия, в панели навигации в группе Обычное включим видимость у команды Остатки материалов и перенесем ее в группу См.также. панели навигации
· В режиме 1С:Предприятие
В открывшемся окне 1С предприятия мы видим, что в панели навигации в группе См.также разделов Бухгалтерия, Оказание услуги Учет материалов появилась команда для открытия списка регистра Остатки материалов. Чтобы проследить связь между проведением документа и накоплением информации в регистре, откроем список приходных накладных, выполнив команду Приходные накладные разделе Бухгалтерия. Откроем Приходную накладную №1 и нажмем Провести и закрыть, то есть перепроведем ее. То же самое сделаем для Приходной накладной № 2. Перепровести документы можно и не открывая документов. Для этого нужно выделить нужный документ в списке, нажать кнопку Все действия в командной панели формы списка и выбрать пункт Провести.
Теперь выполним команду Остатки материалов и откроем список нашего регистра накопления:
Рис. 6.7. Движения по регистру Остатки материалов
Команда перехода к движениям в форме документа
· В режиме Конфигуратор
При реальной работе записей в регистре ОстаткиМатериалов будет много, и будет трудно понять, какие записи относятся к определенному документу. Поэтому наряду с общим списком регистра хотелось бы иметь возможность вызывать из формы документа список регистра, в котором показаны движения, произведенные только этим документом. Чтобы реализовать такую возможность, вернемся в конфигуратор и откроем форму документа ПриходнаяНакладная. В левом верхнем окне перейдем на закладку Командный интерфейс: в разделе Панель навигации раскроем группу перейти, установим свойство Видимость для этой команды
Рис. 6.8. Командный интерфейс
В режиме 1С:Предприятие
Запустим 1С: Предприятие в режиме отладки и откроем Приходную накладную № 2. В форме документа появилась панель навигации, в которой мы можем переходить к списку записей регистра Остатки Материалов, связанному с документом, и обратно к содержимому документа.
Движения документа «Оказание услуги»
В режиме Конфигуратор
Откроем окно редактирования объекта конфигурации Документ ОказаниеУслуги. Перейдем на закладку Движения и в списке регистров конфигурации отметим регистр накопления ОстаткиМатериалов. - Нажмем кнопку Конструктор движений: 1.Тип движения регистра - Расход 2. В поле выбора Табличная часть выберем табличную часть нашего документа - ПереченьНоменклатуры. 3.Нажмем кнопку Заполнить выражения. 4. Выделим поле регистра Материал и в окне Реквизиты документа дважды щелкнуть по строкеТекСтрокаПереченьНомеклатуры.Номенклатура., нажмем «ОК»
Рис. 6.9. Конструктор движения регистров
В заключение отредактируем командный интерфейс формы документа, чтобы в панели навигации формы иметь возможность переходить к списку записей регистра Остатки Материалов, связанному с документом.
Для этого откроем форму документа ОказаниеУслуги. В левом верхнем окне перейдем на закладку Командный интерфейс. В разделе Панель навигации раскроем группу Перейти и установим видимость для команды открытия регистра накопления Остаткиматериалов.
В режиме 1С:Предприятие
Запустим 1С:Предприятие в режиме отладки и в разделе Оказание услуг откроем документ Оказание услуги № 1 и нажмемПровести и закрыть, то есть перепроведем его. Теперь выполним команду Остатки материалов и откроем список нашего регистра накопления:
Рис. 6.10. Движения по регистру Остатки материалов
Мы видим, что в регистре накопления Остатки материалов появилась еще одна запись, что соответствует количеству строк в табличной части проведенного документа. Все поля регистра заполнились данными документа так, как мы задали в обработчике проведения документа Оказание услуги. Пиктограмма со знаком «минус» слева от записи указывает на тип движения – Расход. Сейчас мы видим весь список движений регистра. Открыв этот список из формы документа, мы можем отфильтровать движения по документу-регистратору. Для этого откроем еще раз документ Оказание услуги № 1. В форме документа появилась панель навигации, в которой мы можем переходить к списку записей регистра Остатки материалов, связанному с документом, и обратно к содержимому документа. Сформированные таким образом движения этого документа будут не совсем правильны. Дело в том, что в документе Оказание услуги, в отличие от документа Приходная накладная, могут содержаться не только расходуемые материалы, но и услуги. Поэтому в регистр Остатки материалов будут попадать записи и о расходуемых услугах, что неправильно. Пока мы ничего не будем делать с движениями, которые сформировал конструктор, но как только познакомимся с перечислениями, мы внесем в обработчик проведения необходимые изменения.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Что такое отчет
Объект конфигурации Отчет предназначен для описания алгоритмов, при помощи которых пользователь сможет получать необходимые ему выходные данные. Алгоритм формирования выходных данных описывается при помощи визуальных средств или с использованием встроенного языка. В реальной жизни объектам конфигурации Отчет соответствуют всевозможные таблицы выходных данных, сводных данных, диаграммы и пр.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Добавление отчета
В режиме Конфигуратор
Приступим к созданию отчета, который будет показывать нам приход, расход и остатки материалов. Откроем в конфигураторе нашу учебную конфигурацию и добавим новый объект конфигурации Отчет. Для этого выделим в дереве объектов конфигурации ветвь Отчеты и нажмем кнопку Добавить в командной панели окна конфигурации. - На закладке Основные: имя отчета - Материалы. Нажмем кнопку Открыть схему компоновки данныхили кнопку открытия со значком лупы.
Макет
Так как у отчета, который мы создаем, еще не существует схемы компоновки данных, платформа предложит создать новую схему. Схема компоновки данных с точки зрения конфигурации является макетом, поэтому будет открыт конструктор макета, предлагающий выбрать единственный тип макета - Схема компоновки данныхи нажмем кнопку Готово:
Рис. 7.1. Конструктор макета
Схема компоновки данных
Платформа создаст новый макет, содержащий схему компоновки данных, и сразу же откроет конструктор схемы компоновки данных.
Добавим новый набор данных - запрос. Для этого нажмем кнопку Добавить и выберем соответствующий вариант.
Добавим текст запроса, запустим конструктор запроса нажмем кнопку Конструктор запроса.
Конструктор запроса - инструмент, созданный для помощи разработчику, позволяющий визуально конструировать запрос. Даже пользователь, не знакомый с языком запросов, может с помощью конструктора создать синтаксически правильный запрос. В списке База данных представлены таблицы для создания запроса. На основе их данных мы имеем возможность построить отчет. Если раскрыть ветку РегистрыНакопления, то мы увидим, что кроме таблицы регистра ОстаткиМатериалов в этой ветке присутствуют еще несколько виртуальных таблиц, которые формирует система.
Начать Тест
Рис. 7.2. Конструктор запроса
Поскольку мы хотим видеть как остатки материалов, так и информацию об их поступлении и расходовании, нас будет интересовать виртуальная таблица ОстаткиМатериалов.ОстаткиИОбороты. Раскроем ее.
Начнем выбирать поля таблицы в нужном нам порядке двойным щелчком мыши. Сначала выберем Склад и Материал, потом отметим КоличествоНачальныйОстаток, КоличествоПриход, КоличествоРасход и КоличествоКонечныйОстаток. Нажмем ОК и вернемся в конструктор схемы компоновки данных.
Рис. 7.3. Выбор баз данных
Текст запроса, который был создан с помощью конструктора, платформа поместит в поле Запрос. Это поле представляет собой текстовый редактор, в котором можно вручную отредактировать существующий запрос. Кроме того, можно снова вызвать конструктор запроса и отредактировать запрос при помощи него.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление