Как проверить поле на наличие в СтрокаТабл?

1. user817897 2 17.12.19 10:40 Сейчас в теме
		Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("СкидкаАкция", МетаданныеДокумента,
			ИмяТабличнойЧасти) Тогда
				/////вот здесь оно уже считает что Поле есть и проходит этот этам дальше,как сделать проверку?			 
				СкидкаАкция = СтрокаТабличнойЧасти.СкидкаАкция;
			
		КонецЕсли;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ljn8320 17.12.19 10:50 Сейчас в теме
если СтрокаТабличнойЧасти соответствует ИмяТабличнойЧасти из МетаданныеДокумента, то ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента должна возвращать ложь, строка точно этой табличной части этого документа?
3. user817897 2 17.12.19 10:53 Сейчас в теме
(2)да,в СтрокаТабличнойЧасти её там тупо нет(
4. ljn8320 17.12.19 10:57 Сейчас в теме
(3) а чего нет? колонки нет или значения в этой колонке в этой строке?
5. user817897 2 17.12.19 11:00 Сейчас в теме
(4) Поле объекта не обнаружено))
6. ljn8320 17.12.19 11:07 Сейчас в теме
(5) так может в функцию ЕстьРеквизитТабЧастиДокумента передаются метаданные документа РеализацияТоваров и имя ТЧ "Товары" и там действительно есть реквизит СкидкаАкция, а в переменной СтрокаТабличнойЧасти у Вас сейчас строка, которая соответствует строке ТЧ Материалы документа ПоступлениеМатериалов
14. user817897 2 17.12.19 11:21 Сейчас в теме
(6)всё,наверное правильно понял что в строке:
сли ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ЗаказПокупателя") мне надо было сравнивать не ДокументОбъект,а
СтрокаТабличнойЧасти на Тип : ДокументТабличнаяЧастьСтрока.ЗаказПокупателя.Товары, и тогда бы было гуд.
Но вопрос номер два,почему в строке:
Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("СкидкаАкция", МетаданныеДокумента,
ИмяТабличнойЧасти) Тогда оно считает условие истиной во всех ситуациях,не пойму
7. ljn8320 17.12.19 11:08 Сейчас в теме
(5) в отладке вычисление выражения СтрокаТабличнойЧасти что показывает?
9. user817897 2 17.12.19 11:12 Сейчас в теме
(7)Свойство: СтрокаТабличнойЧасти
Значение : ДокументТабличнаяЧастьСтрока.ЗаказПокупателя.Товары
Тип:ДокументТабличнаяЧастьСтрока.ЗаказПокупателя.Товары
10. user817897 2 17.12.19 11:14 Сейчас в теме
(7) а вот если посмотреть в "Изменить", то там:

Значение: ОбработкаТабличнаяЧастьСтрока.ОбработкаТабличнойЧастиТовары.Товары
Тип ОбработкаТабличнаяЧастьСтрока.ОбработкаТабличнойЧастиТовары.Товары
11. user817897 2 17.12.19 11:14 Сейчас в теме
(10) и вот тут уже нету этого реквизита
8. user817897 2 17.12.19 11:09 Сейчас в теме
(4)дело было так:
В Заказе покупателя ссоздал Реквизит: СкидкаАкция, далее в ОбщемМодуле ОбработкаТабличных часте в процедуре РассчитатьСуммуТабЧасти,поместил
СкидкаАкция = 0;
	Если ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.РеализацияТоваровУслуг") или ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ЗаказПокупателя") Тогда 
	УстановкаАкционнойСкидки(ДокументОбъект,СтрокаТабличнойЧасти);
	КонецЕсли;
 Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("СкидкаАкция", МетаданныеДокумента,
            ИмяТабличнойЧасти) Тогда
                /////вот здесь оно уже считает что Поле есть и проходит этот этам дальше,как сделать проверку?             
                СкидкаАкция = СтрокаТабличнойЧасти.СкидкаАкция;
            СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * РассчитатьЦенуСоСкидкой(Цена, ПроцентАвтоматическихСкидок, ПроцентСкидкиНаценки,СкидкаАкция, ДокументОбъект); 

        КонецЕсли;
Показать


Так вот и ругается в некоторых моментах,к примеру если зайти в обработкуТЧ через кнопку "Изменить",там делать махинации,сразу ругается что нет такого поля что писал в первом сообщении,и если услугу добавлять,то почему-то тоже иногда ругается(( что не обнаружено поле
13. ljn8320 17.12.19 11:21 Сейчас в теме
(8) из обработки в функцию передаются метаданные документа, из которого нажали кнопку и имя соответсвующей ТЧ, но в качесве строки улетает строка ТЧ обработки
12. user633533_encantado 11 17.12.19 11:21 Сейчас в теме
Ты уверен, что "СтрокаТабличнойЧасти" это строка таблицы "ИмяТабличнойЧасти" ?
15. user817897 2 17.12.19 11:23 Сейчас в теме
16. user633533_encantado 11 17.12.19 11:24 Сейчас в теме
(15) ОК, На какой строке из представленного кода у тебя ошибка ?
17. user817897 2 17.12.19 11:25 Сейчас в теме
(16) вот здесь считало, СкидкаАкция = СтрокаТабличнойЧасти.СкидкаАкция;

сейчас попробую проверю что писал в (14),думаю ошибок больше не будет
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот