Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 18:16

Заполнение табличной части в документе

Автор a1phoenix, 05 окт 2012, 11:56

0 Пользователей и 1 гость просматривают эту тему.

a1phoenix

День добрый!
Подскажите как заполнить поля табличной части значениями из справочника?
Код:

Процедура ТаблЧастьПриИзменении(Элемент)
     ТаблЧасть.Получить().Реквизит1=Справочники.Справочник1.Выбрать().Реквизит3 +","+ Справочники.Справочник1.Выбрать().Реквизит4;
     ТаблЧасть.Получить().Реквизит2=Справочники.Справочник1.Выбрать().Реквизит5;
КонецПроцедуры

Выдает ошибку о недостаточности фактических параметров...

mixqn

Цитата: a1phoenix от 05 окт 2012, 11:56Выдает ошибку о недостаточности фактических параметров
оно и логично. почитайте в синтаксис-помощнике про методы, которые вы используете.

MuI_I_Ika

Непонятно что вы собираетесь получать методами
Получить()
Выбрать()

Получить (Get)
Синтаксис:
Получить(<Индекс>)
Параметры:
<Индекс> (обязательный)
Тип: Число.
Индекс строки.
Возвращаемое значение:
Тип: Строка табличной части.
Описание:
Получает значение по индексу. Работает аналогично оператору [].


Gunner

Нужные данные вытащите из справочника с помощью запроса

a1phoenix

Написал запрос, но не пойму каким образом запрашиваемые данные передать в соответсвующие ячейки табличной части (ТаблЧасть)??

Процедура ТаблЧастьРеквизитПриИзменении(Элемент)
   Запрос = Новый Запрос;
   Запрос.Текст = " ВЫБРАТЬ ПЕРВЫЕ 1
   |   Справочник1.Реквизит2,
   |   Справочник1.Реквизит3,
   |   Справочник1.Реквизит4
   |ИЗ
   |   Справочник.Справочник1 КАК Справочник1";
   РезультатЗапроса=Запрос.Выполнить();
КонецПроцедуры

mixqn

интересный запрос. вам значит все равно что в табличную часть подавлять или как? ваш запрос выберет 1 элемент справочника - черт его знает, какой именно, может так повезет и это окажется нужный вам :)

mixqn

если все таки ближе к теме, то ваша задача
Цитата: a1phoenix от 05 окт 2012, 11:56Подскажите как заполнить поля табличной части значениями из справочника?
как-то не вяжется с вашим кодом
Цитата: a1phoenix от 05 окт 2012, 11:56Процедура ТаблЧастьПриИзменении(Элемент)
ТаблЧастьПриИзменении - это что? обработчик события ПриИзменении? ПриИзменении чего? Всей табличной части ТаблЧасть? Нет такого события.

Если вам нужно заполнить таб. часть, вам надо создать кнопку "Заполнить" или типа того, по кнопке должно выполняться действие - процедура, примерный код внутри которой может быть таким:


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Справочник1.Реквизит1,
| Справочник1.Реквизит2,
| Справочник1.Реквизит3
|ИЗ
| Справочник.Справочник1 КАК Справочник1";

ТаблЧасть.Загрузить(Запрос.Выполнить().Выгрузить());

a1phoenix

ТаблЧастьПриИзменении(Элемент) это оработчик события при изменении реквизита табличной части. То есть выбираем запись из справочника1 по ссылке на наименование, и в пару других реквизитов таблчасти должны записаться данные реквизита1, реквизита2, реквизита3.
Добавлено: 08 окт 2012, 08:24


Еще такой вопрос возник, а есть ли какое нибудь условие, чтобы при выполнении процедуры не затирались данные, заполненные в табличную часть ранее?

Gunner

Опишите сначала свою задачу и подробнее: таблчасть должна заполнятся только при изменении реквизита или нет, откуда данные должны браться(из этого же спр или нет)

a1phoenix

И так, есть справочник (Пульт), есть документ (Сводка), в документе есть табличная часть (СводкаПоГБР). Дак вот, в табличной части куча реквизитов и только 3 из них должны заполнятся при изменении одного из них (НомерПульта - ссылка в справочник пульт, и при ее выборе два других реквизита (НазваниеОбъекта и Инженер) заполняется из этого же справочника в два соответствующих реквизита).
При этом остальные реквизиты табличной части заполняются вручную и поэтому надо чтобы при заполнении табличной части при изменении одного из ее реквизитов остальная информация табличной части оставалась не измененной.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск