Имя: Пароль:
1C
1С v8
Ввод внутреннего заказа из формы заказа на производство 8.2 УПП
0 discant
 
11.05.12
11:03
Здравствуйте!
Есть необходимость ввести внутренний заказ на основании заказа на производство так, чтобы ТЧ внутреннего заказа заполнялась элементами закладки материалы Заказа на производство с видом воспроизводства Покупка.
Собственно, такой код:
Заказ на производство:
Процедура ОбработкаЗаполнения(Основание)
   Если ТипЗнч(Основание) = Тип("ДокументСсылка.Событие") Тогда

       // Заполнение шапки
       ВремяНапоминания    = Основание.ВремяНапоминания;
       Комментарий         = Основание.Комментарий;
       НапомнитьОСобытии   = Основание.НапомнитьОСобытии;
       Ответственный       = Основание.Ответственный;

       ЗаполнитьДокументПоОснованиюУпр(Основание);
       
   ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
       
       // Заполним реквизиты из стандартного набора по документу основанию.
       ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(ЭтотОбъект, Основание);
       
       ЗаполнитьТабличнуюЧастьПоОстаткам(Продукция, Основание,истина);
       
   ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ВнутреннийЗаказ") Тогда
       
       // Заполним реквизиты из стандартного набора по документу основанию.
       ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(ЭтотОбъект, Основание);
       
       ЗаполнитьТабличнуюЧастьПоОстаткамВнутреннийЗаказ(Материалы, Основание,истина);
       
   ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказНаПроизводство") Тогда
       
       // Заполним реквизиты из стандартного набора по документу основанию.
       ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(ЭтотОбъект, Основание);
       ОсновнойЗаказНаПроизводство = Основание;
       
       ЗаполнитьПродукциюПоЗаказуНаПроизводство(Основание);
       
       ЗаполнитьМатериалыПоСпецификации(Материалы, "Материалы");
       
   КонецЕсли;
   
КонецПроцедуры
Внутренний заказ:
Процедура ОбработкаЗаполнения(Основание)
   Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказНаПроизводство") Тогда

       // Заполнение шапки
       ВремяНапоминания  = Основание.ВремяНапоминания;
       Комментарий       = Основание.Комментарий;
       НапомнитьОСобытии = Основание.НапомнитьОСобытии;
       Ответственный     = Основание.Ответственный;
       ДокументОснование = Основание;
       Организация      = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию( глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");
       Для Каждого ТекСтрокаМатериалы Из Основание.Материалы Цикл
       Если ТекСтрокаМатериалы.ВидВоспроизводства="Покупка" ТОГДА
       НоваяСтрока = Товары.Добавить();
       НоваяСтрока.Номенклатура = ТекСтрокаМатериалы.Номенклатура;
       НоваяСтрока.ХарактеристикаНоменклатуры = ТекСтрокаМатериалы.ХарактеристикаНоменклатуры;
       НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаМатериалы.ЕдиницаИзмерения;
       НоваяСтрока.ЕдиницаИзмеренияМест = ТекСтрокаМатериалы.ЕдиницаИзмеренияМест;
       НоваяСтрока.Количество = ТекСтрокаМатериалы.Количество;
       НоваяСтрока.КоличествоМест = ТекСтрокаМатериалы.КоличествоМест;
       НоваяСтрока.Коэффициент = ТекСтрокаМатериалы.Коэффициент;
КонецЕсли;
КонецЦикла;
       
       
   КонецЕсли;
   
КонецПроцедуры
Когда открываю сохраненный заказ на производство с заполненными Материалами, нажимаю Действия>На основании>Внутренний заказ, Форма внутреннего заказа открывается, но ничего не заполняется.
Что может быть не так?
1 Buster007
 
11.05.12
11:07
Если ТекСтрокаМатериалы.ВидВоспроизводства="Покупка" ТОГДА
там точно строка?
2 discant
 
11.05.12
11:10
Вид воспроизводства - это столбец строчки Тч Материалы.
3 gavrikprog
 
11.05.12
11:23
точно-точно надо было УПП модифицировать ? =)
4 gavrikprog
 
11.05.12
11:24
(3) мелочь конечно, на наФуя ?
5 discant
 
11.05.12
11:33
А как решить задачу?
6 Buster007
 
11.05.12
11:39
тяжелый случай.
У тебя условие выглядит примерно так
Если Железо = Дерево тогда
7 discant
 
11.05.12
11:51
Так как тогда сделать, чтобы заполнялось с видом воспроизводства "Покупка"?
8 discant
 
11.05.12
11:59
А если пока совсем убрать это условие?
9 discant
 
11.05.12
12:03
Или так
       Если ТекСтрокаМатериалы.ВидВоспроизводства =
Значение(Перечисление.ВидыВоспроизводства.Покупка) ТОГДА
Так?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший