|
КД 2. Ошибка выбора объектов коллекции | ☑ | ||
---|---|---|---|---|
0
Альбатрос
23.12.13
✎
07:36
|
ПВД:
Результат2 = глЗапросSQL.ВыполнитьИнструкцию(ТекстЗапроса); ИндТаб = СоздатьОбъект("ИндексированнаяТаблица"); ИндТаб.Загрузить(Результат2); ТаблицаИменРегистров = СоздатьОбъект("ТаблицаЗначений"); ТаблицаИменРегистров.НоваяКолонка("Имя"); ТаблицаИменРегистров.НоваяКолонка("Представление"); ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); УчетДС_ПоПодразделениям = СоздатьОбъект("ТаблицаЗначений"); УчетДС_ПоПодразделениям.НоваяКолонка("Период"); УчетДС_ПоПодразделениям.НоваяКолонка("Сумма"); УчетДС_ПоПодразделениям.НоваяКолонка("БанковскийСчетКасса"); УчетДС_ПоПодразделениям.НоваяКолонка("Организация"); УчетДС_ПоПодразделениям.НоваяКолонка("Подразделение"); УчетДС_ПоПодразделениям.НоваяКолонка("Контрагент"); ТаблицаИменРегистров.НоваяСтрока(); ТаблицаИменРегистров.Имя = "УчетДС_ПоПодразделениям"; ТаблицаИменРегистров.Представление = "Учет денежных средств по подразделениям"; ИндТаб.Показать(); ИндТаб.ВыбратьСтроки(); Пока ИндТаб.ПолучитьСтроку() = 1 цикл ИсходящиеДанные.УдалитьВсе(); УчетДС_ПоПодразделениям.УдалитьСТроки(); УчетДС_ПоПодразделениям.НоваяСтрока(); УчетДС_ПоПодразделениям.Период = ИндТаб.ДатаДок; УчетДС_ПоПодразделениям.Сумма = ИндТаб.СуммаДокумента; УчетДС_ПоПодразделениям.БанковскийСчетКасса = ИндТаб.Клиент; УчетДС_ПоПодразделениям.Организация = ИндТаб.Клиент.ЮрЛицо; УчетДС_ПоПодразделениям.Контрагент = ИндТаб.Фирма; ИсходящиеДанные.Установить("Дата",ИндТаб.ДатаДок); ИсходящиеДанные.Установить("ТаблицаРегистровНакопления",ТаблицаИменРегистров); ИсходящиеДанные.Установить("УчетДС_ПоПодразделениям", УчетДС_ПоПодразделениям); ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КорректировкаЗаписейРегистров"); КонецЦикла; Вылетает ошибка из сабжа. Что не так? |
|||
1
MKZM
23.12.13
✎
07:41
|
Мало данных.
|
|||
2
MKZM
23.12.13
✎
07:44
|
Вообще - много непонятного
|
|||
3
Defender aka LINN
23.12.13
✎
07:44
|
(0) Данные, выгружаемые по правилу - ПЕРВЫЙ параметр.
|
|||
4
MKZM
23.12.13
✎
07:47
|
Аа, так это 7
|
|||
5
Альбатрос
23.12.13
✎
07:54
|
(3) ВыгрузитьПоПравилу(ИсходящиеДанные,,,, "КорректировкаЗаписейРегистров"); - Та же самая ошибка.
А вообще из примера взял, в примере "Исходящие данные" задаются 3 параметром, а первый пустой. |
|||
6
Defender aka LINN
23.12.13
✎
07:55
|
(5) Где вы, ять, такие примеры берете?
|
|||
7
Альбатрос
23.12.13
✎
07:56
|
(6) Типовой из КД "Перенос остатков товара" =)
Запрос = Новый запрос(); Запрос.текст = "ВЫБРАТЬ | ОстаткиТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура, | ОстаткиТоваровНаСкладахОстатки.КоличествоОстаток КАК Количество | ИЗ | РегистрНакопления.ОстаткиТоваровНаСкладах.Остатки КАК ОстаткиТоваровНаСкладахОстатки"; Выборка = запрос.Выполнить().Выбрать(); ТоварыНаСкладах = Новый ТаблицаЗначений(); ТоварыНаСкладах.Колонки.Добавить("Номенклатура"); ТоварыНаСкладах.Колонки.Добавить("Количество"); ТоварыНаСкладах.Колонки.Добавить("Период"); ДатаВыгрузки = ТекущаяДата(); Пока Выборка.Следующий() Цикл СтрокаТоваров = ТоварыНаСкладах.Добавить(); СтрокаТоваров.Номенклатура = Выборка.Номенклатура; СтрокаТоваров.Количество = Выборка.Количество; СтрокаТоваров.Период = ДатаВыгрузки; КонецЦикла; ТаблицаИменРегистров = Новый ТаблицаЗначений(); ТаблицаИменРегистров.Колонки.Добавить("Имя"); ТаблицаИменРегистров.Колонки.Добавить("Представление"); СтрокаТаблицы = ТаблицаИменРегистров.Добавить(); СтрокаТаблицы.Имя = "ОстаткиТоваровНаСкладах"; СтрокаТаблицы.Представление = "Остатки товаров на складах"; ИсходящиеДанные = Новый Структура; ИсходящиеДанные.Вставить("Номер", "001"); ИсходящиеДанные.Вставить("Дата", ДатаВыгрузки); ИсходящиеДанные.Вставить("Комментарий", "Перенос остатков товаров на " + Строка(ДатаВыгрузки)); ИсходящиеДанные.Вставить("ТаблицаРегистровНакопления", ТаблицаИменРегистров); ИсходящиеДанные.Вставить("ОстаткиТоваровНаСкладах", ТоварыНаСкладах); ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ПереносОстатковТоваров"); |
|||
8
Defender aka LINN
23.12.13
✎
07:58
|
(7) В справке к КД такого нет, я гарантирую это.
В общем, RTFM |
|||
9
Альбатрос
23.12.13
✎
08:47
|
(8) Ну да, в справке по-другому. Но и если первым параметром указывать, то та же самая ошибка.
|
|||
10
Defender aka LINN
23.12.13
✎
08:48
|
(9) Ошибка какбе символизирует нам, что КД ожидает увидеть в неком свойстве коллекцию. А у тебя там ХЗ что.
|
|||
11
Альбатрос
23.12.13
✎
09:00
|
(10) В это некое свойство я передаю ТЗ. ТЗ не пустая однозначно. ТЗ же является коллекцией, правильно?
|
|||
12
Defender aka LINN
23.12.13
✎
09:22
|
(11) Рекомендую таки изучить правило под лупой. Что-то ты там делаешь не так
|
|||
13
Йохохо
23.12.13
✎
09:54
|
(0) Вы пытаетесь передать Объект, который хотите, чтобы конвертация обошла как коллекцию, из которой выбрала Объект
|
|||
14
Альбатрос
23.12.13
✎
10:56
|
(13) Не понял ))
|
|||
15
Йохохо
23.12.13
✎
11:13
|
(14) протупил я, смотри в отладчике, в 7 проще чем в 8
|
|||
16
Альбатрос
23.12.13
✎
11:54
|
Вообщем, получилось выгруэить все же вот так:
ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КорректировкаЗаписейРегистров"); То есть ТЗ передать 3 параметром. при этом в ПВД очистил поле "Правило конвертации". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |