Я делаю так:
ТекстЗапроса = "
|INSERT INTO [IRP].[dbo].syslog (EVENT_TYPE, EVENT, CATEGORY, COMMENT, OBJECTID, OBJECT, NEWDATE, USERNAME, MODE)
|VALUES (:EVENT_TYPE, :EVENT, :CATEGORY, NULLIF(:COMMENT, ''), NULLIF(:OBJECTID, ''), NULLIF(:OBJECT, ''), GETDATE(), :USERNAME, :MODE)";
RS.УстановитьТекстовыйПараметр("EVENT_TYPE", EVENT_TYPE);
RS.УстановитьТекстовыйПараметр("EVENT", EVENT);
RS.УстановитьТекстовыйПараметр("CATEGORY", CATEGORY);
RS.УстановитьТекстовыйПараметр("COMMENT", COMMENT);
RS.УстановитьТекстовыйПараметр("OBJECTID", OBJECTID);
RS.УстановитьТекстовыйПараметр("OBJECT", OBJECT);
RS.УстановитьТекстовыйПараметр("USERNAME", ИмяПользователя());
RS.УстановитьТекстовыйПараметр("MODE", ?(МонопольныйРежим() = 1, "M", "E"));
вот пример обратной конверсии
Meta = СоздатьОбъект("MetaDataWork");
Если ТипЗначенияСтр(Объект) = "Документ" Тогда
Источник.УстановитьТекстовыйПараметр("OBJECTID", "O/" + Meta.ИДДокумента(Объект.Вид()) + "/" + _StrToId(СокрЛП(Meta.ЗначениеВСтрокуБД(Объект.ТекущийДокумент()))));
ИначеЕсли ТипЗначенияСтр(Объект) = "Справочник" Тогда
Источник.УстановитьТекстовыйПараметр("OBJECTID", "B/" + Meta.ИДСправочника(Объект.Вид()) + "/" + _StrToId(СокрЛП(Meta.ЗначениеВСтрокуБД(Объект.ТекущийЭлемент()))));
КонецЕсли;