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

Табличная часть документа

Автор Новенькая, 31 мар 2011, 09:01

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

Новенькая

У меня проблема....огромная...((( В документе есть табличная часть в ней 2 колонки "Измерение" и "Значение". Мне необходимо, чтобы при нажатии на кнопку добавить, добавлялась новая строка в табличной части, в колонке Измерение была возможность выбора одного из Измерения, которые являются измерениями регистра накопления (в моем случае затраты), а во второй колонке тип поля сразу соответствовал выбранному измерению...эх...

has

Добавить строку табличной части можете? Какой документ, какой регистр, какая конфигурация (если типовая), какие измерения? Не стесняемся, выкладываем как можно больше информации.

Новенькая

Добавить строку могу)))) Кинула над табличной частью командную панельку....Конфигурация не типовая......Документ мой собственный "Авансовый отчет", чем-то похож на типовой....У меня есть регистр накопления "Затраты" в нем 11 измерений, у всех разный тип. Например: Клиент - СправочникиСсылкаКлиенты, Бренд - СправочникиСсылкаБренды, Договор - СправочникиСсылкаДоговорыЮрЛиц и т.д.
На данном этапе, когда я нажимаю добавить появляется пустая строчка в моей таблице и я могу ввести в нее только строковое значение....А надо чтобы в колонке Измерение каким-то образом вывалился список измерений из данного регистра, я выбрала нужное, в колонке Значение стал нужный тип, чтобы из нужного справочника я могла еще и значение выбрать

has

Вобщем щас посмотрел, попробовал. Правда не с документом, а с обработкой. Вобщем вот такой некрасивый код получился. На быструю руку.

Процедура ПриОткрытии()
МойСписок = Новый СписокЗначений;
МойСписок.Добавить("Измерение1");
МойСписок.Добавить("Измерение2");
МойСписок.Добавить("Измерение3");
ЭлементыФормы.ТабличнаяЧасть1.Колонки.Реквизит1.ЭлементУправления.СписокВыбора =МойСписок;
КонецПроцедуры

Процедура ТабличноеПоле1Колонка2НачалоВыбора(Элемент, СтандартнаяОбработка)
Если ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Реквизит1 = "Измерение1" Тогда
Элемент.Значение = СПравочники.Номенклатура.ПустаяСсылка();
Иначе
Элемент.Значение = СПравочники.Контрагенты.ПустаяСсылка();
КонецЕсли;
КонецПроцедуры

Вам надо будет получить список измерений регистра соответственно и заполнить список их наименованием.

has

Процедура ПриОткрытии()
   МойСписок = Новый СписокЗначений;
   МойСписок.Добавить("Измерение1");
   МойСписок.Добавить("Измерение2");
   МойСписок.Добавить("Измерение3");
   ЭлементыФормы.ТабличнаяЧасть1.Колонки.Реквизит1.ЭлементУправления.СписокВыбора =МойСписок;
КонецПроцедуры

Процедура ТабличноеПоле1Колонка2НачалоВыбора(Элемент, СтандартнаяОбработка)
   Если ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Реквизит1 = "Измерение1" Тогда
      Элемент.Значение = СПравочники.Номенклатура.ПустаяСсылка();
   Иначе
      Элемент.Значение = СПравочники.Контрагенты.ПустаяСсылка();
   КонецЕсли;
КонецПроцедуры

has

Конечно его таким использовать нельзя, но думаю направление мысли дал. Если что непонятно, спрашивайте.

Новенькая

Спасибо огромное за подсказку, у меня все получилось!!!)))

Новенькая

АААаааааа...........опять проблема....Добавляю строку, заполнила как мне надо....А тут выдается ошибка: Введенные данные не отображены в списке, так как не соответствуют отбору((((((( Из-за чего такое может быть.....

cska-fanat-kz

На форме запрашивайте ИмяРегистра.
А через метаданные можно добраться до его измерений (и имя узнать, и тип).
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

has

Установлен отбор. Смотреть надо отборы, видимо в форме списка справочника устанавливается. Хотя может и в табличном поле документа

Теги:

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

Рейтинг@Mail.ru

Поиск