|
Загрузка значений субконто через COM | ☑ | ||
---|---|---|---|---|
0
YurOK_51
18.07.11
✎
14:55
|
Синхронизирую значения в базе ББУ и БГУ. Надо проставить значение незаполненных субконто. В ББУ и БГУ есть непредопределенные субконто, то есть их не установить с помощью:
СтрокаНабора.ExtDimensionsDr.<ВидСубконто> = НужноеСубконто; Можно получить ключ и значение всех субконто счета обойдя коллекцию КлючЗначений субконто: НомерСубконто=1; Для каждого СтрокаСубконто Из СтрокаНабора.ExtDimensionsDr Цикл СтрокаСубконто.Value = СтрокаЗагрузки[0]["СубконтоДт"+НомерСубконто]; НомерСубконто=НомерСубконто+1; КонецЦикла; Но в этом случае ошибка записи Value Есть метод загрузить(): ТаблицаЗагрузки = Новый ТаблицаЗначений; ТаблицаЗагрузки.Колонки.Добавить("Key"); ТаблицаЗагрузки.Колонки.Добавить("Value"); НомерСубконто=1; Для каждого СтрокаСубконто Из СтрокаНабора.ExtDimensionsDr Цикл СтрокаТЧЗ = ТаблицаЗагрузки.Добавить(); СтрокаТЧЗ.Key = СтрокаСубконто.Key; СтрокаТЧЗ.Value = СтрокаЗагрузки[0]"СубконтоДт"+НомерСубконто]; НомерСубконто=НомерСубконто+1; КонецЦикла; СтрокаНабора.ExtDimensionsDr.Загрузить(ТаблицаЗагрузки); Не находит метод. Можно ли вообще записать значения субконто через СОМ? |
|||
1
Aprobator
18.07.11
✎
14:58
|
не понял, хотим что ли значение с другой базы напрямую непредопределенное значение закинуть? Т.е. не создавая его в другой базе?
|
|||
2
YurOK_51
18.07.11
✎
15:03
|
Оно есть в базе "приемнике".
Предварительно я получаю его значение(COM объект) в таблицу в базе источнике. Проблема на этапе записи набора в приемник. Не получается установить значение непредопределенного субконто. |
|||
3
Aprobator
18.07.11
✎
15:04
|
(2) есть так найди его. По наименованию или по коду. И с базы приемника считывай не целиком объект, а то почему искать будешь.
|
|||
4
YurOK_51
18.07.11
✎
15:08
|
(3) Я его нахожу, но не могу установить найденное значение, чтобы после записать набор в приемнике.
Ошибка при попытке установки значения. |
|||
5
DmitrO
18.07.11
✎
15:22
|
Имена имеют только предопределенные виды субконто.
Но у типа РегистрБухгалтерииСубконто есть метод Вставить(). |
|||
6
Aprobator
18.07.11
✎
15:30
|
(4) я этого в приведенном коде не увидел.
|
|||
7
YurOK_51
18.07.11
✎
15:47
|
Для каждого СтрокаСубконто Из СтрокаНабора.ExtDimensionsCr Цикл
СтрокаСубконто.Вставить(СтрокаСубконто.key, СтрокаЗагрузки[0]["СубконтоКт"+НомерСубконто]); НомерСубконто=НомерСубконто+1; КонецЦикла; Возникает ошибка: {Форма.Форма.Форма(304)}: Метод объекта не обнаружен (Вставить) СтрокаСубконто.Вставить(СтрокаСубконто.key, СтрокаЗагрузки[0]["СубконтоКт"+НомерСубконто]); Есть подозрения, что все дело в попытке установки через СОМ. |
|||
8
Aprobator
18.07.11
✎
16:46
|
ну по старой схеме СтрокаСубконто - тип значения в студию.
|
|||
9
DmitrO
18.07.11
✎
16:55
|
Для танкистов:
СтрокаНабора.СубконтоКт.Вставить(ВидСубконто, Значение); |
|||
10
YurOK_51
19.07.11
✎
12:09
|
Итог:
Переписал обработку на работу в обратную сторону, т.е. Соединяюсь из приемника в источник. В этом случае работает: Для танкистов: СтрокаНабора.СубконтоКт.Вставить(ВидСубконто, Значение); Вывод нельзя устанавливать значение непредопределенных субконто в наборе, если он получен через СОМ. Всем спасибо. |
|||
11
Aprobator
19.07.11
✎
12:20
|
бррр. Ерунда какая то.
|
|||
12
DmitrO
19.07.11
✎
13:06
|
(10)метафора в тему:
Опыт. Ловим таракана, свистим, - таракан убегает. Ловим таракана, отрываем ноги, свистим, - таракан остается на месте. Вывод: таракан без ног не слышит! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |