Имя: Пароль:
1C
 
Перенос Классификатора единиц измерения в единицы измерения (БП3.0 ->УТ 10.3)
, ,
0 kIR
 
28.01.16
16:50
Добрый день!
Пишу перенос поступлений из БП 3.0 в оприходование УТ 10.3
В БП в ПТиУ в "товарах" единица измерения имеет тип "Классификатор единиц измерения", а УТ 10.3 единица измерения имеет тип как раз "Единица измерения"
Никак не могу разобраться,как перенос этого написать.
Может кто делал уже и поделится мудростью?

Спасибо
1 nesmen
 
28.01.16
16:57
может я  ошибаюсь конечно открой справочник единицы хранения
там есть класификатор едениц хранения просто ед. хранения под каждую номенклатуру
2 nesmen
 
28.01.16
16:59
*единицы измерения
3 kIR
 
28.01.16
17:13
(1) (2) ед.хранения создается для каждой номенклатуры,а классификатор - один на всех.и как программно при загрузке создать эту единицу хранения?
4 nesmen
 
28.01.16
17:18
ем
что то типа
СпрЕдИзм = Справочники.КлассификаторЕдиницИзмерения;
    НайденныйКлассификаторЕдИзм = СпрЕдИзм.НайтиПоКоду(Код);
    
    НовыйЕдиницыИзмерения =  Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    НовыйЕдиницыИзмерения.ЕдиницаПоКлассификатору = НайденныйКлассификаторЕдИзм;
5 nesmen
 
28.01.16
17:19
Владелец - номенклатура
и т.д.
6 kIR
 
28.01.16
18:14
(4) все равно не получается...что то не так делаю((
7 nesmen
 
28.01.16
18:17
(6) код покажи
8 Михаил Козлов
 
28.01.16
18:41
1. Поискать в классификаторе единицу из БП (по коду). Если нет - создать.
2. Для каждой номенклатуры поискать в подчиненном справочнике ЕдиницыИзмерения единицу с ЕдиницаПоКлассификатору = той, что найдена (или создана) в 1. Если нет - создать с коэффициентом = 1 (не забыть указать владельца).
3. Количество из БП пересчитать в количество в УТ используя коэффициент единицы из 2.

А с номенклатурой Вы уже разобрались?
9 kIR
 
29.01.16
09:18
(8) Как то так и представлял себе,спасибо) Я правильно понимаю,что все это желается в обработчике при загрузке документа поступление? или конкретное правило переноса единиц писать?

И что не так с номенклатурой?
10 kIR
 
29.01.16
11:03
(6) как то так
ПКО ""Классификатор ед изм -> Ед изм", после загрузки

СпрЕдИзм = Справочники.ЕдиницыИзмерения;
НайденныйКлассификаторЕдИзм = СпрЕдИзм.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",Объект);
Если НЕ ЗначениеЗаполнено(НайденныйКлассификаторЕдИзм) Тогда
    НовыйЕдиницыИзмерения =  Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    НовыйЕдиницыИзмерения.ЕдиницаПоКлассификатору = объект;
    НовыйЕдиницыИзмерения.Наименование = Объект.Наименование;
    НовыйЕдиницыИзмерения.Коэффициент = 1;
    НовыйЕдиницыИзмерения.Записать();
КонецЕсли;
11 Михаил Козлов
 
29.01.16
11:29
(10) Классификатор в справочник единиц измерения (подчинен справочнику Номенклатура) конвертировать не нужно.
Вам нужно позаботиться о создании нужных единиц измерения при переносе ПТиУ из БУХ в оприходование в УТ.
Мне, правда, непонятно, зачем ПТиУ переносить в оприходование: взаиморасчетов при этом не возникнет.
12 hhhh
 
29.01.16
11:34
(10) где владелец у этой единицы измерения? И проверьте, точно ли вы для каждой номенклатуры завели единицу?

вот этот бред

СпрЕдИзм.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",Объект);

не прокатит, вы получите одну единицу, а вам надо создать их десятки тысяч.
13 kIR
 
29.01.16
11:45
(11) а мне и не нужны суммы- ут используется на складе,мне важен количественный учет товаров
14 kIR
 
29.01.16
11:45
(12) прониксся,исправлюсь
15 kIR
 
29.01.16
12:34
Сделал ПослеЗагрузки при переносе номенклатуры.Не могу понять,как сюда передать единицу по классификатору


Если НЕ Объект.ЭтоГруппа Тогда
    
    ВыборкаЕдиниц = Справочники.ЕдиницыИзмерения.Выбрать(, Объект.Ссылка);
    Если ВыборкаЕдиниц.Следующий() Тогда
        НайденнаяЕдиница = ВыборкаЕдиниц.Ссылка;
    Иначе
        НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
        НайденнаяЕдиницаОбъект.Наименование            = СокрЛП(Объект.БазоваяЕдиницаИзмерения);
        НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = ???;
        НайденнаяЕдиницаОбъект.Коэффициент             = 1;
        НайденнаяЕдиницаОбъект.Владелец                = Объект.Ссылка;
        НайденнаяЕдиницаОбъект.УстановитьНовыйКод();
        
        НайденнаяЕдиницаОбъект.Записать();
    КонецЕсли;
    НайденнаяЕдиница = НайденнаяЕдиницаОбъект.Ссылка;
    
    Объект.ЕдиницаИзмерения = НайденнаяЕдиница;
КонецЕсли;
16 kIR
 
29.01.16
12:46
(15)ну и с базовой погорячился,но это дело 10е
17 Михаил Козлов
 
29.01.16
13:57
(15) Единицы по классификатору возникают только в документе.
Если хотите, чтобы в УТ единицы были такие же, как в БП, то либо менять единицу по классификатору у единицыХраненияОстатков, либо добавлять единицы измерения у номенклатуры. В БП единицы никакой роли не играют - только для визуального контроля.
18 kIR
 
29.01.16
14:21
(17) ну я хотел создать единицу измерения в ут с таким де неименованием и ЕдиницейПоКлассификатору,как и в БП
19 Михаил Козлов
 
29.01.16
17:38
(18) Ну так поменяйте единицу хранения остатков (единицу по классификатору и наименование) при конвертации документа.