|
КД. модификация регистра сведений при переносе | ☑ | ||
---|---|---|---|---|
0
DmitryPavlik
17.12.12
✎
21:02
|
Все привет.
Есть переписанные УПП и УТ, в каждой конфе имеется регистр сведений Штрихкоды, данные передаются из УПП в УТ, в УПП допускается дублирование ШК,а в УТ нет, через КД сделал следующее: добавил в УТ в РС ШК поле "ЛожныйШтрихКод", куда пишу дубль, а взамен генерирую новый, в в ПКО Штрихкоды в модуль ПослеЗагрузки добавил такой код. Если ОбъектНайден Тогда // повторно записывать не будем //Отказ = Истина; Иначе Запрос=Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Штрихкоды.Владелец, | Штрихкоды.ЕдиницаИзмерения |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |ГДЕ | Штрихкоды.Штрихкод = &ШтрихКод"; Запрос.УстановитьПараметр("ШтрихКод" , Объект.Штрихкод); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда // Такой записи нет, но есть другая с таким-же ШК // Создаём ложный ШК Запрос.Текст = "ВЫБРАТЬ | Штрихкоды.Владелец, | Штрихкоды.ЕдиницаИзмерения, | Штрихкоды.ЛожныйШтрихКод | |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |ГДЕ | Штрихкоды.ЛожныйШтрихКод = &ШтрихКод | И Штрихкоды.Владелец = &Владелец | И Штрихкоды.ЕдиницаИзмерения = &ЕдиницаИзмерения"; Запрос.УстановитьПараметр("ШтрихКод" , Объект.Штрихкод); Запрос.УстановитьПараметр("Владелец" , Объект.Владелец); Запрос.УстановитьПараметр("ЕдиницаИзмерения" , Объект.ЕдиницаИзмерения); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда //такой шк есть //такой ложный шк есть // значит, мы уже генерировали шк Объект.ЛожныйШтрихКод = Выборка.ЛожныйШтрихКод; //Отказ = Истина; Иначе Объект.ЛожныйШтрихКод = Объект.Штрихкод; Объект.Штрихкод = Формат(Число(ИТИ_КлиентСерверыеПроцедуры.СформироватьШтрихКод())+1, "ЧГ="); КонецЕсли; Иначе // ничего не делаем: объекта нет, такого ШК нет - записываем КонецЕсли; КонецЕсли; и вот что получается: при снятой галочке "записывать регистры наборами записей" они вообще не появляются,а если поставить, то будет ошибка отбора (я же модифирую набор). Вопрос: какое решение проблемы можете подсказать? |
|||
1
echo77
17.12.12
✎
21:15
|
Если ОбъектНайден? Вы в регистрах сведений по полям поиска что-то пишите? Там же поиск не работает, ИМХО, он просто тупо переписывает запись
|
|||
2
DmitryPavlik
17.12.12
✎
21:24
|
(1) По-сути, это строка из регистра.
|
|||
3
DmitryPavlik
17.12.12
✎
21:24
|
(1) а Объект - это типа структуры получается, куда пишутся поля
|
|||
4
DrShad
17.12.12
✎
21:29
|
объект это набор записей
|
|||
5
DmitryPavlik
17.12.12
✎
21:33
|
(4) объяснял для (1) :)
|
|||
6
DrShad
17.12.12
✎
21:34
|
(5) что-то ты и в (2) и в (3) ошибся
|
|||
7
DmitryPavlik
17.12.12
✎
21:35
|
(4) по делу есть какие-либо мысли?
как вариант - обрабатывать записи на этапе записи в "МодульНабораЗаписей", но прикол в том, что это именно набор записей, и если в нем менять запись, а именно сам штрихкод, то появится ошибка о не соответствии отбору. |
|||
8
DrShad
17.12.12
✎
21:37
|
[то появится ошибка о не соответствии отбору.] ни о чем не говорит?
|
|||
9
echo77
17.12.12
✎
21:38
|
Если ОбъектНайден не пробовал турнуть?
|
|||
10
DrShad
17.12.12
✎
21:38
|
при выгрузке сразу все передавать либо потом только через менеджер записи смог что-то сделать
|
|||
11
DrShad
17.12.12
✎
21:39
|
(9) зачем!?
|
|||
12
DmitryPavlik
17.12.12
✎
21:40
|
в идеале просто собрать в таблицу всё, а потом из КД уже обработать её и записать самому нужные записи, но что-то не вижу такого функционала.
|
|||
13
DrShad
17.12.12
✎
21:44
|
(12) сформируй нормальную выборку для выгрузки и ее выгружай, а не физические записи регистра
|
|||
14
echo77
17.12.12
✎
21:44
|
(11) Ах, да, у тебя же все работает!
(12) Собирай все в параметр, при записи ставь отказ. В обработчике конвертации После... чего-то там пиши записи в регистр по твоему алгоритму |
|||
15
DmitryPavlik
17.12.12
✎
21:52
|
(14) вот это идея - совсем забыл про Параметры!!!
|
|||
16
DmitryPavlik
19.12.12
✎
07:48
|
Через параметры не получилось - передать так можно тот параметр, который был задан в диалоге.
Сделал так: передаю рс шк, потом при загрузка заполняю промежуточную таблицу, отказываюсь от записи регистра, после загрузки данных (самый конец) обрабатываю и записываю регистры по своему алгоритму. |
|||
17
Defender aka LINN
19.12.12
✎
08:04
|
(16) Месье знает толк в извращениях...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |