Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обмен номенклатуры между БСО и УСО
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Конфигурация "1С:Конвертация данных"
igmig65
Подскажите как правильно организовать перенос номенклатуры между конфигурациями Бухгалтерий строй.орг. и Управление строй.орг. Дело в том что и там и там есть справочник Кассификатор ед.изм., но в УСО есть еще и спр. ЕдиницыИзмерения, подчиненный Номенклатуре, а в БСО его нет, там в Номенклатуре есть таб.часть ЕдиницыИзмерения, которой соответственно уже нет в УСО.
Я предполагаю что можно организовать при переносе номенклатуры, при загрузке классификатора, в обработчике создавать новые Единицы измерения, с соответствующим подчинением в УСО, только не знаю в каком именно, и как правильно это сделать в обработчике..
Плиз, подскажите, или толкните в правильную сторону.
Я так думаю, что правильно организовав обмен с номенклатурой, тогда и документы с номенклатурой перенесутся корректно, а то счета перенеслись без ед.изм.
igmig65
Люди, ну подскажите возможно ли организовать чтобы при обмене из БСО в УСО при загрузке создавалась новая единица измерения на основе базовой, с привязкой к владельцу в УСО, так как в БСО выгружаются только классификаторы.
igmig65
Создал правило для Номенклатуры, написал в обработчике После загрузки для объекта:
Цитата
НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НайденнаяЕдиницаОбъект.Наименование = Ссылка.БазоваяЕдиницаИзмерения.Наименование;
НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = Ссылка.БазоваяЕдиницаИзмерения;
НайденнаяЕдиницаОбъект.Коэффициент = 1;
НайденнаяЕдиницаОбъект.Владелец = Ссылка;
НайденнаяЕдиницаОбъект.Записать();

Пишет: Значение не является значением объектного типа (Наименование),
пробовал вместо Ссылка Объект, то же самое, подскажите что не так делаю...
Обработчик срабатывает до записи объекта, тогда, если объект не найден то Ссылка будет пустая, а сам объект не записан. Как же тогда записать и сам элемент номенклатуры и после записать для него подчиненную единицу = базовой. Ни могу врубиться как сделать, думаю что можно, а как?....
Помогите плиз..
andr_andrey
igmig65 @ 17.08.19, 23:17 необходимо зарегистрироваться для просмотра ссылки ,
Да, вы правы - объект ещё не записан, надо выбирать другие события. Например, "Конвертация. После загрузки данных"
sava1

Объект.Записать();
// тут ищем Единицу измерения.....
// если ее нет - тогда Ваш код (только Ссылка = Объект.Ссылка)
    Объект.БазоваяЕдиница.... = НайденнаяЕдиницаОбъект.Ссылка;
    Объект.Записать();
КонецЕсли;
ОбъектМодифицирован = Ложь;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.