Вот... По одному конкретному документу я знаю как сделать выборку. А как сделать выборку по Метаданные.Документы и вывести допустим все имена док. я не знаю. Будьте так добры, подскажите
Танцор с Бубном
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 232 раз
Рейтинг: 0
Тьфу.Пардон.Смотрел на один код, а скопировал другой. Делал раньше как-то так:
Для К = 0По Метаданные.Документы.Количество() - 1Цикл
Документ = Метаданные.Документы.Получить(К);
Имя = Документ.Имя;
ВыборкаДок = Документы[Имя].Выбрать();
// дальше обход выборки и удалениеКонецЦикла;
Длякаждого Реквизит Из ДокументСсылка.Метаданные().Реквизиты Цикл
Сообщить(Реквизит.Представление());
КонецЕсли;
Ошибка: Переменная не определена (ДокументСсылка) Для каждого Реквизит Из <<?>>ДокументСсылка.Метаданные().Реквизиты Цикл (Проверка: Сервер)
Цитата(Flexy @ 06.09.11, 11:47)
Тьфу.Пардон.Смотрел на один код, а скопировал другой. Делал раньше как-то так:
Для К = 0По Метаданные.Документы.Количество() - 1Цикл
Документ = Метаданные.Документы.Получить(К);
Имя = Документ.Имя;
ВыборкаДок = Документы[Имя].Выбрать();
// дальше обход выборки и удалениеКонецЦикла;
Вот... По одному конкретному документу я знаю как сделать выборку. А как сделать выборку по Метаданные.Документы и вывести допустим все имена док. я не знаю. Будьте так добры, подскажите
ДляКаждого ВидДок Из Метаданные.Документы Цикл
Сообщить(ВидДок);
Выборка = Документы[ВидДок.Имя].Выбрать();
КонецЦикла;
Сообщение отредактировал alex040269 - 06.09.11, 13:06
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник. ЗиУП
А вот если мне еще нужно указывать сумму по документу, а в запрос не дает добавить СуммаДокумента (поле не найдено) Этот реквизит не в каждом документе ведь есть. Как эту проблему решить?
Запрос=Новый Запрос;
Запрос.Текст="";
ТЗ_выборкаДок = "
|ВЫБРАТЬ Ссылка, Дата, ПометкаУдаления, Номер, СуммаДокумента
|ИЗ Документ.";
ТЗ_объединение = "
|
|ОБЪЕДИНИТЬ ВСЕ
|";
Д=0;
ДляКаждого Документ Из Метаданные.Документы Цикл
Д=Д+1;
Если Д<>1Тогда
Запрос.Текст=Запрос.Текст + ТЗ_объединение + ТЗ_выборкаДок + Документ.Имя;
Иначе
Запрос.Текст=Запрос.Текст + ТЗ_выборкаДок + Документ.Имя;
КонецЕсли;
КонецЦикла;
Доки = Запрос.Выполнить().Выбрать();
Пока Доки.Следующий() Цикл
ОблЭлемент.Параметры.Дата = Доки.Дата;
ОблЭлемент.Параметры.Ссылка = Доки.Ссылка;
ОблЭлемент.Параметры.Номер = Доки.Номер;
ТабДок.Вывести(ОблЭлемент);
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(bodka @ 06.09.11, 14:56)
А вот если мне еще нужно указывать сумму по документу, а в запрос не дает добавить СуммаДокумента (поле не найдено) Этот реквизит не в каждом документе ведь есть. Как эту проблему решить?
Добавьте после получения документа проверку наличия реквизита, и соответственно подправьте запрос.
p.s. по-моему тема для раздела "сделайте мне"... если не будет конкретных вопросов - то она туда и переедет.
Личные бесплатные консультации не даю, для этого есть форум!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!