Имя: Пароль:
1C
1С v8
Очиста табл части
0 aguilar
 
24.03.13
14:23
Как можно очистить табл. часть документа,для текущего элемента,вот код
Процедура ПоступлениеПрокатаПоступлениеДокументаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Экспорт
     
    Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда


       
       СтандартнаяОбработка = Ложь;
       Элемент.Значение = ВыбранноеЗначение.Документ;
       Таблица = ВыбранноеЗначение.Таблица;
       Для Каждого СтрокаТаблицы Из Таблица Цикл
           Для н=1 По СтрокаТаблицы.Количество Цикл
               НоваяСтрока = ОбъектыПроката.Добавить();
               НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
               НоваяСтрока.ПереченьОбъектаПроката = СтрокаТаблицы.ПереченьОбъектовПроката;
               НоваяСтрока.ПредельноДопустимоеКоличествоПередач = СтрокаТаблицы.ПереченьОбъектовПроката.ПредельноДопустимоеКоличествоПередачОбъектаВПрокат;
               НоваяСтрока.НачальноеКачествоОбъектаПроката = Перечисления.Качество.ОтличноеКачество;
               НоваяСтрока.Жанр = СтрокаТаблицы.ПереченьОбъектовПроката.ЖанрФильма;
               НоваяСтрока.ВозрастныеОграничения = СтрокаТаблицы.ПереченьОбъектовПроката.ВозрастныеОграничения;
               НоваяСтрока.ГодИзготовления = СтрокаТаблицы.ПереченьОбъектовПроката.ГодИзготовления;
               НоваяСтрока.СтранаИзготовитель = СтрокаТаблицы.ПереченьОбъектовПроката.СтранаИзготовления;
                  НоваяСтрока.Длительность = СтрокаТаблицы.ПереченьОбъектовПроката.Длительность;
               НоваяСтрока.ЦенаЗаОдниСуткиВПрокат = СтрокаТаблицы.ПереченьОбъектовПроката.ЦенаЗаОдниСуткиВПрокат;
           КонецЦикла;        
       КонецЦикла;
           ЭлементыФормы.ПоступлениеПроката.ТекущиеДанные.ЧастичноОприходован = Истина;                

   
       Элемент.Значение = ВыбранноеЗначение.Документ;
   Иначе    
       Для Каждого СтрокаТаблицы Из ВыбранноеЗначение.ОбъектыПроката Цикл
           Для н=1 По СтрокаТаблицы.Количество Цикл
               Если СтрокаТаблицы.Пометка = Ложь Тогда
                  НоваяСтрока = ОбъектыПроката.Добавить();
                 НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
               НоваяСтрока.ПереченьОбъектаПроката = СтрокаТаблицы.ПереченьОбъектовПроката;
               НоваяСтрока.ПредельноДопустимоеКоличествоПередач = СтрокаТаблицы.ПереченьОбъектовПроката.ПредельноДопустимоеКоличествоПередачОбъектаВПрокат;
               НоваяСтрока.НачальноеКачествоОбъектаПроката = Перечисления.Качество.ОтличноеКачество;
               НоваяСтрока.Жанр = СтрокаТаблицы.ПереченьОбъектовПроката.ЖанрФильма;
               НоваяСтрока.ВозрастныеОграничения = СтрокаТаблицы.ПереченьОбъектовПроката.ВозрастныеОграничения;
               НоваяСтрока.ГодИзготовления = СтрокаТаблицы.ПереченьОбъектовПроката.ГодИзготовления;
               НоваяСтрока.СтранаИзготовитель = СтрокаТаблицы.ПереченьОбъектовПроката.СтранаИзготовления;
                  НоваяСтрока.Длительность = СтрокаТаблицы.ПереченьОбъектовПроката.Длительность;
               НоваяСтрока.ЦенаЗаОдниСуткиВПрокат = СтрокаТаблицы.ПереченьОбъектовПроката.ЦенаЗаОдниСуткиВПрокат;
               КонецЕсли;
           КонецЦикла;                
       КонецЦикла;
           Если ЭлементыФормы.ПоступлениеПроката.ТекущаяСтрока = NULL Тогда
               Возврат
           Иначе
               ЭлементыФормы.ПоступлениеПроката.ТекущиеДанные.ДанныеВТаблице = Истина;
           КонецЕсли;

            оДокумент = ВыбранноеЗначение.ПолучитьОбъект();
            оДокумент.Оприходован = Истина;
            оДокумент.ЧастичноОприходован = Ложь;
            оДокумент.Записать();
           
           
   КонецЕсли;  
   
КонецПроцедуры

Скрыть


в первом массиве для частичного оприходования,нужно чтобы очищались данные для текущего элемента.Если пишу ОбъектыПроката.Очистить(); То очищается все для всех.
1 Мимохожий Однако
 
24.03.13
15:16
Создай массив с нужными строками и загружай в ТЧ после очистки.
2 kosts
 
24.03.13
15:49
(0) Открой для себя ЗаполнитьЗначенияСвойств()