|   |   | 
| 
 | v7: UID объекта в 7.7 | ☑ | ||
|---|---|---|---|---|
| 0
    
        Алексей777 26.04.12✎ 13:02 | 
        Всем привет! Подскажите есть ли в 7.7 аналог метода объекта 1С 8 -УникальныйИдентификатор(). Знаю про метод ЗначениеВСтрокуВнутр. Это тоже самое?     | |||
| 1
    
        Злопчинский 26.04.12✎ 13:04 | 
        v7plus.dll - смотри СП     | |||
| 2
    
        Злопчинский 26.04.12✎ 13:05 | 
        (0) вот смотри. откуда 7.7-ик будет знать проо УникальныйИдентификатор() из снеговика? я конечно догадываюсь, что это такое - но не увере. Есои просто получить уникальный ГУИД - то см.(1), если ИД объекта - то немножко по другому...     | |||
| 3
    
        NS 26.04.12✎ 13:06 | 
        (0) Если тебе нужен уникальный код объекта - тогда гугли внутренний код.     | |||
| 4
    
        ДенисЧ 26.04.12✎ 13:08 | 
        не совсем. Но близко.     | |||
| 5
    
        Алексей777 26.04.12✎ 13:11 | 
        Спасибо :). Книга знаний: Получение GUID в 1С - вот нашел ссылочку, сейчас почитаем.     | |||
| 6
    
        ДенисЧ 26.04.12✎ 13:12 | 
        (5) уууууууу......     | |||
| 7
    
        fisher 26.04.12✎ 13:13 | 
        (4) +1
  (0) Скажем так - значение, возвращаемое методом ЗначениеВСтрокуВнутр() содержит в том числе и UID, хоть и в несколько ином виде, нежели он хранится в БД. (5) Так тебе UID объекта нужен, и произвольный GUID в 7.7 получить? | |||
| 8
    
        fisher 26.04.12✎ 13:13 | 
        "или произвольный GUID в 7.7 получить?"     | |||
| 9
    
        Алексей777 26.04.12✎ 13:15 | 
        (8)нет просто нужен uid, получать новый не нужно :)     | |||
| 10
    
        Алексей777 26.04.12✎ 13:16 | 
        (7) т.е. метод ЗначениеВСтрокуВнутр() в принципе подходит?     | |||
| 11
    
        Алексей777 26.04.12✎ 13:17 | 
        (7)имею ввиду для уникальной идентификации объектов.     | |||
| 12
    
        ДенисЧ 26.04.12✎ 13:17 | 
        (10) MetaDataWork.ЗначениеВСамуюДлиннуюСтрокуБД() - даст тебе полный "uid"     | |||
| 13
    
        NS 26.04.12✎ 13:17 | 
        (10) Подходит, но с последующей обработкой.     | |||
| 14
    
        fisher 26.04.12✎ 13:17 | 
        (10) Да посмотри наконец на его значение и всё понятно станет. Это обычная строка, результат сериализации UID и доп-данных.     | |||
| 15
    
        NS 26.04.12✎ 13:19 | 
        Стр=ЗначениеВСтрокуВнутр(Объект);
  СЗ=СоздатьОбъект("СписокЗначений"); СЗ.ИзСтрокиСРазделителями(Сред(Стр,2,СтрДлина(Стр)-2)); UID=формат(СЗ.ПолучитьЗначение(4),"Ч(0)5")+Формат(сокрлп(СЗ.ПолучитьЗначение(СЗ.РазмерСписка())),"Ч(0)9"); | |||
| 16
    
        NS 26.04.12✎ 13:29 | 
        Чтоб обратно получить документ по UID -
  ВидДок = Строка(Число(Сред(UID,1,5))); КодДок = Строка(Число(Сред(UID,6,9))); КодДок = ДобавитьСправа(КодДок,СтрДлина(КодДок)+3," "); КодДок = ДобавитьСлева(КодДок,13," "); Список = СоздатьОбъект("СписокЗначений"); Список.ДобавитьЗначение("O"); // тип Список.ДобавитьЗначение("0"); // длина Список.ДобавитьЗначение("0"); // точность Список.ДобавитьЗначение(ВидДок); // ИД вида объекта Список.ДобавитьЗначение("0"); // флаг неотр. (?) Список.ДобавитьЗначение("0"); // флаг разделения триад (?) Список.ДобавитьЗначение(КодДок); // ИД объекта Зн = ЗначениеИзСтрокиВнутр("{"+Список.ВСтрокуСРазделителями()+"}"); | |||
| 17
    
        NS 26.04.12✎ 13:30 | 
        Функция ДобавитьСлева(ИсходнаяСтрока,Длина,Заполнитель) Экспорт
  // Эта функция дополняет ИсходнаяСтрока до необходимой Длина указанным Заполнитель РезультирующаяСтрока=ИсходнаяСтрока; Пока СтрДлина(РезультирующаяСтрока)<=Длина Цикл РезультирующаяСтрока=Заполнитель+РезультирующаяСтрока; КонецЦикла; РезультирующаяСтрока=Прав(РезультирующаяСтрока,Длина); Возврат РезультирующаяСтрока; КонецФункции //------------------------------------------------------------------------------- Функция ДобавитьСправа(ИсходнаяСтрока,Длина,Заполнитель) Экспорт // Эта функция дополняет ИсходнаяСтрока до необходимой Длина указанным Заполнитель РезультирующаяСтрока=ИсходнаяСтрока; Пока СтрДлина(РезультирующаяСтрока)<=Длина Цикл РезультирующаяСтрока=РезультирующаяСтрока+Заполнитель; КонецЦикла; РезультирующаяСтрока=Лев(РезультирующаяСтрока,Длина); Возврат РезультирующаяСтрока; КонецФункции | |||
| 18
    
        ДенисЧ 26.04.12✎ 13:30 | 
        (17) У тебя жена устроилась на бисерную фабрику?     | |||
| 19
    
        Алексей777 26.04.12✎ 13:33 | 
        Спасибо NS.     | |||
| 20
    
        NS 26.04.12✎ 13:49 | 
        (18) Специалист по бисеру О_О
  Нет, бисер старые клиенты по блату поставляют. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |