Привет всем! У меня платформа 7.70.027, конфа ПУБ для Украины 7.70.028. Написал обработку для копирования элементов справочника ТМЦ из базы в базу через OLE. Так вот есть реквизит Счет(Счет, на котором учитываем ТМЦ) тип значения соответсвенно "Счет". Сначала я его переносил так:
СчетОле = ОЛЕ_Приемник.CreateObject("Счет");
Если СчетОле.НайтиПоКоду(СпрТМЦ.Счет.Код) = 0 Тогда
Сообщить("Не найден Счет в базе Приемник!");
Возврат;
КонецЕсли;
СпрТМЦОле.Счет = СчетОле.ТекущийСчет();
При использовании таким образом перенесенного элемента справочника в расходной накладной например при проведении ругается на пустой счет(типа не указан счет и не может провести, как-то так). Если открыть этот ТМЦ и сохранить - все ок. При ковырянии дбф-файла с данным справочником выяснилось, что счет прописывается как-то криво, "1AC 33" - так при пересохранеии или при ручном добавлении ТМЦ, "0 33" - а так при применении моей мощной обработки. Может это план счетов указывается перед самим счетом? Вот так не помогает:
СчетОле = ОЛЕ_Приемник.CreateObject("Счет");
ПланСчетовОле = ОЛЕ_Приемник.ПланыСчетов.ЗначениеПоИдентификатору("Основной");
СчетОле.ИспользоватьПланСчетов(ПланСчетовОле);
Если СчетОле.НайтиПоКоду(СпрТМЦ.Счет.Код) = 0 Тогда
Сообщить("Не найден Счет в базе Приемник!");
Возврат;
КонецЕсли;
СпрТМЦОле.Счет = СчетОле.ТекущийСчет();