Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Конвертация данных ПВД или ?          
kosalex Подменю пользователя
сообщение 06.08.13, 11:52
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Добрый день. столкнулся с задачей по выгрузке из УТП в другую конфигурацию справочника "Номенклатуры".

В этом справочнике есть много папок - групп. Мне нужно выгрузить определённые группы, как это сделать?

Пишу в ПВД перед выгрузкой такое:

Если Объект.ЭтоГруппа() Тогда
Если НЕ Объект.ЭтоГруппа() И НЕ Объект.Наименование = "Изделия из золота с драгоценными камнями"  Тогда
  Отказ = Истина;
КонецЕсли;

Если НЕ Объект.ЭтоГруппа() И НЕ Объект.Наименование = "Изделия из золота с ситнетическими вставками" Тогда
  Отказ = Истина;
КонецЕсли;
Иначе
Отказ = Истина;
КонецЕсли;



 i 

Выделяйте код тегами, в правилах же написано как это делать
 


Ошибка: Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1638)}: Ошибка в обработчике события ПередВыгрузкойОбъекта
ПВД = Номенклатура
Объект = Камни в ассортименте (Номенклатура)
Обработчик = ПередВыгрузкойОбъектаВыборки
ОписаниеОшибки = Метод объекта не обнаружен (ЭтоГруппа)
ПозицияМодуля = (1)
КодСообщения = 33


Я посмотрел действительно, этот элемент не является группой. Никак не додуплю как выгрузить нужную группу ?

Сообщение отредактировал logist - 06.08.13, 12:31

logist Подменю пользователя
сообщение 06.08.13, 12:35
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(kosalex @ 06.08.13, 12:52) *
Метод объекта не обнаружен (ЭтоГруппа)

Ни о чем не говорит? ЭтоГруппа - это свойство, а не метод
Если Объект.ЭтоГруппа Тогда


Signature
Личные бесплатные консультации не даю, для этого есть форум!

kosalex Подменю пользователя
сообщение 06.08.13, 12:57
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Не выгружается как хочется ((



хочу выгрузить полностью структуру папок как показано на рисунке.

ТМЦ -> Продукция 26 -> Изделия из золота -> Изделия из золота с драг камнями -> Элементы папки.



Если НЕ Объект.ЭтоГруппа  = "Изделия из золота с ситнетическими вставками" Тогда
    
Отказ = Истина;    
    
КонецЕсли;



Не получается....

может нужно создать ручками такую же структуру папок в конфигурации в которую выгружаю?

Наставьте на путь истинный!


Vofka Подменю пользователя
сообщение 06.08.13, 13:07
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

kosalex, faceoff.gif

Если НЕ Объект.Наименование  = "Изделия из золота с ситнетическими вставками" Тогда
    
Отказ = Истина;    
    
КонецЕсли;

kosalex Подменю пользователя
сообщение 06.08.13, 13:11
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

или так

СсылкаНаГруппу = Справочники.Номенклатура.НайтиПоНаименованию("Изделия из золота с драгоценными камнями");

Если Не Объект.ПринадлежитЭлементу(СсылкаНаГруппу) Тогда
  Отказ = Истина;
КонецЕсли;


Сори за глупые вопросы) Учусь же)) Скоро будут умные ответы))

kosalex Подменю пользователя
сообщение 06.08.13, 21:07
Сообщение #6

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Ничего не выгружается((

СсылкаНаГруппу1 = Справочники.Номенклатура.НайтиПоНаименованию("Изделия из золота с драгоценными камнями");
СсылкаНаГруппу2 = Справочники.Номенклатура.НайтиПоНаименованию("Изделия из золота с ситнетическими вставками");

Если НЕ Объект.ПринадлежитЭлементу(СсылкаНаГруппу2) Тогда
  Отказ = Истина;
КонецЕсли;

Если НЕ Объект.ПринадлежитЭлементу(СсылкаНаГруппу1) Тогда
  Отказ = Истина;
КонецЕсли;

logist Подменю пользователя
сообщение 06.08.13, 21:19
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Если Объект.ПринадлежитЭлементу(СсылкаНаГруппу2) ИЛИ Объект.ПринадлежитЭлементу(СсылкаНаГруппу1) Тогда
  // Объект входит в эти группы и можно с ним что-то делать
Иначе
  // Объект не входит в эти группы
КонецЕсли;


Я бы на вашем месте использовать НайтиПоКоду, вместо наименования, это железно выберет что надо.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

kosalex Подменю пользователя
сообщение 06.08.13, 21:28
Сообщение #8

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Можете объяснить чем логика вашего условия отличается от моего?

logist Подменю пользователя
сообщение 06.08.13, 21:36
Сообщение #9

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Да в принципе ничем. Не понятна роль "Отказа" в вашем коде, возможно он вызывает Отказ для исполнения всей процедуры поэтому ничего и не происходит.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

kosalex Подменю пользователя
сообщение 06.08.13, 21:46
Сообщение #10

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Проверял в конфигураторе этот код. Шагает как надо)
Изменил на НайтиПоКоду, вроде пошло выгружаться.

Кодга так написано,работает, стоит добавить ещё одно условие перестаёт выгружать. Пробовал и с вашим условием.
СсылкаНаГруппу1 = Справочники.Номенклатура.НайтиПоНаименованию("Изделия из золота с драгоценными камнями");

Если НЕ Объект.ПринадлежитЭлементу(СсылкаНаГруппу1) Тогда
  Отказ = Истина;
КонецЕсли;



Можно же как то запросом выбрать то что мне нужно, правильно? Быстрее же будет)


logist, всё таки вы правы, если два отказа то ничего не выгрузиться...

странно что в конфигураторе шагает на второй отказ.

logist Подменю пользователя
сообщение 07.08.13, 7:22
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(kosalex @ 06.08.13, 22:46) *
странно что в конфигураторе шагает на второй отказ.

Потому что Отказ срабатывает в конце процедуры, процедура выполняется полностью, а уже потом происходит отмена результатов ее выполнения.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

andogskiy Подменю пользователя
сообщение 05.11.14, 19:21
Сообщение #12

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Из: Россия
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(kosalex @ 06.08.13, 23:07) *
Ничего не выгружается((

СсылкаНаГруппу1 = Справочники.Номенклатура.НайтиПоНаименованию("Изделия из золота с драгоценными камнями");
СсылкаНаГруппу2 = Справочники.Номенклатура.НайтиПоНаименованию("Изделия из золота с ситнетическими вставками");

Если НЕ Объект.ПринадлежитЭлементу(СсылкаНаГруппу2) Тогда
  Отказ = Истина;
КонецЕсли;

Если НЕ Объект.ПринадлежитЭлементу(СсылкаНаГруппу1) Тогда
  Отказ = Истина;
КонецЕсли;

Только наткнулся на эту тему.
У Вас 2 условия, которые не могут выполняться одновременно (если, конечно, одна из групп не подчинена другой). Поэтому Отказ всегда будет равен Истина.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 3:28
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!