Норма расхода на 1 изделия

Тема в разделе "1C и всё что с ней связано", создана пользователем ankam, 15 авг 2008.

  1. ankam

    ankam Гость

    Как было выше сказано создан справочник Изделия цеха с реквизитами "Цех"-Места храния, "Норма"-число,норма-это зарплата на одно изделия.к нему подчиненый справочник."НормырасходовМат" с реквизитами -"Материал"-справочник-материалы,Норма-число-это норма материала на 1 изд.Содан документ выпуск изделия, в модуле докумет
    Операция.НоваяПроводка();


    Процедура ОбработкаПроведения()

    Спр = СоздатьОбъект("Справочник.ИзделияЦеха");
    Мат = СоздатьОбъект("Справочник.НормыРасходовМатер");
    Материал = СоздатьОбъект("Справочник.Материалы");

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    Операция.НоваяПроводка();




    Операция.НоваяПроводка();



    Если Спр.НайтиПоКоду(Изделия.Код)=1 Тогда

    Мат.ИспользоватьВладельца(Спр.ТекущийЭлемет());
    Мат.ВыбратьЭлементы();
    Пока Мат.ПолучитьЭлемент() = 1 Цикл
    Если Материал.НайтиЭлемент(Мат.Материал) = 1 Тогда
    Операция.Д*цензура*.Счет=СчетПоКоду("ИЦМ");
    Операция.Д*цензура*.Материалы = Мат.Материал;
    Операция.Д*цензура*.ИзделияЦеха= Изделия;
    Операция.Д*цензура*.МестаХранения = ЦехВыпуска;
    Операция.Количество= Мат.Норма*Количество;
    Операция.Сумма=Материал.ПлановаяЦена*Количество;
    КонецЕсли;
    КонецЦикла;

    КонецЕсли;




    КонецЦикла;


    Операция.Записать();


    КонецПроцедуры
    Извините Вот вся прцедура проведения документа
    Проблема в том,что при проведение документа формируетмся одна проводка с учетом материала,хотя по идее должно формироватся столко проводок, склолько видов материала использовано,т.е. сколько позици в подчинении ,а в проводку кидается последнеи материал из подчиненго справочника
    Что я сделал нетак.
    Не сочтите за наглость, поскажите пожайлуста!!!
     
  2. Isabela

    Isabela Гость

    Операция.НоваяПроводка(); надо перенести в цикл
     
  3. kaa

    kaa Гость

    Процедура ОбработкаПроведения()

    Мат = СоздатьОбъект("Справочник.НормыРасходовМатер");

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    Мат.ИспользоватьВладельца(Изделия);
    Мат.ВыбратьЭлементы();
    Пока Мат.ПолучитьЭлемент() = 1 Цикл
    Операция.НоваяПроводка();
    Операция.Д*цензура*.Счет=СчетПоКоду("ИЦМ");
    Операция.Д*цензура*.Материалы = Мат.Материал;
    Операция.Д*цензура*.ИзделияЦеха= Изделия;
    Операция.Д*цензура*.МестаХранения = ЦехВыпуска;
    Операция.Количество= Мат.Норма*Количество;
    Операция.Сумма=Материал.ПлановаяЦена*Количество;
    КонецЦикла;
    КонецЦикла;
    Операция.Записать();


    КонецПроцедуры
     
  4. ankam

    ankam Гость

    Спасибо всем за уделенное время.Спасибо Isabela.Я нашел ошибку.Вы были правы
     
Загрузка...

Поделиться этой страницей