Перенос из 7 в 8ку

1. ugr_88 14.08.12 17:59 Сейчас в теме
Доброе время суток.
Изучаю Конвертацию Данных и параллельно переношу, из справочников 7.7 "Номенклатура","Материалы" и "Объекты Строительства" в 8 УТ справочник "Номенклатура", все перенеслось, вот только получилась каша, где элементы из Материалов и т.д., нужно сортировать по папкам, то есть 3 папки("Номенклатура","Материалы","Объекты Строительства") а как сделать, не знаю.
Поставил код на событие перед выгрузкой на ПКО реквизита "Родитель"
НаименованиеГруппы = "ОбъектыСтроительства";
Если Истичник.Родитель.Пустая() И Истичник.Наименование <> НаименованиеГруппы Тогда
Значение = Новый Структура;
Значение.Вставить("Наименование",НаименованиеГруппы);
Значение.Вставить("ПометкаУдаления",Ложь);
Значение.Вставить("ЭтаГруппа",Истина);
Значение.Вставить("Родитель",Справочники.ОбъектыСтроительства.ПустаяСсылка());
КонецЕсли;
Но выдает ошибку, понял что нужно писать на 7ке, а тут я не понял, написать точно также?
Если да то все равно ругается... что делать подскажите плс...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. demarine 14.08.12 18:11 Сейчас в теме
Ошибку озвучьте, пожалуйста.
Да и это "Истичник" так должно быть?
3. ugr_88 14.08.12 18:32 Сейчас в теме
Я это исправил
Ошибки такие:
Значение.Вставить("ПометкаУдаления",Ложь<<?>>);
{(9)}: Переменная не определена (Ложь)
Значение.Вставить("ЭтаГруппа",Истина<<?>>);
{(10)}: Переменная не определена (Истина)
Значение.Вставить("Родитель",Справочники<<?>>.ОбъектыСтроительства.ПустаяСсылка());
{(11)}: Переменная не определена (Справочники)
Значение.Вставить("Родитель",Справочники.ОбъектыСтроительства.ПустаяСсылка()<<?>>);
{(11)}: Неопознанный оператор
<<?>>КонецЕсли;
4. ugr_88 14.08.12 18:32 Сейчас в теме
Он ругается на данный код, может на 7ке по другому надо писать?
5. ugr_88 14.08.12 20:02 Сейчас в теме
http://pixs.ru/showimage/SnimokPNG_6566457_5516083.png
НаименованиеГруппы = "ОбъектыСтроительства";
Если (ПустаяСтрока(Источник.Родитель) = 1) И (Источник.Наименование <> НаименованиеГруппы) Тогда
Значение = СоздатьОбъект("СписокЗначений");
Значение.ДобавитьЗначение("Наименование",НаименованиеГруппы);
Значение.ДобавитьЗначение("ПометкаУдаления",0);
Значение.ДобавитьЗначение("ЭтаГруппа",1);
Значение.ДобавитьЗначение("Родитель",ПолучитьПустоеЗначение("Справочники.ОбъектыСтроительства"));
КонецЕсли;
В принципе все перенес, вот только без групп вообще...что не так я сделал
6. andrewks 1375 14.08.12 23:02 Сейчас в теме
как сделать так, чтобы определённые элементы ложились в приёмнике в специальную папку, которой нет в источнике?

ставишь у св-ва Родитель ПКО с название, например, ГруппаНоменклатуры

в зависимости от условий, заполняешь Исходящие данные нужными тебе значениями. например, ПередВыгрузкой:

ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.Установить("Наименование", "Оборудование (объекты основных средств)");
Значение = "1";



в ПКО ГруппаНоменклатуры ставишь: источник - пусто, приёмник - спр.Номенклатура

нужным св-вам ставишь галки "получать из вход.данных", + почитай в справке про КлючВыгружаемыхДанных
7. ugr_88 15.08.12 08:56 Сейчас в теме
andrewks, честно стараюсь, но не получается...
8. andrewks 1375 15.08.12 10:26 Сейчас в теме
(7) прикрепи сюда файл с правилами обмена, посмотрю, когда будет свободное время
9. ugr_88 15.08.12 10:36 Сейчас в теме
10. andrewks 1375 15.08.12 10:38 Сейчас в теме
и ещё нужно уточнение: внутри этих виртуальных папок "Номенклатура","Материалы","Объекты Строительства" должна быть сохранена иерархия, как в базе-источнике, или ты хочешь всю номенклатуру ложить непосредственно в папку "Номенклатура", материалы - в "Материалы", и т .д.
11. ugr_88 15.08.12 10:59 Сейчас в теме
Все также как и в источнике, только из справочника "Материалы" в папку базы приемника "Материалы" и т.д.
12. andrewks 1375 15.08.12 15:13 Сейчас в теме
итак, тебе понадобится следующее:

в ПКО "Объекты Строительства" в ПКС св-ва Родитель в обработчике ПередВыгрузкой, где ты проверяешь на определённые условия, во-первых, убирай галку "получать из вход.данных", во-вторых, условие проверяй так:
Если ПустоеЗначение(Источник.Родитель)=1 Тогда
// значит, достигли верхнего уровня иерархии

здесь тебе нужно проманипулировать именем ПКО, по которому будет выгружено свойство:

ИмяПКО - имя правила конвертации, по которому производится преобразование значения свойства. Может быть выбрано в зависимости от каких-либо условий.
13. andrewks 1375 15.08.12 15:19 Сейчас в теме
далее: заводишь специальное ПКО для "виртуальных" папок, например, называешь его "НоменклатураСпецПапка", источник - пустой, приёмник - Спр.Номенклатура, в ПередВыгрузкой пишешь:

КлючВыгружаемыхДанных = "_" + ВходящиеДанные.Получить("Наименование")

далее определяешь у него ПКС:
Наименование - с галкой "получать из вход.данных" + с галкой поиска
Родитель - с галкой поиска, в ПередВыгрузкой пишешь:
Значение = ПолучитьПустоеЗначение();

ЭтоГруппа - с галкой поиска, в ПередВыгрузкой пишешь:
Значение = 1;
14. andrewks 1375 15.08.12 15:23 Сейчас в теме
далее, тебе остаётся только при возникновении условия Если ПустоеЗначение(Источник.Родитель)=1 Тогда

явно указать ПКО для этого св-ва:

ИмяПКО="НоменклатураСпецПапка";

и заполнить исходящие данные:

ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.Установить("Наименование", "Объекты строительства");
Значение = "1";

ну, и таким макаром - в каждом ПКС Родитель у номенклатуры, материалов и объектов стр-ва.
при этом ПКО "НоменклатураСпецПапка" у тебя будет одно


вроде, всё. пробуй, отпишись по результату
15. ugr_88 15.08.12 15:49 Сейчас в теме
я застрял на первом же сообщении...к сожалению,до меня походу не дойдет,как нужно это сделать...
16. Rufous 15.08.12 17:07 Сейчас в теме
алее, тебе остаётся только при возникновении условия Если ПустоеЗначение(Источник.Родитель)=1 Тогда

явно указать ПКО для этого св-ва:

ИмяПКО="НоменклатураСпецПапка";

и заполнить исходящие данные:

ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.Установить("Наименование", "Объекты строительства");
Значение = "1";

ну, и таким макаром - в каждом ПКС Родитель у номенклатуры, материалов и объектов стр-ва.
при этом ПКО "НоменклатураСпецПапка" у тебя будет одно


вроде, всё. пробуй, отпишись по результату
Показать


Ну как результаты?
17. ugr_88 15.08.12 17:13 Сейчас в теме
у меня все отрицательно, и результат и настроение тоже отрицательное...
18. ugr_88 15.08.12 17:22 Сейчас в теме
Rufous может тоже поможешь, а то думаю уже удалить КД
19. ugr_88 15.08.12 18:36 Сейчас в теме
andrewks спасибо тебе большое...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот