![]() |
![]() |
![]() |
|
Создание табличной части в создаваемой странице | ☑ | ||
---|---|---|---|---|
0
Ly_Alena
07.11.14
✎
08:35
|
Доброе утро!
Я только начинающая и хотела спросить, как в новой (созданной программно) странице создавать табличную часть? В инэте искала - ничего подходящего не нашла. Есть вкладка ТЦО - таблица которая заполняется на основании ЗаказаПокупателя, далее если пользователь хочет создать альтернативную ТЦО, нажимает на кнопочку и появляется страница клон с такой же табличной часть и становится текущей. Как это сделать? Процедура АльтернативаНажатие(Элемент) ЭлементыФормы.АльтернативныеТЦ.Страницы.Добавить() // создали новую пустую таблицу значений ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("НомерЛота"); ТЗ.Колонки.Добавить("ЗапрашиваемоеНаименование"); ТЗ.Колонки.Добавить("НовоеНаименование"); ТЗ.Колонки.Добавить("ФактическоеНаименование"); ТЗ.Колонки.Добавить("ЕдИзм"); ТЗ.Колонки.Добавить("Количество"); ТЗ.Колонки.Добавить("Себестоимость"); ТЗ.Колонки.Добавить("Себестоимостьобъема"); ТЗ.Колонки.Добавить("ЦенабезНДС"); ТЗ.Колонки.Добавить("СуммабезНДС"); ТЗ.Колонки.Добавить("Цена"); ТЗ.Колонки.Добавить("Сумма"); ТЗ.Колонки.Добавить("Транспортные"); ТЗ.Колонки.Добавить("Накладные"); ТЗ.Колонки.Добавить("КПН"); ТЗ.Колонки.Добавить("Прибыль"); ТЗ.Колонки.Добавить("Рентабельность") КонецПроцедуры Ничего не происходит, может потому что добавленная страница не текущая? |
|||
32
Ly_Alena
07.11.14
✎
10:45
|
Обращаешься за реальной помощью - а получаешь психологическую атаку )
|
|||
33
Chameleon1980
07.11.14
✎
10:45
|
а вообще есть, например такая конфа у кот. тч локумента хранятся в РС (WMS). Можно и через РС реализовать сколь угодно тч.
|
|||
34
Kalambur
07.11.14
✎
10:46
|
(29) не надо тебе никакие табличные части делать, сохраняй варианты своих таблиц в хранилище, если надо смотреть/сравнивать, сделай кнопку в документе и показывай отчетом свои таблицы, потом сделаешь выбор варианта и загрузку его в ТЧ
|
|||
35
Chameleon1980
07.11.14
✎
10:46
|
если чуток совсем подумать. Я так понял у нас счас проблема хранить динамическое кол-во тч.
|
|||
36
Kalambur
07.11.14
✎
10:47
|
(31) как бы ты пытаешся сделать так, как говорит тебе пользователь, поэтому получается ..йня.
|
|||
37
Kalambur
07.11.14
✎
10:47
|
+ вся проблема как раз в "сохранить таблицы" )
|
|||
38
Chameleon1980
07.11.14
✎
10:48
|
(34) блин я хз (хр.зн.) чет уже пять миллионов постов назад тож предлагал. Да довига вообще вариантов решения. Большой все же вопрос - нахв?
|
|||
39
Chameleon1980
07.11.14
✎
10:48
|
(37) да нет проблем никаких ёмаё.
|
|||
40
chelentano
07.11.14
✎
10:50
|
Собственно, не совсем понятно, в чём вопрос... Как хранить данные? Или как нарисовать закладку с табличным полем? Или вообще "как работать с этой вашей грёбаной 1С"?
|
|||
41
Ly_Alena
07.11.14
✎
10:51
|
(36) у меня пока еще ничего не получается. С пользователем переговорила, ему достаточно 5 вкладок с 5 таблицами ценообразования. Поэтому думаю проще будет сделать это в конфигураторе и поиграть в видимость. Только как сделать чтобы по одной кнопке показывались последовательно вкладки с таблицами пока не знаю.
|
|||
42
Ly_Alena
07.11.14
✎
10:52
|
(40) как нарисовать закладку с табличной частью - вопрос был в этом.
|
|||
43
Chameleon1980
07.11.14
✎
10:57
|
еще вопрос тада
уф, простые? |
|||
44
Kalambur
07.11.14
✎
10:57
|
(39) для нее это огромная проблема
|
|||
45
Kalambur
07.11.14
✎
10:58
|
(41) Не ВЕРЬ пользаку, он врет 100%, через 2 недели прибежит и скажет надо 7 таблиц
|
|||
46
Chameleon1980
07.11.14
✎
10:59
|
(45) бывает.
|
|||
47
Ly_Alena
07.11.14
✎
11:01
|
(45) а что делать? То говорите создать в конфигураторе фиксированное количество, потому что нефиксированное это нереально и такие задачи ставят дураки а ты ведешься.
Я себе это так представляла: где-то хранится моя таблица в таком виде как мне надо и по созданию вставляется в созданную вкладку, где уже пользователь вносит свои изменения. |
|||
48
Ly_Alena
07.11.14
✎
11:01
|
(43) что, простите, простые? )
|
|||
49
butterbean
07.11.14
✎
11:02
|
госпади, очередной пользователь привыкший к экселю и ипущий мозги программисту
|
|||
50
Kalambur
07.11.14
✎
11:02
|
(49) ага, девочка попала ))
|
|||
51
Ly_Alena
07.11.14
✎
11:02
|
(49) тебя пожалеть?
|
|||
52
silent person
07.11.14
✎
11:03
|
(51) весь поток негатива из-за вашей неправильной формулировки. "табличная часть" - это объект метаданных и создать ее можно только в конфигураторе. та таблица которую видит пользователь на форме является элементом управления типа "табличное поле" связанное с данными.
если формы управляемые то табличное поле добавляется примерно так // добавляем страницу для таблицы НоваяСтраница = Элементы.Добавить("МояСтраница",Элементы.Группа16); НоваяСтраница.Вид = ВидГруппыФормы.Страница; НоваяСтраница.Заголовок = "МоеНазвание"; // добавляем новую таблицу НовыйЭлемент = Элементы.Добавить("МоеНазвание",Тип("ТаблицаФормы"),НоваяСтраница); НовыйЭлемент.ПутьКДанным = НаименованиеТЗ; |
|||
53
silent person
07.11.14
✎
11:05
|
+52 Элементы.Группа16 - это мой элемент формы "страницы"
НаименованиеТЗ = переменная где указан путь к данным ну а потом в этом табличном поле надо программно создать колонки и у них тоже укзать путь к данным |
|||
54
Chameleon1980
07.11.14
✎
11:10
|
(48) формы управляемые или обычные?
|
|||
55
Chameleon1980
07.11.14
✎
11:12
|
усе - вижу, что не уф
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=634442 |
|||
56
Chameleon1980
07.11.14
✎
11:13
|
||||
57
Ly_Alena
07.11.14
✎
11:16
|
(54) обычные
|
|||
58
silent person
07.11.14
✎
11:21
|
(57) примеры есть в Синтаксис помошнике
СтраницыПанели (PanelPages) Добавить (Add) Синтаксис: Добавить(<Имя>, <Заголовок>, <Значение>, <КартинкаЗаголовка>) Пример: Страницы = ЭлементыФормы.ОсновнаяПанель.Страницы; СтраницаПанели = Страницы.Добавить(Имя, Представление); ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = СтраницаПанели; ЭлементыФормы (Controls) Добавить (Add) Синтаксис: Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>) // Расположим на странице табличное поле ПолеРегистра = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), СтрокаТаблицы.Имя, Истина, ЭлементыФормы.ОсновнаяПанель); ПолеРегистра.Данные = "ДокументОбъект.Движения." + СтрокаТаблицы.Имя; |
|||
59
zulu_mix
07.11.14
✎
11:25
|
можно двумя путями реализовать.
1. записывать ТЗ в Соответствие а Соответствие в ХЗ и загружать их оттуда при открытии, создавая на лету вкладки с именем Ключ и заполнять Значением 2. добавить в ТЧ колонку Страница и при открытии создавать страницы демонически. |
|||
60
Chameleon1980
07.11.14
✎
11:32
|
КоличествоСтраниц=ЭлементыФормы.Панель.Страницы.Количество();
НоваяСтраница=ЭлементыФормы.Панель.Страницы.Добавить("Страница"+КоличествоСтраниц,"Альтернатива "+КоличествоСтраниц); ЭлементыФормы.Панель.ТекущаяСтраница = НоваяСтраница; |
|||
61
Ly_Alena
07.11.14
✎
11:33
|
(59) уф, вы мне говорить на равных, а для меня столько непонятных слов. Сейчас спрошу где находится соответствие и ХЗ и в меня снова полетят ботинки...
|
|||
62
Krolik Bezobraznik
07.11.14
✎
11:35
|
(61) Не расстраивайтесь. Я все же задал бы вопрос пользователю по поводу его хотелки.
Как этот функционал, который он хочет будет использоваться? Так будет проще сформулировать решение. |
|||
63
Chameleon1980
07.11.14
✎
11:38
|
да хоть в соотв, хоть в СЗ. Хоть во что - куда удобней.
|
|||
64
Chameleon1980
07.11.14
✎
11:39
|
+ тока мне чет кажется в РС круче будет.
И запрос норм построить можно если что. |
|||
65
Ly_Alena
07.11.14
✎
11:40
|
(62) Пользователю нужно чтобы было несколько вариантов таблиц ценообразования. Одна формируется на основании ЗаказаПокупателя. Остальные ТЦО с такими же колонками и строками, но в них вносят изменения в части цен или накладных расходов для того чтобы принести начальнику показать и он такой "ага, вот этот и этот вариант нам подходит".
|
|||
66
silent person
07.11.14
✎
11:40
|
(61) Соответствие находится в Универсальных коллекциях, а ХЗ - это хранилище значений.
|
|||
67
Krolik Bezobraznik
07.11.14
✎
11:41
|
(65) Т.е. пользователь сам решает по какой цене он хочет купить? Вот это я понимаю ДЕМОКРАТИЯ =))
|
|||
68
chelentano
07.11.14
✎
11:41
|
(42) как-то так:
НоваяСтраница = ЭлементыФормы.АльтернативныеТЦ.Страницы.Добавить(); ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = НоваяСтраница; ТабличноеПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "ТабличноеПоле"+КоличествоСтраниц, Истина, ЭлементыФормы.ОсновнаяПанель); ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Лево = 6; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Верх = 6; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Ширина = 370; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Высота = 194; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Значение = ТЗ; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].СоздатьКолонки(); |
|||
69
Kalambur
07.11.14
✎
11:42
|
(65) и смысл тогда хранить все эти таблицы, если выйдет 1 вариант?
|
|||
70
Ly_Alena
07.11.14
✎
11:43
|
(67) пользователь в данном случае - это менеджер по продажам. и он решает по какой цене продать.
|
|||
71
Krolik Bezobraznik
07.11.14
✎
11:44
|
(69) Дело говоришь =) (70) А почему бы пользователю не менять эти цены в одной единственной ТЦО?
|
|||
72
butterbean
07.11.14
✎
11:44
|
(70) предложи ему в эксель перекинуть и там свои таблицы составлять, поверь — на 5 страницах/таблицах они не остановятся
|
|||
73
Ly_Alena
07.11.14
✎
11:47
|
(69) Хранить для того чтобы знать какие варианты были предложены по этому заказу. Выйдет не один вариант. (72) ексель было предложено - но люди не хотят особо работать ручками - хотят все по нажатию кнопочки чтобы делалось.
|
|||
74
Kalambur
07.11.14
✎
11:48
|
(73) чеее? эта кнопочка будет сама определять какую цену поставить? или выбирать что продавать?
|
|||
75
Шапокляк
07.11.14
✎
11:49
|
(0) Как-то не очень понятно где эти страницы числом 100500 находятся. Наверно, в каком-то документе? Почему на основании этого документа не вводить сколько угодно документов Альтернативное ценовое предложение, содержащих табличную часть с нужными колонками и не организовать их удобный просмотр из формы документа-основания? Можно и отчетом как-то обрабатывать, если потребность есть.
|
|||
76
Krolik Bezobraznik
07.11.14
✎
11:49
|
(73) Ну вот смотрите. В конечном итоге, чисто гипотетически, есть такой у вас док, в котором 100 вариантов предложений. Как менеджер все это будет анализировать?
|
|||
77
Krolik Bezobraznik
07.11.14
✎
11:50
|
(75) Вот кстати тоже интересное решение
|
|||
78
Ly_Alena
07.11.14
✎
11:51
|
(74) нет, кнопочка конечно сама не будет определять цены (76) да все-таки думаю 5 таблиц будет думаю вполне достаточно и я об этом говорила ранее - но потом меня начали переубеждать что потом им понадобятся 7 )
|
|||
79
Krolik Bezobraznik
07.11.14
✎
11:53
|
(78) А может добавить 5 колонок для вариантов цен в существую таблицу? Или кроме цен может еще что то меняться?
|
|||
80
Krolik Bezobraznik
07.11.14
✎
11:55
|
(78) + Просто есть ли смысл дублировать записи которые не будут меняться (товар. количество и т.п.), если будет меняться только цена. Тогда сделайте доп колонки Цена1, Цена2, Цена3, Цена4 и т.д. и по мере необходимости их заполняйте. Тут можно и с видимостью колонок "поиграть".
|
|||
81
Ly_Alena
07.11.14
✎
11:56
|
в результате из документа по нажатию кнопочки будет выходить печатная форма в которой будут все заполненные таблицы подряд чтобы было видно по каким ценам и с какими расходами выгоднее работать. Может вы от меня это хотели услышать - это на вопрос для чего?
|
|||
82
Ly_Alena
07.11.14
✎
11:57
|
(79) кроме цен меняются расходы.ю на картинке по ссылке которую вставил хамелеон (56) видны поля и то что я хочу
|
|||
83
chelentano
07.11.14
✎
11:57
|
+(68) но самый лучший вариант хранения данных, на мой взгляд, это подчинённые документы
|
|||
84
Chameleon1980
07.11.14
✎
12:03
|
(68) немного имхо не верно
переменные перепутаны |
|||
85
Ly_Alena
07.11.14
✎
12:10
|
(84) (83) сейчас попробую что получится
|
|||
86
Ly_Alena
07.11.14
✎
12:13
|
{Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(7,25)}: Переменная не определена (КоличествоСтраниц)
"ТабличноеПоле"+<<?>>КоличествоСтраниц, Истина, ЭлементыФормы.ОсновнаяПанель); {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(8,37)}: Переменная не определена (КоличествоСтраниц) ЭлементыФормы["ТабличноеПоле" + <<?>>КоличествоСтраниц].Лево = 6; {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(9,37)}: Переменная не определена (КоличествоСтраниц) ЭлементыФормы["ТабличноеПоле" + <<?>>КоличествоСтраниц].Верх = 6; {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(10,37)}: Переменная не определена (КоличествоСтраниц) ЭлементыФормы["ТабличноеПоле" + <<?>>КоличествоСтраниц].Ширина = 370; {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(11,37)}: Переменная не определена (КоличествоСтраниц) ЭлементыФормы["ТабличноеПоле" + <<?>>КоличествоСтраниц].Высота = 194; {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(13,33)}: Переменная не определена (КоличествоСтраниц) ЭлементыФормы["ТабличноеПоле" + <<?>>КоличествоСтраниц].Значение = ТЗ; {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(14,33)}: Переменная не определена (КоличествоСтраниц) ЭлементыФормы["ТабличноеПоле" + <<?>>КоличествоСтраниц].СоздатьКолонки(); {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(13,63)}: Переменная не определена (ТЗ) ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Значение = <<?>>ТЗ; |
|||
87
Ly_Alena
07.11.14
✎
12:14
|
Наивная - вставила и жду результата хоть какого-то ))
|
|||
88
dimaldinho
07.11.14
✎
12:21
|
Есть простое решение.
1. На форме документа сделать табличную часть, в документе - только шапка. 2. Создать регистр сведений, где хранить данные табличной части. В регистре добавить измерение - ссылка на документ-хозяин и измерение "НомерВарианта". Номер варианта можно сделать не числом, а строкой, например, тогда можно осозданные имена добавлять вариантам. 3. В шапке документа сделать выбор варианта, например, выпадающим списком - список заполнять при открытии чтением регистра с отбором по документу-хозяину. 4. При выборе в шапке одного из варианта заполнять табличную часть на форме данными регистра с отбором по документу-хозяину и варианту. |
|||
89
Ly_Alena
07.11.14
✎
12:23
|
Что такое "ОсновнаяПанель"?
|
|||
90
vicof
07.11.14
✎
12:24
|
(89) На Ленинградке :)
|
|||
91
Ly_Alena
07.11.14
✎
12:25
|
(88) а как в таком варианте распечатывать на одном листе 5 альтернативных ТЦО например?
|
|||
92
Ly_Alena
07.11.14
✎
12:25
|
(90) просто выдает ошибку...
|
|||
93
chelentano
07.11.14
✎
12:26
|
(86), (89) ты что думала, что я тебе полностью рабочий код что ли напишу? ОсновнаяПанель - это имя панели, где у тебя страницы будут находиться
|
|||
94
chelentano
07.11.14
✎
12:27
|
(92) в твоём случае: "АльтернативныеТЦ"
|
|||
95
Ly_Alena
07.11.14
✎
12:27
|
Разобралась что это моя Альтернативная ТЦ
|
|||
96
Ly_Alena
07.11.14
✎
12:27
|
Разобралась уже
|
|||
97
vicof
07.11.14
✎
12:28
|
(96) Алена, тебе замуж надо.
|
|||
98
Ly_Alena
07.11.14
✎
12:28
|
(93) да думала )
|
|||
99
Chameleon1980
07.11.14
✎
12:29
|
вот такое при открытии
Процедура ОбновитьТабличныеЧасти() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТЧДокументов.Владелец, | ТЧДокументов.ТЧ КАК ТЧ, | ТЧДокументов.Номенклатура, | ТЧДокументов.Количество КАК Количество, | ТЧДокументов.Цена КАК Цена, | ТЧДокументов.Сумма КАК Сумма |ИЗ | РегистрСведений.ТЧДокументов КАК ТЧДокументов |ГДЕ | ТЧДокументов.Владелец = &ВыбДокумент | |УПОРЯДОЧИТЬ ПО | ТЧ |ИТОГИ ПО | ТЧ"; Запрос.УстановитьПараметр("ВыбДокумент", Ссылка); Результат = Запрос.Выполнить(); ВыборкаТЧ = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаТЧ.Следующий() Цикл // Добавляем страницу ВыборкаДетальныеЗаписи = ВыборкаТЧ.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // заполняем страницу данными из рс КонецЦикла; КонецЦикла; КонецПроцедуры структуру рс сани делаете - смотря какая структура тч вашего документа при записи дока наоборот по документу читаем из рс - если записи какие-то уже есть - скначала из рс запросом читаем потом ЗаполнитьЗначенияСвойств(РСМенеждер,Выборка); если в запросе что то было - то мы счас на старой записи - пишем в нее. если в запросе ничего не было - создаем новую запись вот неотлаженное: Процедура ОбновитьРС(Страница) Запрос=Новый Запрос; ТекстЗапроса="ВЫБРАТЬ | ТЧДокументов.Владелец, | ТЧДокументов.ТЧ |ИЗ | РегистрСведений.ТЧДокументов КАК ТЧДокументов |ГДЕ | ТЧДокументов.Владелец = &ВыбДокумент | И ТЧДокументов.ТЧ = &ИмяТЧ"; Запрос.Текст=ТекстЗапроса; Запрос.УстановитьПараметр("ВыбДокумент",Ссылка); Запрос.УстановитьПараметр("ИмяТЧ",Страница.Имя); Результат=Запрос.Выполнить(); РСМенеждер=РегистрыСведений.ТЧДокументов.СоздатьМенеджерЗаписи(); Если Не Результат=Неопределено Тогда Выборка=Результат.Выбрать(); Если Выборка.Следующий() Тогда ЗаполнитьЗначенияСвойств(РСМенеждер,Выборка); РСМенеждер.Прочитать(); КонецЕсли; КонецЕсли; ф=1; КонецПроцедуры ето вызываем в приЗаписи Для Каждого Альтернатива Из Панель.Страницы Цикл ОбновитьРС(Альтернатива); КонецЦикла; |
|||
100
vicof
07.11.14
✎
12:32
|
(100)
|
|||
101
Ly_Alena
07.11.14
✎
12:36
|
(97) Я замужем, у меня есть сын. Мне 27 и я решила кардинально сменить поле своей деятельности. Раньше была менеджером по госзакупкам, но всегда было интересно то чем начала заниматься сейчас. ТО есть я начала реально с нуля. Поэтому не так все просто идет. Поэтому много слов непонятно. Не судите строго. Есть огромное желание продолжать - и пока все Ваши кинутые ботинки и шутки не отбили это желание, и не отобъют. Максимум отобъют желание ходить на этот форум за помощью.
Вот такое вот откровение. А теперь снова к разбору полетов ) |
|||
102
Ly_Alena
07.11.14
✎
12:37
|
(99) что такое РС?
|
|||
103
chelentano
07.11.14
✎
12:48
|
(102) Регистр Сведений
|
|||
104
Chameleon1980
07.11.14
✎
12:49
|
ну обычно рс - регистр сведений, хз - может быть как хранилище значений, ПВХ, например - план видов характеристик. вобщем ищите альтернативы в объектами конфигурации.
|
|||
105
vicof
07.11.14
✎
12:51
|
(101) Так может быть сначала обучающие материалы почитать, псомотреть. Понять, как делаются базовые вещи, а потом уже творить непотребства по заявкам пользователей?
|
|||
106
Ly_Alena
07.11.14
✎
12:57
|
(105) смотрела и читала. Но я думаю что можно изучать и читать и смотреть видео материалы долго, гораздо лучше усваивается когда есть какие-то реальные задания и не миф. Мне так лучше. А идти на форум с вопросом и получать ответ - почитай или посмотри видео не хочется. вот если бы конкретно по теме - вот такое-то видео или такая-то книга )
|
|||
107
Ly_Alena
07.11.14
✎
12:58
|
Если этот форум только для спецов - то конечно я не по адресу
|
|||
108
dimaldinho
07.11.14
✎
13:02
|
(88) Запросом по регистру сведений
|
|||
109
Ly_Alena
07.11.14
✎
13:04
|
(108) А менеджер все варианты будет видеть только на листе получается, а в документе только один вариант, который будет открывать и менять - я правильно поняла?
|
|||
110
dimaldinho
07.11.14
✎
13:06
|
(109) Да. Но ничего не мешает, если потребуется, сделать в документе кнопку "Показать в одной табличной части все варианты и вывести колонку с именами вариантов"
|
|||
111
Ly_Alena
07.11.14
✎
13:07
|
(110) непонятно как и где менеджер будет вводить данные цен и различных расходов?
|
|||
112
Ly_Alena
07.11.14
✎
13:33
|
КоличествоСтраниц=ЭлементыФормы.АльтернативныеТЦ.Страницы.Количество();
НоваяСтраница=ЭлементыФормы.АльтернативныеТЦ.Страницы.Добавить("Страница"+КоличествоСтраниц,"Альтернатива"+КоличествоСтраниц); ЭлементыФормы.АльтернативныеТЦ.ТекущаяСтраница = НоваяСтраница; ТабличноеПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПоле"+5, Истина, ЭлементыФормы.АльтернативныеТЦ); ЭлементыФормы["Товары" + КоличествоСтраниц].Лево = 6; ЭлементыФормы["Товары" + КоличествоСтраниц].Верх = 6; ЭлементыФормы["Товары" + КоличествоСтраниц].Ширина = 370; ЭлементыФормы["Товары" + КоличествоСтраниц].Высота = 194; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Значение = ТабличноеПоле; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].СоздатьКолонки(); Можно вопрос? Вылетает ошибка: {Документ.АльтернативнаяТаблицаЦенообразования.Форма.ФормаДокумента.Форма(14)}: Поле объекта не обнаружено (Товары1) ЭлементыФормы["Товары" + КоличествоСтраниц].Лево = 6; |
|||
113
dimaldinho
07.11.14
✎
13:39
|
(111) В элементе формы документа "Табличное поле"
|
|||
114
Chameleon1980
07.11.14
✎
13:40
|
ТабличноеПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПоле"+5, Истина, ЭлементыФормы.АльтернативныеТЦ);
что за +5 |
|||
115
Chameleon1980
07.11.14
✎
13:40
|
?
|
|||
116
Ly_Alena
07.11.14
✎
13:43
|
(114) возможное количество страниц и таблиц
|
|||
117
Ly_Alena
07.11.14
✎
13:43
|
это (68)
|
|||
118
butterbean
07.11.14
✎
13:45
|
(112) че за "Товары"? у тебя ведь ТабличноеПоле
(116) тебе надо было видимо 5 раз сделать ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПоле"+ТутНомерСтраницы... |
|||
119
Ly_Alena
07.11.14
✎
13:46
|
(118) табличное поле называется товары
|
|||
120
butterbean
07.11.14
✎
13:47
|
(119) почему ты тогда пишешь ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПоле"..., а не ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"Товары"...
|
|||
121
Ly_Alena
07.11.14
✎
13:49
|
(120) Даже если везде написать Табличное поле - все равно выдает ту же ошибку только уже спрашивает поле объекта не обнаружено (ТабличноеПоле1)
|
|||
122
butterbean
07.11.14
✎
13:51
|
(121) >> все равно выдает ту же ошибку
это не значит, что надо фигню писать, а на "ТабличноеПоле1" ругается потому что ты создаешь только один элемент "ТабличноеПоле5", вместо того чтоб создать пять штук |
|||
123
Ly_Alena
07.11.14
✎
13:53
|
(122) да +1 ставлю - выводит, но как мне сделать чтобы каждое нажатие кнопки выводило новую страницу с новой табличной частью?
|
|||
124
butterbean
07.11.14
✎
13:59
|
(123) твой код разве этого не делает??
|
|||
125
Ly_Alena
07.11.14
✎
14:00
|
мой код выдает ошибку - вкладку создает, а табличное поле ошибку
|
|||
126
butterbean
07.11.14
✎
14:07
|
(125) какую теперь ошибку выдает??
|
|||
127
Krolik Bezobraznik
07.11.14
✎
14:09
|
А по моему проще создать 5 ТЧ в доке и скрывать страницы по необходимости.
|
|||
128
antoneus
07.11.14
✎
14:12
|
Я, наверно, скажу какую-то глупость, но не проще добавить в ТЧ реквизит "НомерТабличнойЧасти" и, фильтруя по нему, выгружать хоть в пятьдесят таблиц на форме, и добавлять из таблиц на форме в ТЧ?
|
|||
129
Chameleon1980
07.11.14
✎
14:12
|
вот лови
Процедура ОсновныеДействияФормыДобавитьСтраницу(Кнопка) КоличествоСтраниц=ЭлементыФормы.Панель.Страницы.Количество(); НоваяСтраница=ЭлементыФормы.Панель.Страницы.Добавить("Страница"+КоличествоСтраниц,"Альтернатива "+КоличествоСтраниц); ЭлементыФормы.Панель.ТекущаяСтраница = НоваяСтраница; // добавляем тп на новую страницу НовоеТП=ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПоле"+КоличествоСтраниц,Истина,ЭлементыФормы.Панель); // задаем размеры как у обычной тч "Номенклатура" ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Лево = ЭлементыФормы.Номенклатура.Лево; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Верх = ЭлементыФормы.Номенклатура.Верх; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Ширина = ЭлементыФормы.Номенклатура.Ширина; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Высота = ЭлементыФормы.Номенклатура.Высота; // выгружаем копию данных из стандартной тч "Номенклатура" ТЗСтандартная=Номенклатура.Выгрузить(); ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].Значение = ТЗСтандартная; ЭлементыФормы["ТабличноеПоле" + КоличествоСтраниц].СоздатьКолонки(); КонецПроцедуры тока с размерами не совсем |
|||
130
Chameleon1980
07.11.14
✎
14:14
|
здесь "Панель" это панель со страницами,
а "Номенклатура" это ваша тч |
|||
131
dimaldinho
07.11.14
✎
14:14
|
(128) да, хороший вариант. только автор темы невменяем
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |