Листинг 6.1: Перебор элементов коллекции в цикле
Для Каждого СтрокаТабличноиЧасти из ТабличнаяЧасть Цикл
Сообщить(СтрокаТабличнойЧасти.Услуга);
КонецЦикла;
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. При каждом проходе цикла в переменной СтрокаТабличнойЧасти будет содержаться очередная строка из этой коллекции.
Во-вторых, существует доступ напрямую к элементу коллекции, без перебора коллекции в цикле. Здесь возможны различные комбинации двух обращений.
1. Во встроенном языке бывают именованные коллекции. То есть коллекции, в которых каждый элемент имеет некоторое уникальное имя. В этом случае обращение к элементу коллекции возможно по этому имени.
Листинг 6.2: Обращение к элементу коллекции
Справочники.Сотрудники;
Справочники[“Сотрудники”];
2. Если нет смысла в «персонификации» элементов коллекции (коллекция неименованная), тогда обращение к элементу коллекции возможно по индексу (индекс первого элемента коллекции - ноль).
Листинг 6.3: Обращение к элементу коллекции по индексу
ТабличнаяЧасть[0];
В этом примере ТабличнаяЧасть - это коллекция строк табличной части объекта конфигурации. И мы обращаемся к первому элементу этой коллекции, указывая его индекс - 0. Следует отметить, что существуют коллекции, сочетающие оба вида обращений. Например, к коллекции колонок таблицы значений можно обращаться как по именам колонок, так и по индексу.
|
|
ПРАКТИЧЕСКАЯ ЧАСТЬ
Добавление регистра накопления
- В режиме конфигуратор
Откроем в конфигураторе нашу учебную конфигурацию и добавим новый объект конфигурации Регистр накопления. Для этого выделим в дереве объектов конфигурации ветвь Регистры накопления и нажмем кнопку Добавить в командной панели окна конфигурации.
- На закладкеОсновные: имя регистра - ОстаткиМатериалов. Расширенное представление списка как Движения по регистру Остатки материалов. Этот заголовок будет отображаться в окне списка записей регистра.
- На закладкеПодсистемы: отметим в списке следующие подсистемы: Учет материалов, Оказание услуг и Бухгалтерия.
- На закладкеДанные:нажмем на «+» и добавим следующие:
- Материал, тип СправочникСсылка. Номенклатура;
- Склад, тип СправочникСсылка.Склады.
- ресурс Количество с длиной 15 и точностью 3.
Рис. 6.2. Создание измерений регистра
В результате этих действий регистр ОстаткиМатериалов должен иметь следующий вид:
Рис. 6.3. ОстаткиМатериалов
Если вы сейчас попытаетесь запустить 1С : Предприятие в режиме отладки, то система выдаст сообщение об ошибке:«РегистрНакопления.ОстаткиМатериалов: Ни один из документов не является регистратором для регистра». Это сообщение еще раз подтверждает тот факт, что назначение регистра накопления в том, чтобы аккумулировать данные, поставляемые различными документами.
Поэтому мы сформируем движения регистра накопления ОстаткиМатериалов в процессе проведения двух созданных нами документовПриходнаяНакладная и ОказаниеУслуг.
|
|
Откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная. Перейдем на закладку Движения, раскроем список Регистры накопления и отметим регистр накопления ОстаткиМатериалов.
Рис. 6.4. Создание движения документа
После чего активизируется Конструктор движений, воспользуемся этим конструктором.
Конструктор устроен просто. В списке Регистры перечислены регистры, в которых документ может создавать движения. В нашем случае там пока один регистр ОстаткиМатериалов.
В списке Реквизиты документа должны находиться исходные данные для создания движений - реквизиты документа ПриходнаяНакладная. А в таблице Поле - Выражение должны быть заданы формулы, по которым будут вычисляться значения измерений и ресурсов регистра при записи движений.
Рис. 6.5. Конструктор движения регистров
В поле выбора Табличная часть выберем табличную часть нашего документа - Материалы.
Список реквизитов документа, который уже заполнен реквизитами шапки документа, автоматически дополнится реквизитами нашей табличной части.
Теперь нажмем кнопку Заполнить выражения.
В нижнем окне сформируется соответствие полей (измерений и ресурсов) регистра и выражений для их расчета.
Нажмем кнопку ОК и посмотрим, какой текст сформировал конструктор в модуле документа ПриходнаяНакладная .
Конструктор создал обработчик событияОбработкаПроведенияобъекта конфигурации ДокументПриходнаяНакладная,поместил его в модуль объекта и открыл текст модуля.
В заключение отредактируем командный интерфейс, чтобы в подсистемах Бухгалтерия, Оказание услуг и Учет материалов была доступна ссылка для просмотра записей нашего регистра накопления.
- Вдереве объектов конфигурации выделим ветвьПодсистемы,вызовем ее контекстное меню и выберем пунктВсе подсистемы:
|
|
- В списке Подсистемы выделим подсистему УчетМатериалов.
- В группе Панель навигации.Обычное включим видимость у команды Остатки материалов и мышью перетащим ее См.также. панели навигации
Рис. 6.6. Панель навигации См. также
- Аналогично, выделив подсистемы ОказаниеУслуг и Бухгалтерия, в панели навигации в группе Обычное включим видимость у команды Остатки материалов и перенесем ее в группу См.также. панели навигации
|
|
- В режиме 1С:Предприятие
В открывшемся окне 1С предприятия мы видим, что в панели навигации в группе См.также разделов Бухгалтерия, Оказание услуг и Учетматериалов появилась команда для открытия списка регистра Остатки материалов.
Чтобы проследить связь между проведением документа и накоплением информации в регистре, откроем список приходных накладных, выполнив команду Приходные накладные разделе Бухгалтерия.
Откроем Приходную накладную № 1 и нажмем Провести и закрыть, то есть перепроведем ее. То же самое сделаем для Приходной накладной № 2.
Перепровести документы можно и не открывая документов. Для этого нужно выделить нужный документ в списке, нажать кнопку Все действия в командной панели формы списка и выбрать пункт Провести.
Теперь выполним команду Остатки материалов и откроем список нашего регистра накопления:
Рис. 6.7. Движения по регистру Остатки материалов
Дата добавления: 2020-04-25; просмотров: 360; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!