Имя: Пароль:
1C
1С v8
Можно ли добавить энное количество закладок в табличную часть док-та на форме?
0 snegovik
 
03.05.13
20:46
Суть фантазии в следующем: имеется справочник с произвольным количеством элементов (не более 10-15). Имеется также документ с одной табличной частью, в которой есть реквизит с типом этого справочника. Хотелось бы, чтобы при создании и открытии документа в табличной части образовывались бы закладки, количеством, равным количеству элементов справочника, и чтобы данные можно было заносить, шагая по закладкам в документе.
Возможно ли это технически, и какими методами? Платформа 8.2, обычные формы. В мануалах и типовых подобного не увидел.
1 ДенисЧ
 
03.05.13
20:50
Продам СП. Дорого.
Научу его читать. Очень дорого.
Научу понимать прочитанное. Тут уже вообще заоблачные суммы пойдут...
2 snegovik
 
03.05.13
20:53
(1) Хотя бы пример из типовой конфы)
3 ДенисЧ
 
03.05.13
20:53
(2)  ну уж нет . Только полный комплект услуги
4 vicof
 
03.05.13
21:04
(0) Очередная нетленка?
5 snegovik
 
03.05.13
21:19
(4) Доработка)
Мне кажется, что если бы такое возможно было, то где-нибудь в типовых что-то подобное встретилось...
6 vicof
 
03.05.13
21:24
Для каждого элемент из элементысправочника Цикл
   элементыформы.Панель.страницы.Добавить(Элемент.Наименование);
КонецЦикла;

ну только надо позаботиться, чтобы имена страниц были корректные
7 snegovik
 
03.05.13
21:27
(6) И сюда можно будет затолкать и отсортировать одну табличную часть документа?
8 Ork
 
03.05.13
21:31
(7) Затолкать табличную часть - тут обломс... Можно сэмулировать таблицей значений.
9 snegovik
 
03.05.13
21:46
Сделал такой набросок:
http://s020.radikal.ru/i710/1305/fe/bee630ef1489.jpg
Хотелось бы закладки на самой табличной части, конечно, но пока пусть будет так. Дальше хочу спросить вот что - при открытии добавляются страницы, всё нормально. Но сама табличная часть отображается только на первой странице. Как сделать, чтобы она отображалась на всех страницах панели?
10 vicof
 
03.05.13
21:50
(9) Разместить 25 элементов, отображающих ТЧ на всех страницах
11 megabax
 
03.05.13
21:53
0, сделать можно, вот пример:
процедура ПостроитьЗакладкиПоИнформации()
   //лОтбор=ЖурналДокументовСписок.Отбор;
   //сообщить(лОтбор);
   Запрос=Новый Запрос;
   Запрос.Текст=
   "ВЫБРАТЬ
   |    ВЫБОР
   |        КОГДА шапОбщийЖурнал.Информация ССЫЛКА Справочник.Контрагенты
   |            ТОГДА шапОбщийЖурнал.Информация.Родитель.Наименование
   |        ИНАЧЕ шапОбщийЖурнал.Информация.Наименование
   |    КОНЕЦ КАК Представление
   |ИЗ
   |    ЖурналДокументов.шапОбщийЖурнал КАК шапОбщийЖурнал
   |
   |СГРУППИРОВАТЬ ПО
   |    ВЫБОР
   |        КОГДА шапОбщийЖурнал.Информация ССЫЛКА Справочник.Контрагенты
   |            ТОГДА шапОбщийЖурнал.Информация.Родитель.Наименование
   |        ИНАЧЕ шапОбщийЖурнал.Информация.Наименование
   |    КОНЕЦ"
   ;
   Выборка=Запрос.Выполнить().Выбрать();
   //ЭтаФорма.Панель.Страницы.Очистить();
   ОчиститьЗакладки();
   й=1;
   пока Выборка.Следующий() цикл
       если НЕ ЗначениеЗаполнено(Выборка.Представление) тогда
           лНаим="<Пусто>";
       иначе
           лНаим=Выборка.Представление;
       конецесли;
       ЭтаФорма.Панель.Страницы.Добавить(строка(й),лНаим);
       й=й+1;
   конеццикла;
конецпроцедуры
12 megabax
 
03.05.13
21:54
+11, тебе надо сделать тоже самое, только из справочника
13 Defender aka LINN
 
03.05.13
23:06
(9) Табличная часть - это объект данных, с элементом формы они вообще не родственники.
З.Ы. Если открыть глаза до щелчка и посмотреть на документ "Корректировка записей регистров", например, в УТ, то можно многое понять.
14 snegovik
 
04.05.13
20:12
Продолжаю ковыряться. Вопрос следующий - если я программно создаю на панели табличное поле (примерно следующим образом):

ПолеДокумента = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), СтраницаПанели.Имя, Истина, ЭлементыФормы.Панель);

То как быть с обработчиками событий, когда в режиме предприятия будут работать с созданной табличной частью? Например, обработчики "ПриНачалеРедактирования", "ПриОкончанииРедактирования" и т.п.?
15 Drac0
 
04.05.13
20:15
(14) их тоже можно задать.
16 snegovik
 
04.05.13
20:22
(15) В модуле формы? То есть в свойствах формы обработчики не надо нигде прописывать?
17 Aprobator
 
04.05.13
20:24
(0) вообще проблем не вижу. У нас такая фигня под события на объектах охраны сделана. Вкладки рисуются динамически и там табличное поле с отбором.
18 Aprobator
 
04.05.13
20:24
+(17) в смысле на каждой вкладке.
19 alexkr
 
04.05.13
20:26
(0) мсье знает толк в извращениях...
20 snegovik
 
04.05.13
20:27
(17) Ну я просто не профессиональный программист)
21 snegovik
 
04.05.13
20:29
(17) Табличное поле тоже программно создается? Или на форме создано изначально?
22 Aprobator
 
04.05.13
20:30
(21) программно.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший