Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////////////////////////////////////////////////////////////
- //16-символьное представление объекта
- Функция ЗначениеВСтрокуВнутр16(прм_об,прм_ПрефиксБазы = "") Экспорт
- стр = СокрЛП(ЗначениеВСтрокуВнутр(прм_об));
- стр = Сред(стр,2,СтрДлина(стр)-2); //убираем {}
- сп = СоздатьОбъект("СписокЗначений");
- сп.ИзСтрокиСРазделителями(стр);
- Если сп.РазмерСписка()<>7 Тогда
- Сообщить("Неправильный размер списка "+стр); а=1/0;
- КонецЕсли;
- тип=сп.ПолучитьЗначение(1);
- вид=сп.ПолучитьЗначение(4);
- объ=сп.ПолучитьЗначение(7);
- Если СтрДлина(тип)<>1 Тогда
- Сообщить("Неправильный размер идентификатора типа, ожидается 1 *"+тип+"*"); а=1/0;
- КонецЕсли;
- Если вид="0" Тогда
- Если СтрДлина(объ)<>23 Тогда
- Сообщить("Неправильный размер идентификатора, ожидается 23 *"+объ+"*"); а=1/0;
- КонецЕсли;
- вид=лев(объ, 10);
- объ=прав(объ,13);
- КонецЕсли;
- Если СтрДлина(объ)<>13 Тогда
- Сообщить("Неправильный размер идентификатора, ожидается 13 *"+объ+"*"); а=1/0;
- КонецЕсли;
- урбд=прав(" "+прм_ПрефиксБазы,3);
- объ=лев(объ,10);
- вид=_IdToStr(0+вид);
- объ=_IdToStr(0+объ);
- Если СтрДлина(вид)<>6 Тогда
- Сообщить("Неправильный размер идентификатора вида, ожидается 6 *"+вид+"*"); а=1/0;
- КонецЕсли;
- ид=тип+вид+объ+урбд;
- стр=СтрЗаменить(ид, " ", "_");
- Возврат стр;
- КонецФункции
- ///////////////////////////////////////////////////////////////////////
- //объект из 16-символьного представления
- Функция ЗначениеИзСтрокиВнутр16(прм_ИД16) Экспорт;
- // Вот такой должен быть результат:"{"O","0","0","19434","0","0"," 1897252 "}"
- Если СтрДлина(прм_ИД16)<>16 Тогда
- Сообщить("Ожидается строка длиной 16:"+прм_ИД16); а=1/0;
- КонецЕсли;
- стр_ИД = """" + Лев(прм_ИД16,1)+"""," + """0""," + """0""," + """"+_StrToId(Сред(прм_ИД16,2,6))+"""," + """0""," + """0""," + """" + _StrToId(сред(прм_ИД16,8,6)) + """," + """" + Прав(прм_ИД16,3) +"""";
- стр_ИД = "{"+стр_ИД+"}";
- Возврат ЗначениеИзСтрокиВнутр(стр_ИД);
- КонецФункции
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement