Потребовалось получение из системы MobileSmarts даты и времени окончания документа. Но вот не задача, в 1с 77 при обращении к методу компоненты
public System.DateTime FinishedDate [ДатаЗавершения] {get;}
возвращается тип «Дата», а время обрезается.
Пришлось из XML тянуть нужные данные. Обрати внимание, тут есть замена символа, иначе может быть ошибка (у меня это как раз и было)
//-->> Получение Даты+времени создания, изменения, завершения
Функция фПолучитьДатуИВремяСоздания(ДокументТСД)
лРез="";
Попытка
xml_текст = Коннектор.ToXml(ДокументТСД);
xml_текст = СтрЗаменить(xml_текст,"",""); // иначе будет ошибка при загрузке из строки ниже
xml = СоздатьОбъект("AddIn.XMLParser");
xmlДокумент= xml.СоздатьДокумент();
xmlДокумент.ЗагрузитьИзСтроки(xml_текст);
лЗначение = xmlДокумент.ВыбратьУзел("Document");
лДата = лЗначение.ПолучитьАтрибут("createDate");
лДата = Лев(лДата,19);
лДата = СтрЗаменить(лДата,"T"," ");
лДата = СтрЗаменить(лДата,":","-");
лРез=лДата;
Исключение
КонецПопытки;
Возврат лРез;
КонецФункции
Функция фПолучитьДатуИВремяИзменения(ДокументТСД)
лРез="";
Попытка
xml_текст = Коннектор.ToXml(ДокументТСД);
xml_текст = СтрЗаменить(xml_текст,"",""); // иначе будет ошибка при загрузке из строки ниже
xml = СоздатьОбъект("AddIn.XMLParser");
xmlДокумент= xml.СоздатьДокумент();
xmlДокумент.ЗагрузитьИзСтроки(xml_текст);
лЗначение = xmlДокумент.ВыбратьУзел("Document");
лДата = лЗначение.ПолучитьАтрибут("lastChangeDate");
лДата = Лев(лДата,19);
лДата = СтрЗаменить(лДата,"T"," ");
лДата = СтрЗаменить(лДата,":","-");
лРез=лДата;
Исключение
КонецПопытки;
Возврат лРез;
КонецФункции
Функция фПолучитьДатуИВремяЗавершения(ДокументТСД)
лРез="";
Попытка
xml_текст = Коннектор.ToXml(ДокументТСД);
xml_текст = СтрЗаменить(xml_текст,"",""); // иначе будет ошибка при загрузке из строки ниже
xml = СоздатьОбъект("AddIn.XMLParser");
xmlДокумент= xml.СоздатьДокумент();
xmlДокумент.ЗагрузитьИзСтроки(xml_текст);
лЗначение = xmlДокумент.ВыбратьУзел("Document/States/DocumentState");
лДата = лЗначение.ПолучитьАтрибут("finishedDate");
лДата = Лев(лДата,19);
лДата = СтрЗаменить(лДата,"T"," ");
лДата = СтрЗаменить(лДата,":","-");
лРез=лДата;
Исключение
КонецПопытки;
Возврат лРез;
КонецФункции
//<<--
Запись на github https://github.com/LLIKIPER/it-toolbox/blob/main/1c/7.7/MobileSmarts/Get%20DateTime%20Created%20modified%20Finished.md