powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / _idToStr _StrToId в 1с 8.1
18 сообщений из 18, страница 1 из 1
_idToStr _StrToId в 1с 8.1
    #36919083
non1ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день господа программисты .
У меня есть вопрос.
Уже битый час сижу в поисковиках, не могу найти аналог функций _idToStr _StrToId в 1С Предприятие 8.1. Есть похожая функция ЗначениеВСтроку и ЗначениеИзСтроки. Но как я понял это уникальные значения внутри одной информационной базы.

Объясняю задачу. Пытаемся соединить 7.7 и 8.1. На данный момент стоит задача генерировать такой же ШК как и в 7.7. Их программист давным давно, написал преобразования строки в ШК и соответственно обратно из ШК в строку.

Задача стоит в том же самом, генерировать такой же ШК в 8.1. ШК должен быть полностью идентичным, что бы читался как в 7.7 так и в 8.1.

Для преобразования символа в 7.7 используется функция Прав(_idToStr(КодСимв(Символ)),2) .

Если есть соображения буду очень признателен!!!
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919570
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А штрих коды для чего, для товара? И что значит "соединить 7.7 и 8.1" обмен наладить что ли?
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919585
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже надо связать ИД в 7.7 и 8.1
так что бы совпадало ...
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919587
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafпохоже надо связать ИД в 7.7 и 8.1
так что бы совпадало ...

Не, так не получится однозначно.
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919594
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бай ве вэй
а что в 7.7 есть такая стандартная функция :
_idToStr ?
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919597
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Не, так не получится однозначно.

а я что сказал что получится? я просто попытался догадаться что нужно
очень похоже что именно это
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919620
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafбай ве вэй
а что в 7.7 есть такая стандартная функция :
_idToStr ?

Нет, конечно, автор не договаривает :)
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919685
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так тогда в чем вопрос собственно?
в гобальный модуль ... или где она там ...
и ручками и головой
старый я стал - торможу ... про что вопрос то ?
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919693
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну по крайней мере текст функции в студию
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919867
non1ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36919877
non1ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v7: Недокументированная функция _StrToId() и _IdToStr()

http://www.forum.mista.ru/topic.php?id=401819
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36920103
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
non1ka, так вы из 7.7 будете в 8 документы грузить, или руками параллельно забивать? Если грузить будете, почему нельзя и готовый штрих - код переносить? Это же обычная строка?
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36920121
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Ты бы сначала в поисковик вбил раз не знаешь.

мне то не нужно ...
это ты не понимаешь что такое ид - я вроде не испытываю трудностей
а в 8.1 вроде штатные средства для определения ид есть
только он не ид называется по моему
открой хелп в 8.1 поищи
мне лень

з.ы.
я не стат набиваю
я отвлекаюсь от работы - читаю объявления подобные этим
вспоминаю молодость
+ иногда интересную информацию нахожу
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36920132
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
На данный момент стоит задача генерировать такой же ШК как и в  7 . 7 .

если не пользовать ком объект = задача становится похожей на :
- угадай мелодию с одной ноты
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36920207
Defender77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысла нет в аналогах функций для связи. Т.к. ID в 7.7 и 8.1 генерируются системой и априори будут разными. Как вариант создать дополнительный реквизит и грузить семерочный ID в него. ну и функцию генерации штрих-кода доработать чуток. Правда непонятно откуда брать ID когда семерки не будет, ну тут тоже можно какие-нибудь GUID`ы прикрутить
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36920208
Паля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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) и смысла в этих функциях нет.
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36920214
Паля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Defender77Смысла нет в аналогах функций для связи. Т.к. ID в 7.7 и 8.1 генерируются системой и априори будут разными. Как вариант создать дополнительный реквизит и грузить семерочный ID в него. ну и функцию генерации штрих-кода доработать чуток. Правда непонятно откуда брать ID когда семерки не будет, ну тут тоже можно какие-нибудь GUID`ы прикрутить

авторПрав(_idToStr(КодСимв(Символ)),2) .
Вот вроде автор написал чо ему надо. генерации ID здесь нет.
Есть преобразование символа в BASE 36.
...
Рейтинг: 0 / 0
_idToStr _StrToId в 1с 8.1
    #36921576
oleg_shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выбирай на вкус
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
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / _idToStr _StrToId в 1с 8.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]