|
Получить ссылку документа из штрихкода? | ☑ | ||
---|---|---|---|---|
0
SkillUp
04.09.19
✎
11:22
|
Здавствуйет, подскажите как получить полноценную ссылку документа из штрихкода. Пример, получаю строку - "d94c7b60c3e311e9baae309c2344e8cc", а как ее преобразовать эту строку с дефисами (пример - 58df113e-c7e3-4da8-7000-1e50ee4df678) ?
Мой код: Функция ПреобразоватьДесятичноеЧислоВШестнадцатиричнуюСистемуСчисления(ДесятичноеЧисло) Результат = ""; Пока ДесятичноеЧисло > 0 цикл ОстатокОтДеления = ДесятичноеЧисло % 16; ДесятичноеЧисло = (ДесятичноеЧисло - ОстатокОтДеления) / 16; Результат = Сред("0123456789abcdef", ОстатокОтДеления + 1, 1) + Результат; КонецЦикла; Возврат Результат; КонецФункции |
|||
1
Beduin
04.09.19
✎
11:26
|
(0) Ты из гуида хочешь ссылку на документ получить?
|
|||
2
Кодер
04.09.19
✎
11:26
|
Функция ПолучитьСсылку(Стр)
Если Стр = "d94c7b60c3e311e9baae309c2344e8cc" Тогда Возврат "58df113e-c7e3-4da8-7000-1e50ee4df678" КонецЕсли; КонецФункции |
|||
3
SSSSS_AAAAA
04.09.19
✎
11:32
|
(0) А где тут штрихкод? А откуда взято соответствие "d94c7b60c3e311e9baae309c2344e8cc" и 58df113e-c7e3-4da8-7000-1e50ee4df678?
|
|||
4
SkillUp
04.09.19
✎
11:33
|
1 мин. )
|
|||
5
SSSSS_AAAAA
04.09.19
✎
11:34
|
(0) И с какого перепугу для работы со штрихкодами и гуидами использована функция работы с десятичным числом?
|
|||
6
SkillUp
04.09.19
✎
11:38
|
(5) Ну как, смотрю код. Чтоб в печатной форме РН, поле штрихкод заполнилось. Сначало идет преобразование 16-ти в 10 -чный, потом преобразует число в штрихкод. Т.е. мне ,чтоб получить ссылку надо все выполнить в обратном порядке.
Вот код из конфы: Функция ЧисловойКодПоСсылке(Ссылка) Экспорт ШестнадчатиричноеЧисло = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()),"-",""); Возврат ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧисло(ШестнадчатиричноеЧисло); КонецФункции Процедура ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, Знач ОбластьМакета, Ссылка) Экспорт ВыводитьШтрихкодВОтдельнуюОбласть = Ложь; Если Не ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакета) Тогда // Картинки штрихкода в этой области макета нет. Если Макет.Области.Найти("ОбластьШтрихкода") <> Неопределено Тогда // Проверить картинку штрихкода в области "Штрихкод" ОбластьМакетаШтрихкод = Макет.ПолучитьОбласть("ОбластьШтрихкода"); Если ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакетаШтрихкод) Тогда ОбластьМакета = ОбластьМакетаШтрихкод; ВыводитьШтрихкодВОтдельнуюОбласть = Истина; Иначе Возврат; КонецЕсли; Иначе Возврат; КонецЕсли; КонецЕсли; Если Не ПолучитьФункциональнуюОпцию("ИспользоватьШтрихкодированиеПечатныхФормОбъектов") Тогда ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки.КартинкаШтрихкода); Возврат; КонецЕсли; Эталон = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("Эталон"); КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100; ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить("Ширина", Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Ширина / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("Высота", Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Высота / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("Штрихкод", СокрЛП(ЧисловойКодПоСсылке(Ссылка))); ПараметрыШтрихкода.Вставить("ТипКода", 4); // Code128 ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь); ПараметрыШтрихкода.Вставить("РазмерШрифта", 6); ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); Если ВыводитьШтрихкодВОтдельнуюОбласть Тогда ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецПроцедуры |
|||
7
SkillUp
04.09.19
✎
11:40
|
Из 16 в 10 преобразую с помощью функции
Функция ПреобразоватьДесятичноеЧислоВШестнадцатиричнуюСистемуСчисления(ДесятичноеЧисло) Результат = ""; Пока ДесятичноеЧисло > 0 цикл ОстатокОтДеления = ДесятичноеЧисло % 16; ДесятичноеЧисло = (ДесятичноеЧисло - ОстатокОтДеления) / 16; Результат = Сред("0123456789abcdef", ОстатокОтДеления + 1, 1) + Результат; КонецЦикла; Возврат Результат; КонецФункции |
|||
8
SkillUp
04.09.19
✎
11:40
|
Или я не правильно понял, как из числа, получить ссылку на документ?
|
|||
9
Кодер
04.09.19
✎
12:20
|
Никак. Делай свой регистр (порядковый номер, тип объекта, ссылка на объект), номер в EAN13 с префиксом от 20 до 29, ссылку вытаскивай из регистра.
|
|||
10
Йохохо
04.09.19
✎
12:27
|
(8) чтобы все было однозначно количество комбинаций должно быть одинаковым, у тебя 32 знака по базе 16, какая должна быть длина по основанию 10?
|
|||
11
zva
04.09.19
✎
12:27
|
Конфигурация хоть какая?
В той же УТ 11.4 // Функция - Получить ссылку по штрихкоду табличного документа // // Параметры: // Штрихкод - Строка - Штрихкод // Менеджеры - Массив - Менеджеры документов. // // Возвращаемое значение: // Массив - Ссылки на документы ШтрихкодированиеПечатныхФорм.ПолучитьСсылкуПоШтрихкодуТабличногоДокумента(Штрихкод, Менеджеры) |
|||
12
SkillUp
04.09.19
✎
12:47
|
(11) О! Блин, где ты был раньше!!?!?!?!? СПАСИБО!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |