×
Показано с 1 по 4 из 4
  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. Аноним
    Гость
    А нельзя просто в справочнике зарубить конструктор печати, при этом указав все реквизиты, используя запрос?

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

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

    Amur-3@mail.ru

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

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

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