![]() |
|
Конвертация данных. | ☑ | ||
---|---|---|---|---|
0
palm1c
14.03.12
✎
17:11
|
Добрый день.
Есть КД, из 1с 7 в 1с 8. в 1с 7 есть спр. Склады. в 1с 8 есть спр. Подразделения. В 1с 8 в для каждого элемента спр Склады заполнен реквизит подразделение. Нужно сделать ПКО Склады - Подразделения. Возможно ли это, и если да, то как? Спасибо. |
|||
1
Fish
гуру
14.03.12
✎
17:12
|
Поройся здесь: http://www.mykod.info/
|
|||
2
Amra
14.03.12
✎
17:13
|
(1) НЕ поможет. Оперелись, какое соответсвие между складом и подразделением
|
|||
3
palm1c
14.03.12
✎
17:14
|
В 1с 8 в для каждого элемента спр Склады заполнен реквизит подразделение.
|
|||
4
Kondarat
14.03.12
✎
17:14
|
(0) Конфигурации секрет?
|
|||
5
palm1c
14.03.12
✎
17:15
|
(4) 1с 7 Торговля, 1с 8 УТП
|
|||
6
Kondarat
14.03.12
✎
17:16
|
(5) УТП не знаю. Если там есть пользователи и значение по умолчанию как и везде "Основное подразделение", то им и заполни. Или не вариант? И надо под каждый склад создать подразделение?
|
|||
7
palm1c
14.03.12
✎
17:23
|
(6) У меня задача общая.
Сделать выгрузку. Выгрузить в документ из из 1с 7, реквизит "Склад" в 1с 8, реквизит "Подразделение", если: В 1с 8 Склады синхронизированы по коду. В 1с 8 в каждом элементе "Склад" есть заполненный реквизит "Подразделение". |
|||
8
Kondarat
14.03.12
✎
17:27
|
(7) Ну если в 8-ке есть склады, в которых подразделения заполнены, и эти склады в 8-ке синхронизированы со складами в 7-ке по коду, то нафик эти подразделения выгружать?
|
|||
9
palm1c
14.03.12
✎
17:31
|
В документ нужно проставить подразделение при выгрузке, в документе реквизита Склад в 1с 8 нет, есть только подразделение. Как сделать средствами конвертации?
|
|||
10
takefive
14.03.12
✎
17:34
|
Передать в параметр
|
|||
11
y22-k
14.03.12
✎
17:38
|
(0)
см справку Обработчики "Правила конвертации объектов" При загрузке Условия возникновения события Только для платформы V8. Событие выполняется после попытки идентификации. В случае успешной синхронизации доступен найденный объект. В противном случае его значение Неопределено. Можно произвести произвольную инициализацию, заполняемого данными объекта. Параметры: ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе Объект - Произвольный. Загружаемый, модифицируемый объект, созданный по ссылке или найденный в информационной базе. Если способ идентификации объекта в файле не указан (т.е. отсутствует узел "Ссылка"), то параметр содержит значение Неопределено. В этом случае в обработчике возможна произвольная инициализация загружаемого объекта, в противном случае, объект будет создан автоматически. НеЗамещатьОбъект - Булево - Если установить значение Истина, то существующий объект информационной базы не будет изменен. ОбъектМодифицирован – Булево. Флажок указывает на то, что в обработчике объект был модифицирован. По умолчанию содержит значение Истина. То есть обработка загрузки считает, что если выполнялся какой-либо обработчик, то объект мог быть модифицирован, и его необходимо записать в информационную базу. Параметр относится только к текущему обработчику и только к найденным объектам. Если объект не был найден, то при любом значении он будет создан и записан. Только для платформы 1С:Предприятие 8. Пример: Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(Объект.Код)); Если Пользователь = Неопределено Тогда Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя(); Пользователь.Имя = СокрЛП(Объект.Код); Пользователь.ПолноеИмя = СокрЛП(Объект.Код); КонецЕсли; Пока ФайлОбмена.Прочитать() Цикл ИмяУзла = ФайлОбмена.ЛокальноеИмя; ТипУзла = ФайлОбмена.ТипУзла; Если ИмяУзла = "ИнформацияОПользователе" И (ТипУзла = одТипУзлаXML_НачалоЭлемента) Тогда Пользователь.АутентификацияОС = одАтрибут(ФайлОбмена, одТипБулево, "АутентификацияОС"); Пользователь.АутентификацияСтандартная = одАтрибут(ФайлОбмена, одТипБулево, "АутентификацияСтандартная"); Пользователь.ПоказыватьВСпискеВыбора = одАтрибут(ФайлОбмена, одТипБулево, "ПоказыватьВСпискеВыбора"); Пользователь.ПользовательОС = одАтрибут(ФайлОбмена, одТипСтрока, "ПользовательОС"); Пользователь.ПолноеИмя = одАтрибут(ФайлОбмена, одТипСтрока, "ПолноеИмя"); СтрокаРоль1 = одАтрибут(ФайлОбмена, одТипСтрока, "Роль1"); СтрокаРоль2 = одАтрибут(ФайлОбмена, одТипСтрока, "Роль2"); СтрокаРоль3 = одАтрибут(ФайлОбмена, одТипСтрока, "Роль3"); ИначеЕсли (ИмяУзла = "ИнформацияОПользователе") И (ТипУзла = одТипУзлаXML_КонецЭлемента) Тогда Прервать; КонецЕсли; КонецЦикла; Пользователь.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Полный; Пользователь.Язык = Метаданные.Языки.Русский; Пользователь.Роли.Очистить(); Роль1 = Метаданные.Роли.Найти(СокрЛП(СтрокаРоль1)); Роль2 = Метаданные.Роли.Найти(СокрЛП(СтрокаРоль1)); Роль3 = Метаданные.Роли.Найти(СокрЛП(СтрокаРоль1)); Если НЕ Роль1 = Неопределено Тогда Пользователь.Роли.Добавить(Роль1); КонецЕсли; Если НЕ Роль2 = Неопределено Тогда Пользователь.Роли.Добавить(Роль2); КонецЕсли; Если НЕ Роль3 = Неопределено Тогда Пользователь.Роли.Добавить(Роль3); КонецЕсли; Пользователь.Записать(); |
|||
12
palm1c
14.03.12
✎
17:39
|
(10), (11) ОК, пробую.
|
|||
13
fisher
14.03.12
✎
17:42
|
А я бы не делал при загрузке.
Я бы тупо прописал соответствие на стороне источника. Или в базе или тупо в коде КД. |
|||
14
palm1c
14.03.12
✎
17:43
|
(11) То есть, я делаю ПКО СкладыВПодразделения, не указываю, по чем искать, и в обработчике пишу свой код? Так?
|
|||
15
Kondarat
14.03.12
✎
17:49
|
(14) Если какое-нибудь соответствие между складами в 7-ке и подразделениями в 8-ке есть, то это самый простой вариант.
|
|||
16
palm1c
14.03.12
✎
17:54
|
Всем спасибо.
|
|||
17
Skylark
14.03.12
✎
17:59
|
Происходит выгрузка данных. Если в 7.7 сведений о соответствии складов-подразделений нет, то выгружать надо сведения о складе, а потом при загрузке по этим сведениям искать подразделение в 8.
А выгрузка в параметр по-моему доступна только при выгрузке из 8. Так что в первую очередь надо придумывать куда из 7.7 выгружать, чтобы потом это при загрузке в 8 поймать. |
|||
18
y22-k
15.03.12
✎
10:38
|
(14) давно не занимался конвертацией
Можно попытаться извратиться Код ставить в ## Объект будет не найден Поставить в правилах, не создавать если не найден А при загрузке искать подразделение по коду без ## и ставить его А проще всего синхронизировать по кодам склады и подразделения содать правило Склад - Подразделение и не париться |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |