|
v8: Не могу изменить запись регистра Штрихкоды в рознице 1.0 | ☑ | ||
---|---|---|---|---|
0
Bubuzon
08.09.12
✎
13:48
|
Написал обработку:
Запрос = Новый Запрос; ТекстЗапроса = " |ВЫБРАТЬ | Номенклатура.Ссылка, | Номенклатура.ЕдиницаХраненияОстатков, | Номенклатура.ЭтоГруппа, | ХарактеристикиНоменклатуры.Ссылка КАК Характеристика |ИЗ | Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры | ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец |ГДЕ | (НЕ Номенклатура.ЭтоГруппа) |"; Запрос.Текст = ТекстЗапроса; РЗ = Запрос.Выполнить().Выбрать(); Пока РЗ.Следующий()Цикл Штрих = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); Штрих.Отбор.Владелец.Установить(РЗ.Ссылка); Если (НЕ РЗ.Характеристика =Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()) ИЛИ (РЗ.Характеристика=Неопределено) Тогда Штрих.Отбор.ХарактеристикаНоменклатуры.Установить(РЗ.Характеристика); КонецЕсли; Штрих.Прочитать(); Исправлен=0; Для каждого Запись из Штрих Цикл; Если НЕ Запись.ЕдиницаИзмерения=РЗ.ЕдиницаХраненияОстатков Тогда Запись.ЕдиницаИзмерения=РЗ.ЕдиницаХраненияОстатков; Исправлен=1; КонецЕсли; КонецЦикла; Если Исправлен=1 Тогда Попытка Штрих.Записать(); Сообщить("Записан штрихкод для " + РЗ.Ссылка); Исключение Сообщить("Не удалось записать регистр "+ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецЦикла; При запуске ругается на то что у записи уже есть владелец, пробовал через Менеджер записи, так там по ключевым полям Владелец и Характеристика запись не выбирает. Где грабли? |
|||
1
m-serg74
08.09.12
✎
14:05
|
|
|||
2
m-serg74
08.09.12
✎
14:05
|
мНеРазрешитьНеуникальныеШтрихкоды = Не Константы.РазрешитьНеуникальныеШтрихкоды.Получить();
|
|||
3
m-serg74
08.09.12
✎
14:06
|
вероятно ШК повторяются там и грабли
|
|||
4
m-serg74
08.09.12
✎
14:12
|
даже не повторяются а просто есть в рег св а они у тебя есть...
надо прочитать гдето запомнить все, в рег. грохнуть набор (Записать), потом твой исправленный набор записывать, или Константу на время Разрешить не уникальные |
|||
5
Bubuzon
08.09.12
✎
16:08
|
Видимо придется вытягивать весь регистр в таблицу, грохать его и записывать из таблицы заново с новыми данными.
|
|||
6
Web00001
08.09.12
✎
18:12
|
(5)Да ну там просто, должно быть, сейчас лезть лениво смотреть, спать надо идти, напиши завтра на почту, посмотрим, на крайняк удали и создай заново, с уже нужными тебе показателями набор записей, да и все. Но махать всем регистром это как то перебор.
зы в (0) код прикольный ) |
|||
7
m-serg74
09.09.12
✎
06:42
|
(5) на куа весь регистр??? только твой набор отобранный, вроде ж в (4) доступно написал, не?
|
|||
8
Bubuzon
09.09.12
✎
14:15
|
Все равно тренируюсь на копии, ща попробую что получится
|
|||
9
Bubuzon
09.09.12
✎
19:12
|
В итоге сделал так:
Запрос = Новый Запрос; Запросы = " |ВЫБРАТЬ | Штрихкоды.Владелец, | Штрихкоды.Штрихкод, | Штрихкоды.ЕдиницаИзмерения, | Штрихкоды.ХарактеристикаНоменклатуры, | Штрихкоды.ТипШтрихкода, | Штрихкоды.ПредставлениеШтрихкода |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |"; Запрос.Текст = Запросы; ТЗ = Запрос.Выполнить().Выгрузить(); НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Записать(); Штрих=РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НомерСтроки=1; ТЗ.Свернуть("Владелец,Штрихкод,ХарактеристикаНоменклатуры,ТипШтрихкода,ПредставлениеШтрихкода"); Для каждого Строка из ТЗ Цикл НоваяЗапись=Штрих.Добавить(); НоваяЗапись.Активность=Истина; НоваяЗапись.Владелец=Строка.Владелец; НоваяЗапись.Штрихкод=Строка.Штрихкод; Если ТипЗнч(Строка.Владелец)=Тип("СправочникСсылка.Номенклатура") Тогда НоваяЗапись.ЕдиницаИзмерения=Строка.Владелец.ЕдиницаХраненияОстатков; Иначе НоваяЗапись.ЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.ПустаяСсылка(); КонецЕсли; НоваяЗапись.ХарактеристикаНоменклатуры=Строка.ХарактеристикаНоменклатуры; НоваяЗапись.ТипШтрихкода=Строка.ТипШтрихкода; НоваяЗапись.ПредставлениеШтрихкода=Строка.ПредставлениеШтрихкода; НомерСтроки=НомерСтроки+1; КонецЦикла; Попытка Штрих.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Сообщить("Запись закончена"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |