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


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

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

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




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



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

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

КонецЕсли;




КонецЦикла;


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


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

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

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


КонецПроцедуры
ankam
Спасибо всем за уделенное время.Спасибо Isabela.Я нашел ошибку.Вы были правы
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.