Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Получение значения из ТЗ OLE-базы. Проблема. (http://forums.kuban.ru/f1040/poluchenie_znacheniya_iz_tz_ole-bazy_problema-3334262.html)

US1C 21.11.2012 15:17

Получение значения из ТЗ OLE-базы. Проблема.
 
(Платформа 7.7)
Ситуация следующая.
Нахожу значение в ТЗ (где ТЗРасход=OLE, Ит.Субконто(1)=OLE):
НСтр="";
Если ТЗРасход.НайтиЗначение(Ит.Субконто(1),НСтр,"Товар")=1 Тогда
ТЗРасход.ПолучитьЗначение(НСтр,"Количество") - выдает ошибку, номер за пределами значения
КонецЕсли;

Смотрю в отладчике, НСтр так и не присваивается номер найденой строки в ТЗ, т.е. НСтр="" по прежнему. Хотя значение находится, метод возвращает 1.

В чем грабли? Как мне получить номер найденой строки?

Ёпрст 21.11.2012 16:08

Закрыть жуколов (или табло в нём), это для начала.

ЗЫ:НСтр, случаем нет такого реквизита формы ?

US1C 21.11.2012 16:11

(1) Закрыть - не проблема. Дальше-то что?
НСтр - переменная процедуры. Впрочем, и другое имя давал, на всякий случай - эффект 0.

Чучундер 21.11.2012 16:16

найду в ТЗ по оле все что надо, сейчас код скину - писал нивь..ую справку данные из двух баз... там у меня такая же проблем. в яндексе разжевано

Чучундер 21.11.2012 16:17

(2) ты в ОЛЕшную базу пытаешься передать переменную из адресного пространства текуще базы - не взлетит

US1C 21.11.2012 16:24

(3) Жду с нетерпением. Может мыло дать?

Чучундер 21.11.2012 16:36

ща, сек. я ж на вас даром ра ботаю. а мне кушать хочется и жена шубой уже все уши обмякли

Чучундер 21.11.2012 16:38

//получим количественно-товарный состав документа выпуска ГТД
Оле.глТаблица = Оле.CreateObject("ТаблицаЗначений");
ТЗдокОприходование = Оле.глТаблица;
ВозвратДокГТД.ВыгрузитьТабличнуюЧасть(ТЗдокОприходование);

//получим количественно-товарный состав документа отгрузки от поставщика перевозчику
Оле.глРасшифровка = Оле.CreateObject("ТаблицаЗначений");
ТЗдокОтгрузка = Оле.глРасшифровка;
ВозвратДокИМПОРТ.ВыгрузитьТабличнуюЧасть(ТЗдокОтгрузка);

//// инфо: памятка
//// ТЗдокОприходование = глТаблица
//// ТЗдокОтгрузка = глРасшифровка

Чучундер 21.11.2012 16:39

Оле.глОбновить = ТЗдокОприходование.Товар; //текущий товар из документа СЧФ-ГТД полученный
Оле.глФлагРасшифровки = 0; //переменная для получения номера найденной строки

//ищем товар из таблиц оприходования (глТаблица - таблица оприходованных товаров, глОбновить - оприходованный товар)
//в таблице отгрузки (глРасшифровка - таблица отгруженных товаров от поставщика перевозчику)

Результат = Оле.EvalExpr("глРасшифровка.НайтиЗначение(глОбновить,глФлагРасшифровки,""Товар"")");
Если Результат = 0
Тогда //в отгрузке перевозчику не нашли товар, оприходованный на склад

Чучундер 21.11.2012 16:41

глрасшифровк, глтаблица, глОбновить, глФлагРасшифровки - переменные из контекста ГМ оле базы стипом ЭКСПОРТ.
.
я думаю мысль уловил: в ОЛЕ БАЗЕ в ГМ заведи несколько переменных или массив, объяви их ЭКСПОРТ и юзай "доситуп" через них

US1C 21.11.2012 16:42

(9) Понял. Спасибо.


Текущее время: 14:24. Часовой пояс GMT +3.