Стоит задача сделать штрихкод в УТ 11 неуникальным - т.е. один штрихкод для разной номенклатуры. Добавил измерение, для "альтернативной уникальности".
Пытаюсь в обработчике "ПередЗаписью" модуля набора записей его заполнять
Для Каждого ТекЗапись Из ЭтотОбъект Цикл
Если ЗначениеЗаполнено(ТекЗапись.НомерШтрихкода) Тогда
Продолжить;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ШтрихкодыНоменклатуры.НомерШтрихкода КАК НомерШтрихкода
|ИЗ
| РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
|ГДЕ
| ШтрихкодыНоменклатуры.Штрихкод = &Штрихкод
| И ШтрихкодыНоменклатуры.Номенклатура <> &Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| НомерШтрихкода УБЫВ";
Если выборка.Следующий() Тогда
ТекЗапись.НомерШтрихкода = Выборка.НомерШтрихкода + 1;
КонецЕсли;
КонецЦикла;
Выдает ошибку "Значение поля не соответствует установленному отбору".
В отладчике
ЭтотОбъект.Отбор.НомерШтрихкода = 0;
Т.е. запись делается с указанным отбором. Самое странное, что находил в инте такой же работающий пример.
Как правильно изменять измерение перед записью?
(1) Опечатался))
Да, работает. Меня смущали от этого мысли о гипотетическом случае, когда в наборе может быть несколько записей... Но Это можно решать уже в том коде, который создаст ситуацию.
Спасибо