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

  • Автор темы Автор темы ankam
  • Дата начала Дата начала
A

ankam

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


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

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

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




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



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

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

КонецЕсли;




КонецЦикла;


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


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

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

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


КонецПроцедуры
 
Спасибо всем за уделенное время.Спасибо Isabela.Я нашел ошибку.Вы были правы
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!