Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Автозаполнение колонки табличной части 1с 8.2  (Прочитано 19500 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Anton
Участник

md
Offline Offline
Пол: Мужской

« : 10-01-2011 07:58 » 

Есть справочник ТипыТоваров у которой 1 реквизит(Наименование) и табличная часть с 1-й колонкой в которой прописывается набор свойств.
Так же есть форма с полем Тип товара(СправочникСсылка.ТипыТоваров), то есть дается на выбор список из справочника ТипыТоваров, и табличная часть с 2-мя колонками(Свойство, Значение).

Как сделать автозаполнение колонки Свойство при измеении поля Тип товара, исходя из табличной части выбранного типа?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 10-01-2011 09:03 » 

В цикле делаешь перебор по табличной части выбранного элемента ТипТовара и заполняешь табличную часть СвойствоЗначение.
В чем именно вопрос?
Записан
Anton
Участник

md
Offline Offline
Пол: Мужской

« Ответ #2 : 10-01-2011 09:16 » 

Логику того как это должно произойти я понимаю, но, учитывая то, что  опыта с работой 1с у меня чуть больше месяца(включая знакомство с платформой), для меня проблема прописать пути к данным, прошу помощи опытных разработчиков.

Вот собственно вставил найденный шаблон в процедуру:

Процедура ТипТМЦПриИзменении(Элемент)

 <Таблица значений>.Очистить();
 Для каждого Стр Из <Объект>.<Табличная часть> Цикл
 СтрТЗ=<Таблица значений>.Добавить();
 СтрТЗ.<Колонка 1>=Стр.<Колонка ТЧ 1>;

КонецПроцедуры

Проблема верно прописать необъявленные значения(<Таблица значений>, <Объект>.<Табличная часть>)

Добавлено через 3 минуты и 32 секунды:
и в этом шаблоне по моему условия не хватает:

Для каждого Стр Из <Объект>.<Табличная часть> Где <Реквизит справочника>=<Выбранное значение>

Но опять же, сомневаюсь что это верно и как верно прописать значения в тегах "<>"
« Последнее редактирование: 10-01-2011 09:19 от Anton » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 10-01-2011 13:40 » 

Суть понята правильно, шаблон верный.
Нужные тебе идентификаторы (<Таблица значений>, <Объект>, <Табличная часть>) нужно смотреть в конфигураторе для:
а) "форма с полем Тип товара" - здесь <Таблица значений>, <Объект> и <Колонка 1>
б) "справочник ТипыТоваров" - здесь <Табличная часть> и <Колонка ТЧ 1>
Не видя конфигурации подсказать идентификаторы невозможно

"Где <Реквизит справочника>=<Выбранное значение>" - это не нужно, т.к. <Объект> === <Выбранное значение>
Записан
Anton
Участник

md
Offline Offline
Пол: Мужской

« Ответ #4 : 10-01-2011 14:05 » 

Для каждого Стр Из <Объект>.<Табличная часть> Цикл

Как в этой строке прописать путь к справочнику ТипыТМЦ, где объект это Объект.ТипТМЦ и его табличная часть?

Написал так: СправочникСсылка.ТипыТМЦ.Объект.ТипТМЦ.ХарактеристикиТМЦ

Объект.ТипТМЦ - Выбранный из списка елемент
ХарактеристикиТМЦ - Табличная часть

Выдает ошибку мол переменная не определена.

Где ошибка?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 10-01-2011 15:44 » 

Попробуй: Для каждого Стр Из Объект.ТипТМЦ.ХарактеристикиТМЦ Цикл
Записан
Anton
Участник

md
Offline Offline
Пол: Мужской

« Ответ #6 : 10-01-2011 16:28 » 

Не получилось

Вот в общем что я написал, но оно не работает, к тому же здесь не видно пути к другому справочнику:

Код:
&НаКлиенте
Процедура ТипТМЦПриИзменении(Элемент)

Объект.ХарактеристикиТМЦ.Очистить();
 Для каждого Стр Из Объект.ТипТМЦ.ХарактеристикиТМЦ Цикл
 СтрТЗ=Объект.ХарактеристикиТМЦ.Добавить();
 СтрТЗ.Характеристика=Стр.СписокХарактеристик;
 КонецЦикла
 КонецПроцедуры
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 10-01-2011 17:12 » 

&НаКлиенте - не получится.
Тебе из процедуры &НаКлиенте нужно просто вызвать процедуру &НаСервере, а в ней уже написать то же самое...
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines