Имя: Пароль:
1C
 
Перенос Номенклатуры из БП 3.0 в КА 1.1
0 Marry04
 
31.03.17
08:59
Сделала правила Кд в 2.0 для переноса из БП 3.0- КА 1.1. В справочнике нноменклатура в БП 3.0 отсутствуют такие реквизиты как Единицы хранения остатков и единицы для отчетов. В КА 1.1 Справочник перенес базовую единицу измерения, а две другие соответственно не подгрузил.
Групповой обработкой пыталась изменить базовую единицу ( чтобы автоматом два эти реквизита встали)и перезаписать номенклатуру - вылетает ошибка транзакции.
Как поступить лучше? Или добавить обработчик в ПКО для Номенклатуры?Помогите пожалуйста
1 azt-yur
 
31.03.17
09:05
(0) скопируй код из КА из номенклатуры перед записью, где создаются ед.изм. и вставь в обработчик ПКО ПослеЗагрузки
2 Marry04
 
31.03.17
10:19
(1) Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если ЭтоГруппа Тогда
        ПрошлыйИзмененныйРодительОбъектаДоступа = ?(Не ЭтоНовый() и Не Ссылка.Родитель = Родитель, Ссылка.Родитель, Неопределено);
        НастройкаПравДоступа.ПередЗаписьюНовогоОбъектаСПравамиДоступаПользователей(ЭтотОбъект, Отказ, Родитель);
        
    Иначе
        
        Если НЕ ЗначениеЗаполнено(ЕдиницаДляОтчетов) Тогда
            ЕдиницаДляОтчетов = ЕдиницаХраненияОстатков;
        КонецЕсли;
        
        Услуга   = (ВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга);
        Набор    = (ВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Набор);
        Комплект = (ВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Комплект);

        Если Услуга ИЛИ Набор Тогда
            ВестиУчетПоХарактеристикам = Ложь;
        КонецЕсли;

        Если ВидНоменклатуры.ТипНоменклатуры <> Перечисления.ТипыНоменклатуры.Товар Тогда
            
            ВестиУчетПоСериям                  = Ложь;
            ВестиПартионныйУчетПоСериям      = Ложь;
            Весовой                          = Ложь;
            ВестиОперативныйУчетОстатковНЗП  = Ложь;
            ВестиУчетПоСериямВНЗП              = Ложь;
            ВестиСерийныеНомера              = Ложь;

            НомерГТД                         = Неопределено;
            СтранаПроисхождения              = Неопределено;
            НазначениеИспользования          = Неопределено;
            ПорядокПрисвоенияСерийногоНомера = Неопределено;
            НаправлениеВыпуска               = Неопределено;
            
        КонецЕсли;
        
    КонецЕсли;
    
Скопировала код. ругается на Вовзврат- убрала его. сейча ругается на ЭТОГРуппа - убрала.ЕдиницаДляОтчетов -  следующее на что он ругается. .
3 azt-yur
 
31.03.17
10:24
ЭТОГРуппа, ЕдиницаДляОтчетов - это у вас реквизиты объекта, которые в коде объекта и так доступны, а в конвертации вам надо везде к ним приписать "Объект."
И это не весь код, который вам нужен, ищите где именно создаются ед.изм.
4 Marry04
 
31.03.17
11:07
(3) пытаюсь отладчиком отследить процедуру создания ЕИ. создаю новую номенклатуру и вылазиет след.ошибка:
Не удалось записать единицу хранения остатков: {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(1406)}: Ошибка при вызове метода контекста (Записать): Значение "999" поля "Код" не уникально
все коды уникальные..
5 vicof
 
31.03.17
11:12
(4) Выбери запросом и посмотри,зуб даю, что код не уникален
6 azt-yur
 
31.03.17
11:16
(4) скорей всего есть единица с кодом "999      " и следующий номер уже не может вставить. Сделайте перенумерацию справочника единиц измерений