Hello, I _1SCONST pulling prices out of _1SCONST , some of them are presented in an incomprehensible format. Googling hinted that the 36-th numeral system is used, but a translation from 36 to 10 does not give correct results, besides, in some values ​​there are Russian letters.
Maybe someone knows how all the same data is stored there?

 23B = 5.94 T5 = 90.47 2YOЦО = 15.54 

2 answers 2

Here are the working functions, I used it myself when I was working on the seven.

 // Функия переводит число переданное в параметре // Значение в строку (либо число) в системе счисления X // X определяется линой шаблона, представление знаков разрядов // значение шаблона, где сивол шаблона[k] - есть представление // Например если шаблон "01", то перевод будет осуществлен в двоичную // систему счисления, если "01234567", то в восьмиричную // если "0123456789ABCDEF", то в шестнадцатиричную // если "ЛИ", то в двоичную, где 0 представлен буквой Л, а 1 буквой И // вариант шаблона: // "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwzyzАБВГДЕЖЗИЙКЛМНОПР СТУФХЦЧШЩЬЫЪЭЮЯабвгдежзийклмнопрстуфхцчшщьыъэюя!@#$%^&*()_-=+{}[]\|/,.:;'""> <" // представит Значение в сто пятидесятишести ричной системе счисления, // где соответствующий символ шаблона означает соответствующую цифру разряда Функция Из10в36(Знач Значение, Шаблон="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ") Экспорт Значение = Число(Значение); Результат=""; Основание = СтрДлина(Шаблон); Пока Значение>0 цикл Остат = Значение%Основание; Результат1=Сред(Шаблон,Остат+1,1); Значение = (Значение-Остат)/Основание; Результат = Результат1 + Результат; КонецЦикла; Возврат Результат; КонецФункции Функция Из36в10(Стр, Шаблон="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ") Экспорт //HEX: Шаблон = "0123456789ABCDEF" Стр = ВРег(Стр); // на всякий случай. ДлинаШаблона = СтрДлина(Шаблон); ДлинаСтроки = СтрДлина(Стр); ТекСимвол = ДлинаСтроки; Результат = 0; Пока ТекСимвол > 0 Цикл ОбработкаПрерыванияПользователя(); ОбрабатываемыйСимвол = Сред(Стр, ТекСимвол,1); Если ОбрабатываемыйСимвол = " " Тогда ПозицияВШаблоне = Найти(Шаблон,"0")-1; //продолжить; иначе ПозицияВШаблоне = Найти(Шаблон,ОбрабатываемыйСимвол)-1; КонецЕсли; //Результат = Результат + (ПозицияВШаблоне * power(ДлинаШаблона,ДлинаСтроки-ТекСимвол)); Результат = Результат + (ПозицияВШаблоне * POW(ДлинаШаблона,ДлинаСтроки-ТекСимвол)); ТекСимвол = ТекСимвол - 1; КонецЦикла; Возврат(Результат); КонецФункции ) _- = + {} [] \ | / ,.:;! '" "> <" // Функия переводит число переданное в параметре // Значение в строку (либо число) в системе счисления X // X определяется линой шаблона, представление знаков разрядов // значение шаблона, где сивол шаблона[k] - есть представление // Например если шаблон "01", то перевод будет осуществлен в двоичную // систему счисления, если "01234567", то в восьмиричную // если "0123456789ABCDEF", то в шестнадцатиричную // если "ЛИ", то в двоичную, где 0 представлен буквой Л, а 1 буквой И // вариант шаблона: // "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwzyzАБВГДЕЖЗИЙКЛМНОПР СТУФХЦЧШЩЬЫЪЭЮЯабвгдежзийклмнопрстуфхцчшщьыъэюя!@#$%^&*()_-=+{}[]\|/,.:;'""> <" // представит Значение в сто пятидесятишести ричной системе счисления, // где соответствующий символ шаблона означает соответствующую цифру разряда Функция Из10в36(Знач Значение, Шаблон="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ") Экспорт Значение = Число(Значение); Результат=""; Основание = СтрДлина(Шаблон); Пока Значение>0 цикл Остат = Значение%Основание; Результат1=Сред(Шаблон,Остат+1,1); Значение = (Значение-Остат)/Основание; Результат = Результат1 + Результат; КонецЦикла; Возврат Результат; КонецФункции Функция Из36в10(Стр, Шаблон="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ") Экспорт //HEX: Шаблон = "0123456789ABCDEF" Стр = ВРег(Стр); // на всякий случай. ДлинаШаблона = СтрДлина(Шаблон); ДлинаСтроки = СтрДлина(Стр); ТекСимвол = ДлинаСтроки; Результат = 0; Пока ТекСимвол > 0 Цикл ОбработкаПрерыванияПользователя(); ОбрабатываемыйСимвол = Сред(Стр, ТекСимвол,1); Если ОбрабатываемыйСимвол = " " Тогда ПозицияВШаблоне = Найти(Шаблон,"0")-1; //продолжить; иначе ПозицияВШаблоне = Найти(Шаблон,ОбрабатываемыйСимвол)-1; КонецЕсли; //Результат = Результат + (ПозицияВШаблоне * power(ДлинаШаблона,ДлинаСтроки-ТекСимвол)); Результат = Результат + (ПозицияВШаблоне * POW(ДлинаШаблона,ДлинаСтроки-ТекСимвол)); ТекСимвол = ТекСимвол - 1; КонецЦикла; Возврат(Результат); КонецФункции 

    Use 1C ++. Here is the documentation http://www.1cpp.ru/index.php/Main For example [enter here the description of the link] Direct access through ODBC 1

    Examples and build with OpenConf Light Pack plugins

    You can also see Code First and Linq to EF on the example of 1C version 7.7 and 8.3 part I There is an example of working with _1SCONST

    Also Effective use of MSSQL with the help of VK 1C ++

    It is convenient to use the plugin "Query Designer 1C ++".

    There are requests in terms of 1C. You can receive a real request by connecting Debug (1) before Execute Instruction

    There are also undocumented _IdToStr and _StrToId functions.