|
Как в выборке перебрать документы с разными метаданными ? | ☑ | ||
---|---|---|---|---|
0
yavasya
25.07.14
✎
20:09
|
Например, в одном доке есть реквизит, а в другом его нет.
Если Выборка.Ссылка.метаданные().СуммаДокумента тогда ... Иначе ...... конецесли; ЗначениеЗаполнено(Выборка.СуммаДокумента) не работает, и Выборка.СуммаДокумента)=неопределено не работает и Выборка.СуммаДокумента)= NULL не работает; как сделать проверку ? |
|||
1
yavasya
25.07.14
✎
20:10
|
ПутьКФайлу="D:\ForExcel\Файл.xls";
Попытка Эксель = Новый COMОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Книга = Эксель.WorkBooks.Add(); Лист = Книга.WorkSheets(1); Лист = Книга.Sheets.Add(); //код от GROOVY !!!! Запрос = Новый Запрос; ФлагПервыйВход = Истина; Запрос.Текст = "ВЫБРАТЬ ВложенныйЗапрос.Ссылка ИЗ ("; Для каждого Док из Метаданные.Документы Цикл Если НЕ ФлагПервыйВход Тогда Запрос.Текст = Запрос.Текст + " ОБЪЕДИНИТЬ ВСЕ "; КонецЕСли; ФлагПервыйВход = Ложь; Запрос.Текст = Запрос.Текст + " ВЫБРАТЬ Ссылка ИЗ Документ." + Док.Имя + " ГДЕ НачалоПериода(Дата, ДЕНЬ) = &Дата "; КонецЦикла; Запрос.Текст = Запрос.Текст + ") КАК ВложенныйЗапрос УПОРЯДОЧИТЬ ПО ВложенныйЗапрос.Ссылка.Дата"; Запрос.УстановитьПараметр("Дата", НачалоДня(ДатаНачала); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); НомерСтроки = 1; Пока Выборка.Следующий() Цикл ДокСсылка = Выборка.Ссылка; Лист.Cells(НомерСтроки, 1).Value = Выборка.Ссылка.Метаданные().Имя; Лист.Cells(НомерСтроки, 2).Value = Выборка.Номер; Лист.Cells(НомерСтроки, 3).Value = Выборка.Дата; Лист.Cells(НомерСтроки, 4).Value = Выборка.СуммаДокумента; НомерСтроки = НомерСтроки + 1; КонецЦикла; Попытка Книга.SaveAs(ПутьКФайлу); Исключение Сообщить(ОписаниеОшибки()+" Файл не сохранен!"); КонецПопытки; Эксель.Application.Quit(); |
|||
2
Cyberhawk
25.07.14
✎
20:11
|
Обращайся к реквизиу через точку в попытке. Если реквизита нет - попадешь в исключение.
|
|||
3
Asmody
25.07.14
✎
20:12
|
В типовых есть функция ЕстьРеквизитДокумента() или что-то типа того
|
|||
4
yavasya
25.07.14
✎
20:17
|
Попытка
Лист.Cells(НомерСтроки, 4).Value = Выборка.СуммаДокумента+0; Исключение возврат; КонецПопытки; |
|||
5
Asmody
25.07.14
✎
20:26
|
(4) нахер возврат?
|
|||
6
yavasya
25.07.14
✎
20:40
|
из за возврат; дальше не шло . спасибо(5)
|
|||
7
yavasya
25.07.14
✎
20:41
|
{Форма.Форма.Форма(49)}: Ошибка при установке значения атрибута контекста (Value)
Лист.Cells(НомерСтроки, 1).Value = Выборка.Ссылка.Метаданные().Имя; по причине: Произошла исключительная ситуация (0x800ac472) |
|||
8
yavasya
25.07.14
✎
20:41
|
что это может быть ?
|
|||
9
yavasya
25.07.14
✎
20:46
|
Строкой сделал , помогло
|
|||
10
yavasya
25.07.14
✎
20:46
|
Можно было код GROOVY заменить запросом по всем докуменатм ?
|
|||
11
yavasya
25.07.14
✎
20:49
|
Запрос данный получает все документы за один день , как сделать за период ?
|
|||
12
Asmody
25.07.14
✎
20:52
|
(11) условие в запросе поменять
Где дата между &датаначала и &датаокончания |
|||
13
yavasya
25.07.14
✎
20:53
|
(12) спасибо ешё раз!
|
|||
14
ДенисЧ
25.07.14
✎
20:59
|
(12) И чему у нас равно ДатаОкончания?
|
|||
15
yavasya
25.07.14
✎
20:59
|
вот теперь думаю выгрузить док экселя в Таблицу значений и сравнить , нужно выявить различающиеся объекты, то есть ,что изменили бухгалтера
|
|||
16
yavasya
25.07.14
✎
21:02
|
базу товарищу помогаю восстанавливать, у него с 14.07.2014 есть архив, надо сравнить доки , у какого дока поменялась дата с номером , или не хватает дока на дату , хочет он докалачивать врукопашную,
|
|||
17
yavasya
25.07.14
✎
21:05
|
{Форма.Форма.Форма(51)}: Ошибка при установке значения атрибута контекста (Value)
Лист.Cells(НомерСтроки, 1).Value = Строка(Выборка.Ссылка.Метаданные().Имя); по причине: Произошла исключительная ситуация (0x800ac472) |
|||
18
yavasya
25.07.14
✎
21:13
|
главное выгрузил 5 тыщ, а потом выругался, дальше не хочет выгрузку делать
|
|||
19
vicof
25.07.14
✎
22:17
|
Просто тывася. Отладчик в зубы и вперед.
|
|||
20
yavasya
25.07.14
✎
22:43
|
(19) )))
|
|||
21
yavasya
25.07.14
✎
22:44
|
просто сделал док видимым, и мышкой контролил процесс, мышкой перестал по доку лазить . выгрузилось
|
|||
22
alle68
26.07.14
✎
04:50
|
(1) А где в запросе поля "Номер", "Дата", "СуммаДокумента"?
Как работает, н., "Value = Выборка.СуммаДокумента"? Да и "Выборка.Ссылка.Метаданные().Имя" - явно что-то не то. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |