Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > 8.1 Процедура ввода на основании


Автор: Ierror 9.1.2011, 00:29
Есть документ "Экспертиза" в котором в каждой строке табличной части товары, создаются и записываются 2 (иногда одна) позиции спр. номенклатура. http://zalil.ru/30287769 
Теперь мне нужно, чтобы на основании моего документа можно было вводить два документа "ПоступлениеТоваровУслуг" (один - если ТекСтрокаТовары.РезультатЭкспертизы=Перечисления.ДиП_РезультатыЭкспертизы.НаРеставрацию, второй - если ...ВЛом)
Пока есть такая процедура общая для 2х результатов экспертизы:

Цитата

Если ТипЗнч(Основание) = Тип("ДокументСсылка.ДиП_Экспертиза") Тогда
    Организация = Основание.Организация;
    Ответственный = Основание.Ответственный;
    Склад = Основание.Склад;
Для Каждого ТекСтрокаТовары Из Основание.Товары Цикл
Если ТекСтрокаТовары.РезультатЭкспертизы=Перечисления.ДиП_РезультатыЭкспертизы.НаРеставрацию Или ТекСтрокаТовары.РезультатЭкспертизы=Перечисления.ДиП_РезультатыЭкспертизы.ВЛом Тогда
 НоваяСтрока = Товары.Добавить();
 НоваяСтрока.Количество = ТекСтрокаТовары.ВесЧистый;
 НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
 НоваяСтрока.Сумма = ТекСтрокаТовары.СуммаОценки;
 НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
            
Если ЗначениеЗаполнено(ТекСтрокаТовары.Номенклатура2) Тогда    
 НоваяСтрока = Товары.Добавить();
 НоваяСтрока.Количество = ТекСтрокаТовары.ВесБриллиантов;
 НоваяСтрока.Номенклатура =ТекСтрокаТовары.Номенклатура2;
 НоваяСтрока.Сумма = ТекСтрокаТовары.СуммаБриллиантов;
КонецЕсли; 
КонецЕсли;    
КонецЦикла;
КонецЕсли;


Временно ввожу один результат экспертизы через ОприходованиеТоваров, 2й- через ПоступлениеТоваровУслуг.
В мыслях добавить новый элемент панели ввода на основании и написань процедуру в док. Экспертиза, что-то вроде этого:

Цитата

Процедура ДействияФормыПоступлениеТоваровЛом(Кнопка)

Документы.ПоступлениеТоваровУслуг.ПолучитьФорму("ФормаДокумента").Открыть();
Для Каждого ТекСтрокаТовары Из Товары Цикл
Если ТекСтрокаТовары.РезультатЭкспертизы=Перечисления.ДиП_РезультатыЭкспертизы.ВЛом Тогда
НоваяСтрока=Документы.ПоступлениеТоваровУслуг.ПолучитьФорму("ФормаДокумента").ЭлементыФормы.Товары.Добавить();
НоваяСтрока.Номенклатура =ТекСтрокаТовары.Номенклатура;
......................
КонецЕсли;
КонецЦикла;

КонецПроцедуры



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)