Уникальность строки

1. Raideres 8 06.02.21 11:39 Сейчас в теме
УНФ последний релиз
Суть доработки следующая
Необходимо сделать каждую строку табличной части заказы уникальной для следующих соображений

Хочу сделать ШК состоящий их УИД заказа покупателя + контрольный символ строки

дальше
после того как ШК распечатается для каждой строки я хочу сделать печатную форму
типа маршрутная карта заказа на которой будут распечатаны данные штрихкоды

Подскажите как лучше задать данную уникальность???

Функция ЧисловойКодПоСсылке(Ссылка) Экспорт
    ШестнадцатиричноеЧисло = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()),"-","");
    Возврат ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧ­исло(ШестнадцатиричноеЧисло);
КонецФункции

Функция ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧ­исло(Знач Значение)
    
    Значение = НРег(Значение);
    ДлинаСтроки = СтрДлина(Значение);
    
    Результат = 0;
    Для НомерСимвола = 1 По ДлинаСтроки Цикл
        Результат = Результат * 16 + СтрНайти("0123456789abcdef", Сред(Значение, НомерСимвола, 1)) - 1;
    КонецЦикла;
    
    Возврат Формат(Результат, "ЧГ=0");
    
КонецФункции
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 06.02.21 14:02 Сейчас в теме
(1)Добавить реквизит табличной части и заполнять в него ГУИД перед записью докумнета.
При копировании документа/копировании строки ТЧ очищать его в скопированном документе/строки ТЧ.
3. Raideres 8 06.02.21 15:42 Сейчас в теме
(2)
Нашел вот такое в типовой
Гуид документа + Гуид строки будет большой ШК и будет плохо читаться
ОбработкаТабличнойЧастиТоварыКлиентСервер.ЗаполнитьКлючСвязи(Объект.Товары, ТекущаяСтрока, "КлючСвязи");

// Заполняет ключ связи таблиц документа или обработки.
//
// Параметры:
// ТабличнаяЧасть - ДанныеФормыКоллекция - табличная часть документа для заполнения ключей связи.
// СтрокаТаблицы - ДанныеФормыЭлементКоллекции - строка таблица формы.
// ИмяРеквизитаСвязи - Строка - наименование реквизита связи строкой.
// ВремКлючСвязи - Число - временный ключ связи.
//
Функция ЗаполнитьКлючСвязи(ТабличнаяЧасть, СтрокаТабличнойЧасти, ИмяРеквизитаСвязи, ВремКлючСвязи = 0) Экспорт
	
	Если НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти[ИмяРеквизитаСвязи]) Тогда
		Если ВремКлючСвязи = 0 Тогда
			Для Каждого СтрокаТЧ Из ТабличнаяЧасть Цикл
				Если ВремКлючСвязи < СтрокаТЧ[ИмяРеквизитаСвязи] Тогда
					ВремКлючСвязи = СтрокаТЧ[ИмяРеквизитаСвязи];
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;
		СтрокаТабличнойЧасти[ИмяРеквизитаСвязи] = ВремКлючСвязи + 1;
	КонецЕсли;
	
	Возврат СтрокаТабличнойЧасти[ИмяРеквизитаСвязи];
	
КонецФункции
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот