Версия для печати темы (https://pro1c.org.ua/index.php?s=1a0b4985a99e1758151d9661bc9902db&showtopic=53390)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Конфигурация "1С:Конвертация данных" _ Обмен номенклатуры между БСО и УСО

Автор: igmig65 03.08.19, 1:21

Подскажите как правильно организовать перенос номенклатуры между конфигурациями Бухгалтерий строй.орг. и Управление строй.орг. Дело в том что и там и там есть справочник Кассификатор ед.изм., но в УСО есть еще и спр. ЕдиницыИзмерения, подчиненный Номенклатуре, а в БСО его нет, там в Номенклатуре есть таб.часть ЕдиницыИзмерения, которой соответственно уже нет в УСО.
Я предполагаю что можно организовать при переносе номенклатуры, при загрузке классификатора, в обработчике создавать новые Единицы измерения, с соответствующим подчинением в УСО, только не знаю в каком именно, и как правильно это сделать в обработчике..
Плиз, подскажите, или толкните в правильную сторону.
Я так думаю, что правильно организовав обмен с номенклатурой, тогда и документы с номенклатурой перенесутся корректно, а то счета перенеслись без ед.изм.

Автор: igmig65 17.08.19, 20:14

Люди, ну подскажите возможно ли организовать чтобы при обмене из БСО в УСО при загрузке создавалась новая единица измерения на основе базовой, с привязкой к владельцу в УСО, так как в БСО выгружаются только классификаторы.

Автор: igmig65 17.08.19, 22:17

Создал правило для Номенклатуры, написал в обработчике После загрузки для объекта:

Цитата
НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НайденнаяЕдиницаОбъект.Наименование = Ссылка.БазоваяЕдиницаИзмерения.Наименование;
НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = Ссылка.БазоваяЕдиницаИзмерения;
НайденнаяЕдиницаОбъект.Коэффициент = 1;
НайденнаяЕдиницаОбъект.Владелец = Ссылка;
НайденнаяЕдиницаОбъект.Записать();

Пишет: Значение не является значением объектного типа (Наименование),
пробовал вместо Ссылка Объект, то же самое, подскажите что не так делаю...
Обработчик срабатывает до записи объекта, тогда, если объект не найден то Ссылка будет пустая, а сам объект не записан. Как же тогда записать и сам элемент номенклатуры и после записать для него подчиненную единицу = базовой. Ни могу врубиться как сделать, думаю что можно, а как?....
Помогите плиз..

Автор: andr_andrey 19.08.19, 11:09

igmig65 @ 17.08.19, 23:17 * ,
Да, вы правы - объект ещё не записан, надо выбирать другие события. Например, "Конвертация. После загрузки данных"

Автор: sava1 19.08.19, 11:26


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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua