Отказ от проведения по причине
Если ФлагОтказа=1 Тогда
Сообщить("Документ Наряд на сборку №"+НомерДок+"
|от "+ДатаДок+" не проведен.
|Заказ по вышеперечисленным позициям
|превышает остаток на складе");
НеПроводитьДокумент();
Возврат;
КонецЕсли;
// Отказ от проведения по причине нехватки комплектующих
ТабЗн.УдалитьСтроки();
ТабЗн="";
ТабПар=СоздатьОбъект("ТаблицаЗначений");
ТабПар.НоваяКолонка("Док","Документ.ПриходнаяНакладная");
ТабПар.НоваяКолонка("Кол","Число",10,0);
ТабПар.НоваяКолонка("Сум","Число",14,2);
СуммаОпер=0;
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл // По Изделию
// Обходим строки
НС=НомерСтроки;
Изд=Изделие;
СпрКом.ИспользоватьВладельца(Изделие);
СпрКом.ВыбратьЭлементы();
Пока СпрКом.ПолучитьЭлемент()=1 Цикл // По Комплектующей
// Обходим комплектующие
Колич=Кол;
Ком=СпрКом.ТекущийЭлемент().Комплектующее;
БухИтоги.ИспользоватьСубконто(ВидыСубконто.МестоХранения,Склад,2);
БухИтоги.ИспользоватьСубконто(ВидыСубконто.Комплектующее,Ком,2);
БухИтоги.ИспользоватьСубконто(ВидыСубконто.ПриходнаяНакладная,,1);
БухИтоги.ВыполнитьЗапрос(,ДатаДок,"10.2");
ТабПар.УдалитьСтроки();
БухИтоги.ВыбратьСубконто(3);
// Выбираем только третье!!! субконто
Пока БухИтоги.ПолучитьСубконто(3)=1 Цикл
// Определяем партии
ДокП=БухИтоги.Субконто(3);
КолП=БухИтоги.СКД(3);
СумП=БухИтоги.СКД(1);
ТабПар.НоваяСтрока();
ТабПар.Док=ДокП;
Содержание Назад Вперед