Вирішив записати в блог корисну думку, щоб не загубилася на форумі.
Ось тут //infostart.ru/forum/read.php?24,23382,23397#msg-23397 на форумі, запитували, як отримати в вісімки дату останнього наявного в базі документа. В принципі тему можна розширити до питання "Як вибрати кілька документів (можливо різного виду) за певними критеріями?".
Відомо, що у вісімці ми не можемо вибирати всі документи в одній вибірці як в 7.7.
Замість цього тепер документи вибираються через об'єкт ДокументМенеджер.<Имя документа>
При цьому, ім'я документа необхідно вказувати (читай - знати) перед викликом методу Вибрати (). Отже, спочатку необхідно всі ці типи документів отримати.
Щоб в циклі отримати всі типи документів, можна скористатися колекцією об'єктів Метаданние.Документи, і конкретним властивістю Ім'я об'єкта колекції, в якому зберігатися Вид документа, як він заданий в конфігураторі. Трохи подумавши отримуємо приблизно такий код:
Другий спосіб отримання інформації про документи - мова запитів. Правда тут новачки можуть натрапити на ті ж самі граблі, тому що запитом можна вибрати тільки документа конкретного виду. Ні, до журналів документів теж можна звертатися, але ось повного журналу, в якому реєструються всі документи за умовчанням, як в 7.7, немає, тому звертатися в запиті будемо саме до конкретних документів. Як же буде виглядати такий запит? І не будемо втомлюватися ми перераховувати в ньому всі документи?
Ні, не будемо втомлюватися, якщо будемо формувати текст запиту автоматично за принципом описаного в першому прикладі.
Отже, як повинен виглядати текст запиту вибирає документи одного виду? Приблизно ось так:
Зверніть увагу, документи сортуються в запиті по спадаючій.
А запит з декількома видами документів?
дивимося:
І тепер, маючи всі необхідні частини запиту, можна приступати до автоматичного формування тексту.
В
Відразу обмовлюся, що практично всю вишеопісанниую процедуру (автоматичного формування тексту запиту) я видер з типовою обробки "Універсальний журнал документів", яка використовує потрібний нам принцип :)
Отже, на що необхідно звернути увагу в цьому коді:
- датами початку і кінця запиту встановлюється порожня дата, це означає, що документи будуть вибиратися за весь період;
- документи відсортовані по зменшенню;
- таблиця результат запиту обмежена кількістю рядків дорівнює одиниці - нам адже нужем був тільки ОДИН останній документ;
- ну і крім посилання тут вибирається ще дещо яка корисна інформація: дата, номер, номер піктограми для відображення і т.д.
- варіант із запитом правильніший з методологічної точки зору.