Листинг 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!