|
изменение регистра 🠗 (GROOVY 02.11.2015 12:54) | ☑ | ||
---|---|---|---|---|
0
potapovi4
02.11.15
✎
12:24
|
добрый день мистчане.Все пытаюсь изменить некое измрение в регистре штрих код вот что набросал
ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи(); ТекЗапись.Владелец = стр.Номенклатура; ТекЗапись.ЕдиницаИзмерения = стр.ЕдиницаИзмерения; ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; ТекЗапись.Качество = Справочники.Качество.Новый; ТекЗапись.Штрихкод = выбШ.ШтрихКод; ТекЗапись.ХарактеристикаНоменклатуры = стр.ХарактеристикаНоменклатуры; ТекЗапись.Прочитать(); Попытка ТекЗапись.Наличие = 1 ; ТекЗапись.Записать(); Исключение КонецПопытки; хочу изменить измерение НАЛИЧИЕ.но ругается что Штрихкод: 2000004172619 уже имеет владельца |
|||
1
Горогуля
02.11.15
✎
12:25
|
понятно
|
|||
2
VikingKosmo
02.11.15
✎
12:26
|
продолжайте наблбдение
|
|||
3
VikingKosmo
02.11.15
✎
12:26
|
*наблюдение же
|
|||
4
RomanYS
02.11.15
✎
12:27
|
потому что
Если мНеРазрешитьНеуникальныеШтрихкоды Тогда Для Каждого ТекущаяЗапись Из ЭтотОбъект Цикл Если ЗначениеЗаполнено(ТекущаяЗапись.ШтрихКод) Тогда Запрос = Новый Запрос(" |ВЫБРАТЬ ПЕРВЫЕ 1 | РегШтрихкоды.Владелец КАК Владелец, | РегШтрихкоды.ШтрихКод КАК Штрихкод |ИЗ | РегистрСведений.Штрихкоды КАК РегШтрихкоды |ГДЕ | РегШтрихкоды.ШтрихКод = &ШтрихКод |"); Запрос.УстановитьПараметр("ШтрихКод", ТекущаяЗапись.ШтрихКод); РезультатЗапроса = Запрос.Выполнить(); Если Не РезультатЗапроса.Пустой() Тогда Выборка = РезультатЗапроса.Выбрать(); Выборка.Следующий(); Сообщить("Штрихкод: " + Выборка.ШтрихКод + " уже имеет владельца """ + СокрЛП(Выборка.Владелец) + """."); Отказ = Истина; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; |
|||
5
RomanYS
02.11.15
✎
12:29
|
(0) и у РС нельзя изменить измерение:
надо удалить старую запись и создать новую |
|||
6
Timon1405
02.11.15
✎
12:32
|
(5) оО Вот это поворот
РегистрСведенийМенеджерЗаписи.<Имя регистра сведений> (InformationRegisterRecordManager.<Имя регистра сведений>) Записать (Write) Синтаксис: Записать(<Замещать>) Параметры: <Замещать> (необязательный) Тип: Булево. Определяет режим замещения существующей записи с тем же набором значений измерений регистра и с тем же периодом (для периодических регистров). Истина - если запись регистра сведений с таким набором существует, то выполняется замещение; Ложь - запись будет дописана к уже существующим в информационной базе записям. Значение по умолчанию: Истина. Описание: Записывает в базу данных запись регистра сведений с текущими значениями свойств. Если запись регистра сведений была предварительно считана из базы данных, то при выполнении метода сначала считанная запись удаляется, а затем производится запись измененной записи. С помощью параметра <Замещать> регулируется, будет ли метод замещать запись, если в момент выполнения метода существует другая (исключая считанную) запись с такими же значениями измерений регистра и с таким же периодом для периодических регистров. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: При вызове с параметром <Замещать> равным Ложь после записи в информационную базу запись очищается. Пример: Курс.Записать(); |
|||
7
potapovi4
02.11.15
✎
12:36
|
(6)в моем случае я ведь вроде пытаюсь заместить запись?
|
|||
8
potapovi4
02.11.15
✎
12:38
|
(6) от чего тогда руагется что есть такой уже штрих код?
|
|||
9
lera01
02.11.15
✎
12:40
|
Погляди Обработчик ПередЗаписью в модуле набора записей регистра сведений Штрихкоды
|
|||
10
Timon1405
02.11.15
✎
12:41
|
(8) как насчет 1) озвучить конфу 2) погуглить хоть что-нибудь
v8: Штрихкод: уже имеет владельца! Как Можно проверить наличие Штрихкода у Владельца. |
|||
11
potapovi4
02.11.15
✎
12:43
|
(9)поглядел.как выкрутится из ситуации?
(10)УТ.гуглил.и набора записей использовал и менеджер .ну неполучается. |
|||
12
potapovi4
02.11.15
✎
12:48
|
(10) по данной ссылке проблема не решена.
|
|||
13
lera01
02.11.15
✎
12:53
|
(11) Или константу Разрешить неуникальные штрихкоды (что стремно), или в режиме загрузки данных попробовать или сначала прочитать данные записи, потом ее стереть и по-новой записать с нужными изменениями.
|
|||
14
GROOVY
модератор
02.11.15
✎
12:54
|
(12) Нафига плодить ветки?
|
|||
15
D_E_S_131
02.11.15
✎
12:54
|
В (5) уже был готовый ответ.
|
|||
16
potapovi4
02.11.15
✎
12:55
|
(14)извините.но никак не могу решить данную задачу.
|
|||
17
potapovi4
02.11.15
✎
12:56
|
(15) а вот (6) как бы доказывает что можно
|
|||
18
Горогуля
02.11.15
✎
12:59
|
(16) всё правильно, успешность решения напрямую зависит от количества веток. не останавливайся
|
|||
19
potapovi4
02.11.15
✎
13:01
|
(18) вмсто того чтобы пинать лучше бы помогли.сами то наверное родились и сразу начали все правильно писать
|
|||
20
Горогуля
02.11.15
✎
13:05
|
(19) код написать? лениво
|
|||
21
potapovi4
02.11.15
✎
13:14
|
(20) так написал бы,если бы знал как из ситуации выйти.отключать проверку уникальности штрих кодов не хотелось бы и процедуру менять в модуле набора
|
|||
22
potapovi4
02.11.15
✎
13:19
|
////////////////////////////////////////////////////////
ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи(); ТекЗапись.Владелец = стр.Номенклатура; ТекЗапись.ЕдиницаИзмерения = стр.ЕдиницаИзмерения; ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; ТекЗапись.Качество = Справочники.Качество.Новый; ТекЗапись.Штрихкод = выбШ.ШтрихКод; ТекЗапись.ХарактеристикаНоменклатуры = стр.ХарактеристикаНоменклатуры; ТекЗапись.Прочитать(); Если ТекЗапись.Выбран() Тогда Попытка ТекЗапись.Наличие = 1 ; ТекЗапись.Записать(); Исключение КонецПопытки; КонецЕсли; сделал так вроде работает но не все записи меняет.хотя результата определенного добился |
|||
23
potapovi4
02.11.15
✎
13:22
|
хотя пожалуй это я не то сморозил.кароче код работает но не все записи меняет
|
|||
24
lera01
02.11.15
✎
14:21
|
а если попробовать
... Если ТекЗапись.Выбран() Тогда Попытка ТекЗапись.Наличие = 1 ; ТекЗапись.Записать(); Исключение ТекЗапись.Удалить();///нашли и стерли, теперь опять запишем ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи(); ТекЗапись.Владелец = стр.Номенклатура; ТекЗапись.ЕдиницаИзмерения = стр.ЕдиницаИзмерения; ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; ТекЗапись.Качество = Справочники.Качество.Новый; ТекЗапись.Штрихкод = выбШ.ШтрихКод; ТекЗапись.ХарактеристикаНоменклатуры = стр.ХарактеристикаНоменклатуры; ТекЗапись.Записать(); КонецПопытки; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |