Имя: Пароль:
1C
1С v8
8.3 УФ, Удалить строку из ТЧ документа по условию
0 palpetrovich
 
29.02.16
13:22
типа
Если Товар = Перечисления.ВидыНоменклатуры.Материал Тогда

собствеено вопрос по технике
1 удалять из объекта "на сервере"?  (а если док не записан)
2 обновить форму "на клиенте"

так?
1 FIXXXL
 
29.02.16
13:31
удаляй из формы наСервере
2 DmitrO
 
29.02.16
13:32
Можно на сервере (в контекстной процедуре), можно на клиенте используя
Если Товар = ПредопределенноеЗначение("Перечисление.ВидыНоменклатуры.Материал") Тогда

Форма сама обновится в любом случае.
3 palpetrovich
 
29.02.16
13:49
(1) (2) так получилось, (2) а как НаКлиенте удалить строку?

(&НаКлиенте
Процедура МатериалыПриИзменении(Элемент)
    
    СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
    Если НЕ СтрокаТабличнойЧасти.Товар = ПредопределенноеЗначение("Перечисление.ВидыНоменклатуры.Материал") Тогда        
        Сообщить(""+СтрокаТабличнойЧасти.Товар+" это не товар!");
        УдалитьСтроку(СтрокаТабличнойЧасти.НомерСтроки-1);
        Возврат;
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура УдалитьСтроку(НомерСтрокиТабличнойЧасти)
    Объект.Товары.Удалить(НомерСтрокиТабличнойЧасти);
КонецПроцедуры
)
4 palpetrovich
 
29.02.16
13:52
+(3) и да, (1) (2)  - спасибо! :)
5 DmitrO
 
29.02.16
13:55
Объект.Товары.Удалить(СтрокаТабличнойЧасти.НомерСтроки-1);
что мешает сделать так?
6 DmitrO
 
29.02.16
13:56
(5)+ на клиенте
7 palpetrovich
 
29.02.16
14:09
(5) на этот код
&НаКлиенте
Процедура МатериалыПриИзменении(Элемент)
    СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
    Если НЕ СтрокаТабличнойЧасти.Товар = ПредопределенноеЗначение("Перечисление.ВидыНоменклатуры.Материал") Тогда        
        Сообщить(""+СтрокаТабличнойЧасти.Товар+" это не товар!");
        //УдалитьСтроку(СтрокаТабличнойЧасти.НомерСтроки-1);
        Объект.Товары.Удалить(СтрокаТабличнойЧасти.НомерСтроки-1);
        Возврат;
    КонецЕсли;
КонецПроцедуры

сообщение "это не товар" выскакивает сразу  после нажатия кнопки "Добавить", даже не заходя в выбор элемента :)
8 palpetrovich
 
29.02.16
14:16
+(7)  в общем ошибка моя, вместо
ТоварыМатериалПриИзменении(Элемент)
я втулил
МатериалыПриИзменении(Элемент)
т.е. процедурка для всей таблички :)

спасибо