Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите установить параметр "ЕдиницаХраненияОстатков"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
maxy3d
Платформа 8.2.16.368
"Управление торговым предприятием для Украины", редакция 1.2.
Разработка конфигурации: "ABBYY Ukraine", 2007-2011 (1.2.8.7)

Добрый день. Есть задача: "Установить "ЕдиницаПоКлассификатору", "Наименование" (единицы), и "Коэффициент" для каждого элемента в справочнике "Номенклатура"! Трудность у меня возникает в том, не знаю каким образом добавить строку с этими данными в элемент спр. "Номенклатура" на закладку "Единицы", откуда и будет браться информация для установки значения "ЕдиницаХраненияОстатков".
Если пишу так:
Спр = Справочники.Номенклатура; 
СпрЕд = Справочники.ЕдиницыИзмерения;
СпрКлас = Справочники.КлассификаторЕдиницИзмерения;
    
ЕдинИзм = СпрЕд.НайтиПоКоду(001);
СпрКлас = СпрЕд.НайтиПоКоду(001);

Выборка = Спр.Выбрать();
Пока выборка.Следующий() = 1 Цикл
        Если ЗначениеЗаполнено(выборка.ЕдиницаХраненияОстатков) Тогда
            Продолжить;
        Иначе
            выборка.ЕдиницаХраненияОстатков = ЕдинИзм.Ссылка;
            выборка.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору = СпрКлас.Ссылка;
            выборка.ЕдиницаХраненияОстатков.Коэффициент = "1";
            выборка.ЕдиницаХраненияОстатков.Наименование = "шт";
            Выборка.ЕдиницаДляОтчетов = ЕдинИзм.Ссылка;
            Выборка.ИзмеряетсяТолькоВСуммовомВыражении = Истина;
            Выборка.СтавкаНДС = Перечисления.СтавкиНДС.НДС20;
            Если Выборка.СтатьяЗатрат.Пустая() Тогда
                Выборка.СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоКоду("100000003");
            КонецЕсли;
            Выборка.УровеньВВыборке()
        КонецЕсли;
КонецЦикла;


Получпю ОШИБКУ : "ЕдиницаХраненияОстатков" Не доступна для записи!
Подскажите, как возможно учтановить "Выборка.ЕдиницаХраненияОстатков"?


 ! 

Правила п.5.
Последнее предупреждение!
 
logist
Неудачная попытка приспособить семерошный код к восьмерке...

upd: проявлю доброту, подскажу smile.gif надеюсь и вы все таки, проявите взаимность, ознакомитесь с правилами форума.

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    Номенклатура.Ссылка
               |ИЗ
               |    Справочник.Номенклатура КАК Номенклатура
               |ГДЕ
               |    Номенклатура.ЕдиницаХраненияОстатков = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)";
              
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    СпрОбъект = Выборка.Ссылка.ПолучитьОбъект();
    СпрЕдИзм = Справочники.ЕдиницыИзмерения.НайтиПоКоду(001,,,Выборка.Ссылка);
    Если СпрЕдИзм = Неопределено Тогда
        СпрЕдИзм = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
        СпрЕдИзм.ЕдиницаПоКлассификатору = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(001);
        СпрЕдИзм.Владелец = Выборка.Ссылка;
        СпрЕдИзм.Наименование = "шт";
        СпрЕдИзм.Коэффициент = 1;
        Попытка
            СпрЕдИзм.Записать();
        Исключение
            Сообщить(ОписаниеОшибки());
            Продолжить;
        КонецПопытки;
    КонецЕсли;
    
    СпрОбъект.ЕдиницаХраненияОстатков = СпрЕдИзм.Ссылка;
    СпрОбъект.ЕдиницаДляОтчетов = СпрЕдИзм.Ссылка;
    СпрОбъект.ИзмеряетсяТолькоВСуммовомВыражении = Истина;
    СпрОбъект.СтавкаНДС = Перечисления.СтавкиНДС.НДС20;
    
    Если Не ЗначениеЗаполнено(СпрОбъект.СтатьяЗатрат) Тогда
        СпрОбъект.СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоКоду("100000003");
    КонецЕсли;
    Попытка
        СпрОбъект.Записать();
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;    
КонецЦикла;
maxy3d
Извините за нарушения. Чес слово, не хотел. Спасибо за помощь!
maxy3d
Только начинаю учить 8-ку, потому много 7-шного "жаргона" )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.