0
DJ Anthon
22.10.11
✎
20:01
|
Если переменная ЖР (журнал расчета) создана в подключаемой базе, и из нее выбраны записи, то переменная ЖР.ПериодРегистрации недоступна (вернее, в ней поврежденное значение), поэтому ЖР.ПериодРегистрации.ДатаНачала, ЖР.ПериодРегистрации.ДатаОкончания и ЖР.ПериодРегистрации.ОписательПериода возвращают значение неизвестного типа.
Как получить любую дату периода регистрации?
Если мне нужно получить все записи по документу, то я получаю их с помощью такого кода:
ОбъектТам = ЖР.ТекущийДокумент();
СписокДат = ЗначениеИзСтроки(База.EvalExpr("ПолучитьПериодыРегистрации(""" + ОбъектТам.Вид() + """, """ + СокрЛП(ОЛЕДата(ОбъектТам.ДатаДок)) + """, """ + ОбъектТам.НомерДок + """, """ + ИмяЖурнала +""")"));
где
Функция ПолучитьПериодыРегистрации(Вид = "", ДатаДок = "", НомерДок = "", Имя = "") Экспорт
СписокДат = СоздатьОбъект("СписокЗначений");
Док = СоздатьОбъект("Документ." + Вид);
Если Док.НайтиПоНомеру(НомерДок, ДатаДок) = 1 Тогда
ЖР = СоздатьОбъект("ЖурналРасчетов." + Имя);
ЖР.ВыбратьЗаписиПоДокументу(Док.ТекущийДокумент());
Пока ЖР.ПолучитьЗапись() = 1 Цикл
СписокДат.ДобавитьЗначение(ЖР.ПериодРегистрации.ДатаНачала);
КонецЦикла;
КонецЕсли;
Возврат ЗначениеВСтроку(СписокДат);
КонецФункции
- функция в подключаемой базе. (хочется, конечно, избавиться от внесения правок в подключаемую базу, но это потом).
однако, если я не знаю порядковый номер записи в выборке, то и получаемый в результате выполнения функции список бесполезен.
Как еще можно выкрутиться без дополнительных компонент (например.ю формекс роняет оле-соединения)? Мне нужен период регистрации оле-записи или любая дата из этого периода.
П.С. Кстати, функция ЖР.ПолучитьАтрибут есть, но не документирована )
|
|