Реквизит табличной части

1. Terebinator 21.03.19 09:58 Сейчас в теме
Как можно программно обратится к реквизиту табличной части справочника? в обработках
Прикрепленные файлы:
+
По теме из базы знаний
Найденные решения
12. Terebinator 21.03.19 10:26 Сейчас в теме
(11){Обработка.ЗагрузкаДанныхИзExcelАльфа1.Форма.Форма.Форма(157)}: Поле объекта не обнаружено (УсловияПоСтраховым)
СтрокаТаблицы = Справочники.Контрагенты.УсловияПоСтраховым.Найти(НоваяСтрока.СтраховаяПремия, "СтраховаяКомпания");
+
13. SedovSU@mail.ru 297 21.03.19 10:27 Сейчас в теме
(12) нет не правильно!!!!! Вам не так нужно Справочники.Контрагенты.УсловияПоСтраховым. Вам нужно явно взять контрагента!!!
То есть написать СтрокаТаблицы = Контрагент.УсловияПоСтраховым.Найти(НоваяСтрока.СтраховаяПремия, "СтраховаяКомпания");

То есть Контрагент - это реквизит на вашей форме который уже заполнен
+
17. SedovSU@mail.ru 297 22.03.19 08:59 Сейчас в теме
(16) Тогда вам нужно выбрать метод не Найти, а найтиСтроки!! Вот пример

Отбор = Новый Структура("СтраховаяКомпания, ВидСтрахования", НоваяСтрока.СтраховаяКомпания, НоваяСтрока.ВидСтраховойКомпании)
СтрокиТаблицы = Контрагент.УсловияПоСтраховым.НайтиСтроки(Отбор); 
Если СтрокиТаблицы.Количество() > 0 Тогда
// тут два подхода - либо обойти строки масива или явно обратиться к первой строке
// 1. вариант обращение к первой строки.
Ставка = СтрокиТаблицы[0].Ставка;
// 2. вариант обхода
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
Ставка = СтрокаТаблицы.Ставка;
Конеццикла
Конецесли
Показать
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. mazechild 21.03.19 10:01 Сейчас в теме
Обратиться к реквизиту строки табличной части? К колонке? К значению в реквизите строки какой-то?
+
3. Terebinator 21.03.19 10:02 Сейчас в теме
(2)к значению реквизита строки
+
4. maip1 21.03.19 10:04 Сейчас в теме
Например так: Контрагент.УсловияПоСтраховым.Получить(0).Ставка - обращение к реквизиту 1 строки,
где Контрагент - ссылка на элемент справочника
+
5. SedovSU@mail.ru 297 21.03.19 10:04 Сейчас в теме
Контрагент.УсловияПоСтраховым[2].Ставка -вот так можно.
+
6. SedovSU@mail.ru 297 21.03.19 10:08 Сейчас в теме
Можно перебороом

Для Каждого СтрокаТабличнойЧасти Из УсловияПоСтраховым Цикл
СтрокаТабличнойЧасти.Ставка
Конеццикла

Можно найти эту строку и так же обратиться. Много различных вариантов. Задача то у вас какова
+
7. Terebinator 21.03.19 10:12 Сейчас в теме
(6)Задача получить сумму ставки для в соответствии страховой компании.
Прикрепленные файлы:
+
11. SedovSU@mail.ru 297 21.03.19 10:20 Сейчас в теме
(7) Ну вот тогда вам нужно найти эту строку и получить сумму. То есть у вас контргент и страхования компания

Пишите:

СтрокаТаблицы = Контрагент.УсловияПоСтраховым.Найти(СтраховаяКомпания, "СтраховаяКомпания");
Если СтрокаТаблицы <> Неопределно Тогда
СуммаСтавки = СтрокаТаблицы.Ставка;
Конецесли
+
12. Terebinator 21.03.19 10:26 Сейчас в теме
(11){Обработка.ЗагрузкаДанныхИзExcelАльфа1.Форма.Форма.Форма(157)}: Поле объекта не обнаружено (УсловияПоСтраховым)
СтрокаТаблицы = Справочники.Контрагенты.УсловияПоСтраховым.Найти(НоваяСтрока.СтраховаяПремия, "СтраховаяКомпания");
+
13. SedovSU@mail.ru 297 21.03.19 10:27 Сейчас в теме
(12) нет не правильно!!!!! Вам не так нужно Справочники.Контрагенты.УсловияПоСтраховым. Вам нужно явно взять контрагента!!!
То есть написать СтрокаТаблицы = Контрагент.УсловияПоСтраховым.Найти(НоваяСтрока.СтраховаяПремия, "СтраховаяКомпания");

То есть Контрагент - это реквизит на вашей форме который уже заполнен
+
15. Terebinator 21.03.19 10:32 Сейчас в теме
(13)Получилось! спасибо огромное
сделал как вы написали

СтрокаТаблицы = НоваяСтрока.Агент.УсловияПоСтраховым.Найти(НоваяСтрока.СтраховаяКомпания, "СтраховаяКомпания");
Если СтрокаТаблицы <> Неопределено Тогда
НоваяСтрока.КомАгента = СтрокаТаблицы.Ставка;
Конецесли
+
16. Terebinator 22.03.19 08:51 Сейчас в теме
(11)не подскажите как задать условие по виду страхования еще. нужно чтобы для страховой компании Альфа и по виду страхования получала значение. к примеру для. Для Альфа Осаго расчитывается по ставке, а по Альфа Каско по проценту.
Прикрепленные файлы:
+
17. SedovSU@mail.ru 297 22.03.19 08:59 Сейчас в теме
(16) Тогда вам нужно выбрать метод не Найти, а найтиСтроки!! Вот пример

Отбор = Новый Структура("СтраховаяКомпания, ВидСтрахования", НоваяСтрока.СтраховаяКомпания, НоваяСтрока.ВидСтраховойКомпании)
СтрокиТаблицы = Контрагент.УсловияПоСтраховым.НайтиСтроки(Отбор); 
Если СтрокиТаблицы.Количество() > 0 Тогда
// тут два подхода - либо обойти строки масива или явно обратиться к первой строке
// 1. вариант обращение к первой строки.
Ставка = СтрокиТаблицы[0].Ставка;
// 2. вариант обхода
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
Ставка = СтрокаТаблицы.Ставка;
Конеццикла
Конецесли
Показать
+
18. Terebinator 22.03.19 09:03 Сейчас в теме
(17)попробую в обходе
+
19. Terebinator 22.03.19 09:16 Сейчас в теме
(17)
Отбор = Новый Структура("СтраховаяКомпания, ВидСтрахования", НоваяСтрока.СтраховаяКомпания, НоваяСтрока.ВидСтраховойКомпании)
СтрокиТаблицы = Контрагент.УсловияПоСтраховым.НайтиСтроки(Отбор);
Если СтрокиТаблицы.Количество() > 0 Тогда
// тут два подхода - либо обойти строки масива или явно обратиться к первой строке
// 1. вариант обращение к первой строки.
Ставка = СтрокиТаблицы[0].Ставка;
// 2. вариант обхода
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
Ставка = СтрокаТаблицы.Ставка;
Конеццикла
Конецесли



В обходе все условия выполнены. спасибо вам огромное!
+
20. SedovSU@mail.ru 297 22.03.19 09:17 Сейчас в теме
8. maip1 21.03.19 10:16 Сейчас в теме
запросом к табличной части контрагента тогда с условиями по страховой компании и виду страхования
+
10. Terebinator 21.03.19 10:19 Сейчас в теме
(8)попробую запросом
+
9. maip1 21.03.19 10:17 Сейчас в теме
если есть условия в обработке такие
+
14. YannikAlx 43 21.03.19 10:31 Сейчас в теме
(10) Можно даже запросом...

ВЫБРАТЬ
УсловияСтр.Ставка
ИЗ Справочник.Контрагент.УсловияПоСтраховым КАК УсловияСтр
ГДЕ УсловияСтр.Ссылка=&Контрагент
И УсловияСтр.СтраховаяКомпания = &СтраховаяКомпания
И УсловияСтр.ВидСтрахования= &ВидСтрахования
+
Внимание! Тема сдана в архив

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