×
Показано с 1 по 4 из 4
  1. #1
    Статья
    Гость

    Статья: Обход элементов справочника


    <p>В ходе написания алгоритмов может возникнуть потребность
    перебрать все элементы справочника Например, может понадобиться
    получить реестр какого-либо справочника (товаров, контрагентов и
    т.д.), содержащий перечень всех элементов этого справочника
    <p>Для формирования такого реестра создайте отчет с помощью
    Конструктора Отчетов и Конструктора Макета Отчетов (Конструктору
    Макета Отчетов следует указать, что отчет будет содержать циклы
    по строкам, количество циклов по строкам -1, количество колонок - 3).
    <p>Конструктор Макета Отчета сгенерирует процедуру
    формирования отчета:<p>
    <pre>
    Процедура Сформировать()
    Таб=СоздатьОбъект(&quot;Таблица&quot;);
    Таб.ИсходнаяТаблица(«Сформировать&quot;);
    Таб.ВывестиСекцию(&quot;Шапка&quot;);
    Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
    Пока &quot;Условие&quot; Цикл
    Таб.ВыБестиСекцию(&quot;Строка_1&quot;);
    КонецЦикла;
    Таб.ВывестиСекцию(&quot;Подвал&quot;);
    Таб.ТолькоПросмотр(1);
    Таб.Показать(&quot;Сформировать&quot;,&quot;&quot;);
    КонецПроцедуры
    </pre>
    <p>Эта процедура пока содержит только строки вывода печатной
    формы, но не содержит строк получения и вывода необходимых
    данных.
    <p>Рассмотрим пример формирования реестра товаров (элементов
    справочника "Номенклатура").
    <p>Наша задача - обойти все элементы справочника
    "Номенклатура" и вывести необходимую информацию - код,
    наименование и цену товара - на печать.
    <p>Изменения, которые нам предстоит внести в исходный текст,
    затронут только конструкцию "Пока . . . Цикл . . . КонецЦикла",
    остальные строки останутся прежними. Поэтому далее мы будем
    показывать преобразование только этих строк алгоритма.
    <p>Для выполнения необходимых действий над
    справочником "Номенклатура" мы должны создать
    специальную переменную с помощью функции "СоздатьОбъект":<p>
    <pre>
    <strong>Спр=СоздатьОбъект(&quot;Справочник.Номенклатура&quot;);</strong>
    Пока &quot;Условие&quot; Цикл
    Таб.ВывестиСекцию(&quot;Строка_1&quot;);
    КонецЦикла
    </pre>
    <p>Эта переменная будет использоваться для перебора элементов
    справочника Далее выберем элементы справочника с помощью
    метода "ВыбратьЭлементы":<p>
    <pre>
    Спр=СоздатьОбъект(&quot;Справочник.Номенклатура&quot;);
    <strong>Спр.Выбрать Элементы();</strong>
    Пока «Условие» Цикл
    Таб.ВывестиСекцию(&quot;Строка_1&quot;);
    КонецЦикла;
    </pre>
    <p>Метод "ВыбратьЭлементы" открывает (начинает) перебор
    элементов справочника. В данном случае, мы выбираем все элементы
    справочника "Номенклатура". Обрабатывать элементы справочника мы
    будем в цикле, который у нас уже в каком-то виде есть, он
    содержит оператор вывода строки в печатную форму, но не содержит
    условия.
    <p>Очевидно, цикл нам нужен, чтобы перебрать все элементы
    справочника. Для получения очередного элемента справочника, мы
    воспользуемся методом "ПолучитьЭлемент".
    <p>Чтобы получить очередной элемент справочника, следует
    записать:
    <pre>
    Спр.

    Читать всю статью: http://www.klerk.ru/soft/1c?1879
    Поделиться с друзьями

  2. #2
    Аноним
    Гость
    А нельзя просто в справочнике зарубить конструктор печати, при этом указав все реквизиты, используя запрос?

  3. #3
    Аноним
    Гость
    Это статья по обучению программированию, поэтому никогда не пользуйтесь всякими конструкторами, иначе не научитесь программировать.

  4. #4
    Аноним
    Гость
    Здравствуйте! Меня зовут Роза. У меня в компьютере есть программа 1С, но как пользоваться ею, я не знаю. По этой причине я записалась и получаю по электронной почте информацию от Клерк.Ру.
    Напишите пожалуйста где и как можно подробно почитать об программе 1С, и как пользоваться. Заранее благодарю, Роза

    Amur-3@mail.ru

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)