|
конвертация данных: чудеса с группами ... Кто победил ? | ☑ | ||
---|---|---|---|---|
0
Aleks73
13.12.12
✎
11:45
|
КД 2.1
Делаю перенос только документов из УПП 1.2 В Бух 2.0 Есть правило для номенклатуры, она переносится с документами, самостоятельно - нет. Папки в УПП и Бух по номенклатуре отличаются : в УПП Подгруппа ААА в корневой папке ВВВ, а в бухгалтерии - в корневой ССС. После любого переноса подгруппа в бухгалтерии переставляется как в УПП. Как сделать так, чтобы она не переставлялась ? Ведь она не переносится физически так как групп в документах быть не может.... |
|||
1
Aleks73
13.12.12
✎
11:49
|
первый ап...быстро уходит...
|
|||
2
ICWiner
13.12.12
✎
11:52
|
Мб реквизит родитель не передавать?
|
|||
3
Aleks73
13.12.12
✎
11:53
|
(2) дык а как новая номенклатура станет ?
|
|||
4
Дейл
13.12.12
✎
11:56
|
то есть и там и там подгруппа ААА есть?
|
|||
5
Дейл
13.12.12
✎
11:57
|
поиск по родителю ставил?
|
|||
6
Aleks73
13.12.12
✎
11:59
|
(4) да
|
|||
7
Aleks73
13.12.12
✎
11:59
|
(5) сейчас посмотрю
|
|||
8
Aleks73
13.12.12
✎
12:00
|
(5) нет поиска по родителю
|
|||
9
ICWiner
13.12.12
✎
12:01
|
А, совсем новая в смысле? Дак они в разных местах всеравно должны находиться. Переместить раз и все.
|
|||
10
Aleks73
13.12.12
✎
12:05
|
(9) Номенклатуры создаются в УПП только. Поэтому новая должна создаваться так что родителя передавать надо по-любому, если бы не это, вопроса бы не возникало, просто отключил бы передачу.
Переместить можно но сам факт изменения позиции нескольких групп вызывает глубокий шок у буха опасаюсь за её здоровье. Обмен делает она. |
|||
11
Aleks73
13.12.12
✎
12:09
|
второй ап, предпоследний .
|
|||
12
Aleks73
13.12.12
✎
12:19
|
последний ап
|
|||
13
Defender aka LINN
13.12.12
✎
12:20
|
(12) Та хоть самый последний. Первод на русский давай
|
|||
14
Aleks73
13.12.12
✎
12:23
|
(13) Вы ставите меня в филологический тупик своими авангардистскими идиомами. (С)
|
|||
15
Defender aka LINN
13.12.12
✎
12:25
|
(14) Дело в том, что тема интересная, и я, возможно, что-нибудь и подсказал. Но (0) написано на каком-то другом языке, на русском я бы его понял.
|
|||
16
Дейл
13.12.12
✎
12:26
|
слушай,а если попробовать группы не выгружать
типа ПриВыгрузке Если Источник.ЭтоГруппа Тогда Отказ = истина; КонецЕСли; |
|||
17
Defender aka LINN
13.12.12
✎
12:27
|
(16) Кэп говорит, что тогда все новые элементы начнут в корень ложиться.
|
|||
18
Aleks73
13.12.12
✎
12:28
|
(15) Вопрос понял, отвечаю. (С)
КД - Конвертация данных УПП - управление производственным предприятием. Бух - Бухгалтерия Предприятия. ААА, ВВВ, ССС - условные названия папок. В реале могут быть любими, на содержание вопроса не влияет. |
|||
19
MaxS
13.12.12
✎
12:29
|
>После любого переноса подгруппа в бухгалтерии переставляется как в УПП.
А зачем перезаписывать номенклатуру? Поставить соответствующий флаг, чтобы только создавала новую и всё. |
|||
20
Aleks73
13.12.12
✎
12:29
|
(16) см (3), (10)
|
|||
21
Aleks73
13.12.12
✎
12:29
|
(19) Где поставить такой флаг ? уточни место пожалуйста
|
|||
22
Дейл
13.12.12
✎
12:31
|
(19)точно
|
|||
23
Дейл
13.12.12
✎
12:31
|
в ПКО в настройках
|
|||
24
Defender aka LINN
13.12.12
✎
12:31
|
(18) Спасибо, кэп. Главное ведь - подольше не признаваться, что и как должно быть. Или написать как в (0). Рекомендую группы условно называть как "ААА", "ААА" и "ААА", но пояснить, что речь про разные. Для интересу.
|
|||
25
MaxS
13.12.12
✎
12:32
|
(21) КД, ПКО, вкладка настройки
Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их |
|||
26
Aleks73
13.12.12
✎
12:32
|
(22), (23) видимо имеется в виду настройка...не замещать.
а если создали номенклатуру с ошибочным намиенованием или без нужных реквизитов, она так и останется ?! мне надо, чтобы не исправлялись только группы |
|||
27
Aleks73
13.12.12
✎
12:33
|
(25) см (26)
|
|||
28
kosts
13.12.12
✎
12:33
|
В событии "После загрузки" в справочнике
Если Объект.ЭтоГруппа и Не Объект.Ссылка.Пустая() Тогда Отказ = Истина; Возврат; КонецЕсли; |
|||
29
Aleks73
13.12.12
✎
12:35
|
(28) может быть.... А новые группы ?
|
|||
30
Aleks73
13.12.12
✎
12:36
|
(28) Не Объект.Ссылка.Пустая() = это не новый ?
никогда не встречат такую конструкцию.... |
|||
31
DrShad
13.12.12
✎
12:36
|
В событии "После загрузки" в справочнике
объект - загруженный объект Ссылка - найденная ссылка - копать здесь! |
|||
32
Aleks73
13.12.12
✎
12:38
|
(31), (28) это - то что ты имеешь в виду?
|
|||
33
DrShad
13.12.12
✎
12:38
|
+(31) то бишь
Если Ссылка <> Неопределено Тогда Объект.Родитель = Ссылка.Родитель; Профит! |
|||
34
Aleks73
13.12.12
✎
12:41
|
(33) как интересный вариант типа (28)...
в КД такой код проканает ? пробовал ? |
|||
35
DrShad
13.12.12
✎
12:42
|
(34) ептить, конечно пробовал
|
|||
36
DrShad
13.12.12
✎
12:43
|
+(35) правда мог напутать с типом Ссылка, т.е. возможно ее нужно проверить на Пустая(), но замена Родителя 146% канает
|
|||
37
Aleks73
13.12.12
✎
12:45
|
(35) спасибо, DrShad попробую.
в идеале конечно кинул бы в меня куском из кд, но и так можно что-то сделать. (28) kosts, спасибо. |
|||
38
MadJhey
13.12.12
✎
12:46
|
(25) не поможет. Новый элемент справочника при переносе все равно создаст папку (родитель).
(28) в корень все улетит Если базы не на поддержке, можешь предопределенные элементы спр-ка создать и их состыковать. иначе при выгрузке подменяй группы на те что тебе нужны |
|||
39
DrShad
13.12.12
✎
12:47
|
(37) да не вопрос, лови!
Обработчики "Правила конвертации объектов" После загрузки Условия возникновения события Только для платформы V8. Событие выполняется после прочтения и установки атрабутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта. Параметры: Отказ - Булево - Если Истина, то объект загружен не будет. Объект - Произвольный - загруженный объект. Ссылка – Произвольный – ссылка на найденный объект в информационной базе. ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе ПараметрыОбъекта - либо Неопределено либо Соответствие, в котором хранятся дополнительные параметры переденные для данного объекта из источника в приемник. Если параметров передано не было, то ПараметрыОбъекта = Неопределено. ОбъектМодифицирован – Булево. Флажок указывает на то, что в обработчике объект был изменен. По умолчанию содержит значение Истина. То есть обработка загрузки считает, что если выполнялся какой-либо обработчик, то объект мог быть модифицирован, и его необходимо записать в информационную базу. Параметр относится только к текущему обработчику. Если объект был изменен ранее, то при любом значении переменной ОбъектМодифицирован он будет записан. Только для платформы 1С:Предприятие 8. ИмяТипаОбъекта – Строка. Имя типа загруженного объекта, например, «СправочникСсылка.Номенклатура». Пример: Объект.БазоваяЕдиницаИзмерения = Параметры.ЕдИзмеренияШтуки; Объект.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; Если Объект.Услуга Тогда Объект.ВидНоменклатуры = Параметры.ВидНомУслуга; Иначе Объект.ВидНоменклатуры = Параметры.ВидНомТовар; КонецЕсли; |
|||
40
DrShad
13.12.12
✎
12:48
|
+(39) даже вот так выходит
Если ОбъектНайден Тогда Объект.Родитель = Ссылка.Родитель; Профит! |
|||
41
DrShad
13.12.12
✎
12:50
|
(38) лажа!
|
|||
42
Aleks73
13.12.12
✎
12:50
|
(39) эээ...мммм...я имел в виду не хелп а кусок написанного тобой н эту тему кода в кд.
(40) Чо такое объектнайден ? |
|||
43
Aleks73
13.12.12
✎
12:51
|
(38) подменять по списку что ли ?
|
|||
44
DrShad
13.12.12
✎
12:52
|
(42) ты видимо совсем не читатель
ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе |
|||
45
Aleks73
13.12.12
✎
12:53
|
(44) не встречал такого оператора, тут
http://dev.mista.ru/topic.php?id=605491 пишут что не работает |
|||
46
Рэйв
13.12.12
✎
12:56
|
(0)В ПослеЗагрузки
Если НЕ Объект.Ссылка.Пустая() Тогда Объект.Родитель=Объект.Ссылка.Родитель; КонецЕсли; //--------- Если не новая, оно так должно взять старого родителя. |
|||
47
DrShad
13.12.12
✎
13:00
|
(45) врут
|
|||
48
Aleks73
13.12.12
✎
13:01
|
(46) этот кусок кажется самый подходящий, спасибо, Рейв.
|
|||
49
DrShad
13.12.12
✎
13:02
|
(48) окуеть, такой же код как я писал, только с избыточным вызовом ссылок :))) и подходит, а нормальный код тебе не подошел, удачи!
|
|||
50
Aleks73
13.12.12
✎
13:04
|
(49) спасибо было в (37) сказано.
мне сомнительно что там будет неопределено. |
|||
51
DrShad
13.12.12
✎
13:05
|
Если Ссылка <> Неопределено Тогда
Объект.Номер = Ссылка.Номер; КонецЕсли; Объект.Записать(); Нов = РегистрыСведений.WA_СоответствияДокументовПоНомеруИТипу.СоздатьМенеджерЗаписи(); //Нов = НЗ.Добавить(); Нов.ТипИсточника = "ДокументСсылка.ПередачаТоваровМеждуОрганизациями"; Нов.ТипПриемника = "ДокументСсылка.ВозвратТоваровПоставщику"; Нов.НомерИсточника = ПараметрыОбъекта["ИсточникНомер"]; Нов.УникальныйИдентификаторИсточника = ПараметрыОбъекта["GUID"]; Нов.УзелИнформационнойБазы = УзелОбменаЗагрузкаДанных; Нов.СобственнаяСсылка = Объект.Ссылка; Нов.ХозяйственнаяОперация = "Передача товара между филиалами (Выбытие)"; //НЗ.ОбменДанными.Загрузка = Истина; Нов.Записать(); |
|||
52
DrShad
13.12.12
✎
13:05
|
+(51) вот тебе рабочий код из правил
|
|||
53
Aleks73
13.12.12
✎
13:07
|
(52) понятно. спасибо!
|
|||
54
Darly
13.12.12
✎
13:19
|
(0)сохранить Родителя у существующего:
для св-ва Родитель "Не замещать значение свойства у существующих объектов в приемнике" для проверки нового элемента: ПриЗагрузке Если НЕ ОбъектНайден Тогда .... КонецЕсли; (P.S.:из рабочих правил) |
|||
55
Aleks73
13.12.12
✎
14:28
|
(54) свойство Родитель - очень любопытно, а зачем тогда проверять новый ?
|
|||
56
Darly
13.12.12
✎
14:36
|
(55)незачем. просто вопрос был про определение нового
|
|||
57
Aleks73
13.12.12
✎
14:39
|
(56) Ясно. Спасибо, Darly!
|
|||
58
kabanoff
13.12.12
✎
14:47
|
(54) В этом случае если объект был найден, в обработчике надо обязательно написать, что объект не модифицирован, иначе он будет перезаписываться.
(0) Я бы вообще отключил ПКС "Родитель", ибо передавать его не нужно. Установку родителя поставил бы только для новых элементов в обработчике при загрузке в ПКО.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |