|
|
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
Добрый день господа программисты . У меня есть вопрос. Уже битый час сижу в поисковиках, не могу найти аналог функций _idToStr _StrToId в 1С Предприятие 8.1. Есть похожая функция ЗначениеВСтроку и ЗначениеИзСтроки. Но как я понял это уникальные значения внутри одной информационной базы. Объясняю задачу. Пытаемся соединить 7.7 и 8.1. На данный момент стоит задача генерировать такой же ШК как и в 7.7. Их программист давным давно, написал преобразования строки в ШК и соответственно обратно из ШК в строку. Задача стоит в том же самом, генерировать такой же ШК в 8.1. ШК должен быть полностью идентичным, что бы читался как в 7.7 так и в 8.1. Для преобразования символа в 7.7 используется функция Прав(_idToStr(КодСимв(Символ)),2) . Если есть соображения буду очень признателен!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2010, 21:55 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
А штрих коды для чего, для товара? И что значит "соединить 7.7 и 8.1" обмен наладить что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 09:34 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
похоже надо связать ИД в 7.7 и 8.1 так что бы совпадало ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 09:42 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
leafпохоже надо связать ИД в 7.7 и 8.1 так что бы совпадало ... Не, так не получится однозначно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 09:43 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
бай ве вэй а что в 7.7 есть такая стандартная функция : _idToStr ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 09:46 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
Код: plaintext а я что сказал что получится? я просто попытался догадаться что нужно очень похоже что именно это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 09:48 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
leafбай ве вэй а что в 7.7 есть такая стандартная функция : _idToStr ? Нет, конечно, автор не договаривает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 09:56 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
ну так тогда в чем вопрос собственно? в гобальный модуль ... или где она там ... и ручками и головой старый я стал - торможу ... про что вопрос то ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 10:17 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
ну по крайней мере текст функции в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 10:19 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
DmitriyZА штрих коды для чего, для товара? И что значит "соединить 7.7 и 8.1" обмен наладить что ли? ... Там очень интересная и деликатная ситуация, там штрих-код документа, который формируется по определенным правилам, и несет в себе информацию сумме документа, количестве видов товаров и услуг, и как бы является уникальным контрольным признаком для проверки отгрузок продукции. leafпохоже надо связать ИД в 7.7 и 8.1 так что бы совпадало ... Да задача именно в этом!... Просто как бы дополнительная проверка. Что в итоге пришло в 8.1. От кого когда сколько и зачем..... leafбай ве вэй а что в 7.7 есть такая стандартная функция : _idToStr ? Ты бы сначала в поисковик вбил раз не знаешь. Столько слов, а ни чего по делу, такое ощущение, что ты себе стат набиваешь на форуме :) leafну так тогда в чем вопрос собственно? в гобальный модуль ... или где она там ... и ручками и головой старый я стал - торможу ... про что вопрос то ? Данная функция относится к недокументированным функциям 1с 7.7. и предназначена для генерации уникального id в рамках информационной системы. обычно используется для Ole объектов. P.S. Объясняю сразу, что в 1С 7.7. Ни чего переделываться не будет. Нужно решение для 1С 8.1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 11:15 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
v7: Недокументированная функция _StrToId() и _IdToStr() http://www.forum.mista.ru/topic.php?id=401819 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 11:18 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
non1ka, так вы из 7.7 будете в 8 документы грузить, или руками параллельно забивать? Если грузить будете, почему нельзя и готовый штрих - код переносить? Это же обычная строка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 12:38 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
Код: plaintext мне то не нужно ... это ты не понимаешь что такое ид - я вроде не испытываю трудностей а в 8.1 вроде штатные средства для определения ид есть только он не ид называется по моему открой хелп в 8.1 поищи мне лень з.ы. я не стат набиваю я отвлекаюсь от работы - читаю объявления подобные этим вспоминаю молодость + иногда интересную информацию нахожу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 12:45 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
Код: plaintext если не пользовать ком объект = задача становится похожей на : - угадай мелодию с одной ноты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 12:49 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
Смысла нет в аналогах функций для связи. Т.к. ID в 7.7 и 8.1 генерируются системой и априори будут разными. Как вариант создать дополнительный реквизит и грузить семерочный ID в него. ну и функцию генерации штрих-кода доработать чуток. Правда непонятно откуда брать ID когда семерки не будет, ну тут тоже можно какие-нибудь GUID`ы прикрутить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 13:13 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
non1ka leafбай ве вэй а что в 7.7 есть такая стандартная функция : _idToStr ? Ты бы сначала в поисковик вбил раз не знаешь. Столько слов, а ни чего по делу, такое ощущение, что ты себе стат набиваешь на форуме :) Данная функция относится к недокументированным функциям 1с 7.7. и предназначена для генерации уникального id в рамках информационной системы. обычно используется для Ole объектов. P.S. Объясняю сразу, что в 1С 7.7. Ни чего переделываться не будет. Нужно решение для 1С 8.1. Слушай я прям по твоей ссылке посмотрел - там написано что это преобразование числа в 36 ричную систему. дальше там есть ссылка на алгоритм на дельфи. // http://www.kb.mista.ru/article.php?id=451 реализуй эту функцию и всё. стандартных не знаю. может и не быть потому что раньше ID объектов хранился в базе в виде 36base строки а ща это BINARY(16) и смысла в этих функциях нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 13:13 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
Defender77Смысла нет в аналогах функций для связи. Т.к. ID в 7.7 и 8.1 генерируются системой и априори будут разными. Как вариант создать дополнительный реквизит и грузить семерочный ID в него. ну и функцию генерации штрих-кода доработать чуток. Правда непонятно откуда брать ID когда семерки не будет, ну тут тоже можно какие-нибудь GUID`ы прикрутить авторПрав(_idToStr(КодСимв(Символ)),2) . Вот вроде автор написал чо ему надо. генерации ID здесь нет. Есть преобразование символа в BASE 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 13:16 |
|
||
|
_idToStr _StrToId в 1с 8.1
|
|||
|---|---|---|---|
|
#18+
выбирай на вкус Function StringGUID(val GUID) export return "0x"+token(GUID,"-",4)+token(GUID,"-",5)+token(GUID,"-",3)+token(GUID,"-",2)+token(GUID,"-",1); endfunction Функция ПолучитьGUIDПоУникальномуИдентификатору(Знач UUID) export ч1 = Сред(UUID,20,4); ч2 = Сред(UUID,25,12); ч3 = Сред(UUID,15,4); ч4 = Сред(UUID,10,4); ч5 = Сред(UUID,1,8); Возврат "0x" + ч1 + ч2 + ч3 + ч4 + ч5; КонецФункции Функция GUIDВЧисло(GUID) export Рез=0; Стр = Строка(GUID); Индекс=1; Пока Индекс<=36 Цикл Симв = Сред(Стр,Индекс,1); Если Симв="-" Тогда Индекс=Индекс+1; Продолжить; КонецЕсли; Если Симв>="0" и Симв<="9" Тогда Ч = Число(Симв); ИначеЕсли Симв="a" Тогда Ч=10; ИначеЕсли Симв="b" Тогда Ч=11; ИначеЕсли Симв="c" Тогда Ч=12; ИначеЕсли Симв="d" Тогда Ч=13; ИначеЕсли Симв="e" Тогда Ч=14; ИначеЕсли Симв="f" Тогда Ч=15; КонецЕсли; Рез=Рез*16+Ч; Индекс=Индекс+1; КонецЦикла; return Рез; КонецФункции //Функция ЧислоВGUID(Парам) export // СпецСтрока="0123456789abcdef"; // РезСтрока=""; // // Парам1=Парам; // Пока Парам1>0 Цикл // Ост = Парам1%16; // Парам1=(Парам1-Ост)/16; // Длина=СтрДлина(РезСтрока); // Если (Длина=12) или (Длина=17) или (Длина=22) или (Длина=27) Тогда // РезСтрока="-"+РезСтрока; // КонецЕсли; // РезСтрока=Сред(СпецСтрока,Ост+1,1)+РезСтрока; // КонецЦикла; // // Возврат Новый УникальныйИдентификатор(РезСтрока); //КонецФункции CREATE FUNCTION [dbo].[HexStrToVarBinary](@hexstring nvarchar(4000)) RETURNS varbinary(4000) AS BEGIN declare @a varbinary(8000) select @a = cast('' as xml).value('xs:hexBinary( substring(sql:variable("@hexstring"), sql:column("t.pos")) )', 'varbinary(max)') from (select case substring(@hexstring, 1, 2) when '0x' then 3 else 0 end) as t(pos) return @a END CREATE function [dbo].[sp_hexadecimal] ( @binvalue varbinary(255) ) returns nvarchar(255) as begin declare @charvalue nvarchar(255) ,@i int ,@length int ,@hexstring nchar(16) ,@tempint int ,@firstint int ,@secondint int select @charvalue = '0x' select @i = 1 select @length = datalength(@binvalue) -- select @hexstring = '0123456789abcdef' select @hexstring = '0123456789ABCDEF' while (@i <= @length) begin select @tempint = convert(int, substring(@binvalue,@i,1)) select @firstint = floor(@tempint/16) select @secondint = @tempint - (@firstint*16) select @charvalue = @charvalue + substring(@hexstring, @firstint+1, 1) + substring(@hexstring, @secondint+1, 1) select @i = @i + 1 end return ( @charvalue ) end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 22:58 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36919585&tid=1521890]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 502ms |

| 0 / 0 |
