Всем здрасте!
Суть такова -
нужно находясь в одной базе при помощи OLE-запроса получить из другой базы
Оклад человека
далее этот Оклад будет пересчитываться по формуле
Так вот код
Если ДокументОснование.Вид()="БольничныйЛист" Тогда
Состояние("ожидайте...");
БазаОле=СоздатьОбъект("V77S.Application");
КаталогБазыОЛе = "\\123.ua\1C\123\";
ПользовательОле = "123";
ПарольОле = "123";
МонопольныйРежимOLE = ""; // для немонопольного запуска указать пустую строку!
ЗапускБезЗаставки = 1; // для появления заставки (например, чтобы наблюдать
// процесс запуска базы OLE визуально) поставьте здесь "0"
РезультатПодключения = БазаОле.Initialize ( БазаОле.RMTrade , "/d" +
СокрЛП(КаталогБазыОле) + " /n" +
СокрЛП(ПользовательОле)+ " /p" +
СокрЛП(ПарольОле) + МонопольныйРежимOLE,
?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW",""));
Если РезультатПодключения = 0 Тогда
Предупреждение("Не удалось подключится к указанной базе - проверьте вводные!");
КонецЕсли;
ОлеЗапрос = БазаОле.CreateObject("Запрос");
СпрОлеСотр = БазаОле.CreateObject("Справочник.Сотрудники");
СпрОлеНазнач = БазаОле.CreateObject("Справочник.Назначения");
ЗапросБоль = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(ЗапросБоль)
|Владелец = Справочник.Сотрудники.ТекущийЭлемент;
|Оклад = Справочник.Назначения.Оклад;
|"//}}ЗАПРОС
;
Если ЗапросБоль.Выполнить(ТекстЗапроса) = 0 Тогда
Сообщить("Fail");
Возврат;
Иначе
Сообщить("Win");
КонецЕсли;
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ЗапросБоль.Выгрузить(ТЗ);
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Сообщить("1С - круто! ");
Оклад = ТЗ.Оклад;
КонецЦикла;
//Оклад = 1677; // то, что должно получится на выходе
Но, получается не так как предполагается
выдаёт ошибку
{Документ.РазницаВСрЗп.Форма.Модуль(130)}: Поле агрегатного объекта не обнаружено (Оклад)
честно сказать уже несколько дней бьюсь над этой бедой, но ничего толкового не получается((
подскажите, люди добрые как быть?
Спасибо!