|
|
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
при открытии заполняется колонки ТАБКОД, ФАМИЛИЯ,ОКЛАД есть списокзначений «Добавить колонку» индификатор ИМЯ со значениями Имя, Отчество, ДатаПриема, ДатаУвольнения, Пол, Состояние, Окад, Должность. . как написать процедуру чтобы При выборе дополнительной колонки в списке «Добавить колонку» соответствующая колонка создается и заполняется данными для всех сотрудников перечисленных в колонке Фамилия. Если выбирается уже существующая колонка, то ничего не происходит и выдается соответствующее сообщение. Дополни- тельные колонки должны создаваться в таблице значений именно в той последовательности в которой они расположены в списке «Добавить колонку» независимо от последовательности их выбора. с как ето сделать? при открытии создать таблицу значений с абсолютно всеми полями? но как выгрузить только первые и как потом добавлять? пожалуйста помогите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 15:14 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
добавляй по мере необходимости... вон как удалял так и добавляй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 15:38 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, процедура привыб() если списзнач.получитьзначение(текущаястрока())="имя" тогда таблицазначений.вставитьколонку("имя",3); иначе если списзнач.получитьзначение(текущаястрока())="отчество" тогда таблицазначений.вставитьколонку("отчество",4); иначе если списзнач.получитьзначение(текущаястрока())="датаприема" тогда таблицазначений.вставитьколонку("датаприема",5); иначе если списзнач.получитьзначение(текущаястрока())="датаувольнения" тогда таблицазначений.вставитьколонку("датаувольнения",6): иначе если списзнач.получитьзначение(текущаястрока())="состояние" тогда таблицазначений.вставитьколонку("состояние",7); иначе если списзнач.получитьзначение(текущаястрока())="оклад" тогда таблицазначений.вставитьколонку("оклад",8); иначе если списзнач.получитьзначение(текущаястрока())="датаприема" тогда таблицазначений.вставитьколонку("датаприема",9); конецесли; конецесли; конецесли; конецесли; конецесли; конецесли; конецесли; конецпроцедуры выдает Выражение должно иметь логический тип но ведь я сравниваю значение типа строка со значением типа строка почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 15:51 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, тогда вопрос по поводу ВидимостьКолонки(<Колонки>,<Видимость>,<Позиция>) при открытии я создаю табзнач где есть ВСЕ поля но как мне выгрузить их в таблицу на форме причем только некоторые видимыми а остальные нет? потом при ДОБАВИТЬ колонку-просто видимость изменять, так можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 15:55 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, и кстати как написать процедуру которая будет печатьть все что на текущий момент находится в таблице значений??? я печатал раньше сначала передав в таблицу предварительно оформив ее. можно ли без этого , напрямую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 15:59 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
можно но какая разница Добавлять или Скрывать/Показывать - алгоритм тот же единственное что во втором случае данные сохраняться рекомендую воспользоваться возможностями списка (с возможными добавлениями колонок) ВыбратьЗначение() и в зависимости от того значения что она вернёт добавлять или нет колонку код которой она вернёт в качестве одного из параметров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:03 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
maxfaqLast1Cmen, и кстати как написать процедуру которая будет печатьть все что на текущий момент находится в таблице значений??? я печатал раньше сначала передав в таблицу предварительно оформив ее. можно ли без этого , напрямую? эээ не понял создаешь объект Таблца и выводишь в него циклом по таблице все необходимые секции в 7ке печати списка нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:05 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1CmenmaxfaqLast1Cmen, и кстати как написать процедуру которая будет печатьть все что на текущий момент находится в таблице значений??? я печатал раньше сначала передав в таблицу предварительно оформив ее. можно ли без этого , напрямую? эээ не понял создаешь объект Таблца и выводишь в него циклом по таблице все необходимые секции в 7ке печати списка нет но как прописать колонки? ведь их кол-во меняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:11 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, тоесть допустим у нас есть 3 колонки и шесть строчек как сделать по ним перебор с выводом? раньше я делал так таб=создатьобъект("таблица"); таб.вывестисекцию("шапка"); таб.опции(0,0,таб.высотатаблицы(),0); для номерстроки=1 по табзнач.количествострок() цикл табзнач.получитьстрокупономеру(номерстроки); таб.вывестисекцию("строка"); конеццикла; таб.вывестисекцию("подвал"); таб.показать(); конецпроцедуры но СТРОКА ПОДВАЛ да и структура таблицы уже были сделаны вручную, как все ето сделать программно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:16 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Есть ПрисоединитьСекцию() для этого... вот и "набирай" секции вправо как из кирпичиков столько сколько необходимо количеству колонок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:54 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
тут недавно была задачка про вывод таблицы умножения там вот всё подробненько и с примером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:55 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, немного не допонимаю... вот допустим процедура печать2() таб=создатьобъект("таблица"); таб.вывестисекцию("шапка"); таб.опции(0,0,таб.высотатаблицы(),0); для номерстроки=1 по табзнач.количествострок() цикл табзнач.получитьстрокупономеру(номерстроки); таб.вывестисекцию("строка"); конеццикла; таб.вывестисекцию("подвал"); таб.показать(); но тут у нас преопределенная строка, подвал и шапка,. вот допустим я создал таблицу значений и выгружаю ее в таблицузначений на форме табзнач=создатьобъект("таблицазначений") ; спрсотр=создатьобъект("справочник.сотрудники"); табзнач.новаяколонка("ТабНомер","Число","ТН",,,4); табзнач.новаяколонка("Фамилия","Строка",14); табзнач.новаяколонка("Имя","Строка",20); табзнач.новаяколонка("отчество","строка",30); табзнач.новаяколонка("ДатаПриема","дата",,,"Принят"); табзнач.новаяколонка("ДатаУвольнения","дата",,,"Уволен"); табзнач.новаяколонка("Состояние","перечисление.состояние"); табзнач.новаяколонка("Оклад", "число",10,2); табзнач.новаяколонка("Должность","справочник.должности"); спрсотр.выбратьэлементы(); пока спрсотр.получитьэлемент()=1 цикл табзнач.новаястрока(); табзнач.табномер=спрсотр.код; табзнач.фамилия=спрсотр.наименование; табзнач.имя=спрсотр.имя; табзнач.отчество=спрсотр.отчество; табзнач.Датаприема=спрсотр.датаприема; табзнач.Датаувольнения=спрсотр.ДатаУволнения; табзнач.состояние=спрсотр.состояние; табзнач.оклад=спрсотр.оклад.получить(текущаядата()); табзнач.должность=спрсотр.должность; конеццикла; табзнач.выгрузить(таблицазначений); Таблицазначений.ВидимостьКолонки("отчество, имя,датаувольнения,состояние,должность",0) как мне ее теперь напечатать? можете пожалуйста приминительно к етому сказать. честно не поймму как. помогите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 17:44 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
вы секции как готовите перед выводом ? правильно в конфигураторе но ТОЛЬКО горизонтальные а вы добавить ещё и вертикальные с названиями ка кназвания (коды) ваших колонок и используя ПрисоединитьСекцию() выводите секции по совпадающим с кодами колонок идентификаторам Т.е. есть у вас колонки ТабНомер и ФИО ну и тогда делаете такие же вертикальные секции и при выводе строк таблицы присоединяте секции по таким идентификаторам присоединитьсекцию("СекцияГоризонт|СекцияВертикаль") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 18:19 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, как сделать выборку по колонкам, тоесть присоединить только те у которых видимость 1?.... блин туплю.честно не догоняю. понимаю что но не понимаю как(( можете по моему случаю сказать КАК? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 18:27 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
а вы не делайте выборку, делайте прямое обращение Для номстр = 1 По ТбЗнач.Количествострок() Для текпоз = 1 По СпКолонок.РазмерСписка() //первую секцию строки выводим //остальные присоединяем СпКолонок - список отображаемых колонок подготовленный перед выводом ессно (можно когда скрываешь убирать из списка а при показе - добавлять в список) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 18:34 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, если таблицазначений.видимостьколонки(таблицазначений.текущаяколонка())=1 тогда как ету колонку передать в спколонок? Для номстр = 1 По ТбЗнач.Количествострок() Для текпоз = 1 По СпКолонок.РазмерСписка() //первую секцию строки выводим //остальные присоединяем ааа не понятна реальзация конкретная((((( как мы выведем горизонт ? как все строки с информацией вних?((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 18:49 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
мда( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 19:19 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
maxfaqмда( чего непонятно то? циклом перебираешь строки своей ТЗ а внутренним циклом обходишь список отображаемых колонок получая коды колонок и значения этих колонок из ТЗ попутно выводя их в таблицу печати ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 10:44 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, если таблицазначений.видимостьколонки(таблицазначений.текущаяколонка())=1 тогда а как ети колонки записать в СПколонка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 12:41 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
maxfaqLast1Cmen, если таблицазначений.видимостьколонки(таблицазначений.текущаяколонка())=1 тогда а как ети колонки записать в СПколонка? ну насчет того что видимостьколонки() что-то вернёт не уверен (не помню чтоб вообще так её использовал когда либо) а если не вернёт то формируй его заранее на этапе работы с ними СпКолонка.добавитьзначение() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 12:58 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
можно ещё добавить универсализации при помощи ПолучитьПараметрыКолонки() (динамически формировать вывод секций по получаемым кодам) но думаю тебе пока это ещё рановато можно делать общий список существующих колонок а в процессе работы использовать пометки оного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 13:16 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, мп=создатьобъект("списокзначений"); Для номкол = 1 По таблицазначений.Количествострок() цикл если таблицазначений.видимостьколонки(таблицазначений.текущаяколонка())=0 тогда мп.добавитьзначение(таблицазначений.получитьзначение(таблицазначений.текущаяколонка())); сообщить(таблицазначений.получитьзначение(таблицазначений.текущаяколонка())); конецесли; конеццикла; по идее он должен вывобить в окно сообщений ,но не выводит..... не понимаю а как тогда отобрать колонки которые видимы в таблице значений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 13:22 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmenможно ещё добавить универсализации при помощи ПолучитьПараметрыКолонки() (динамически формировать вывод секций по получаемым кодам) но думаю тебе пока это ещё рановато можно делать общий список существующих колонок а в процессе работы использовать пометки оного а как ето.можно поподробнее..? а то сегодня спросил у перподавателя на курсах а он не дает свой вариант реальзации етого задания..детский сад.. помогите пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 13:27 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
там писать много по памяти а генерить таблицу если честно то лениво не выводиться у тебя ничего потому что метод ТекущаяСтрока/Колонка() работает интерактивно а ты строки выбираешь програмно список формируй(переформировывай) при работе с колонками в процедурах отвечающих за отображение колонки (сначала все колонки а потом удаляй из списка или добавляй по мере отображаения в таблице пока работа интерактивно) можно и сразу выгрузить в список коды всех колонок а потом только ставить пометки у тех значений списка которые невидимы/видимы (сп.пометка(,)) по мере работы с таблицей а потом во внутреннем цикле только обходишь список и те которые помечены/непомечены и выводишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 13:37 |
|
||
|
таблица значений. колонки и печать содержимого таблицы значений
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, при добавлении процедура привыб() таблицазначений.видимостьколонки(списзнач.получитьзначение(выб.текущаястрока()),1); списзнач1.пометка(выб.текущаястрока()+2,1);// разница в количестве значений 2 конецпроцедуры при удалении процедура пять() спФикс = СоздатьОбъект("СписокЗначений") ; спФикс.Добавитьзначение("ТабНомер"); спФикс.Добавитьзначение("Фамилия"); если (спфикс.принадлежит(таблицазначений.текущаяколонка()))=1 тогда предупреждение("Основная колонка!!!!"); возврат; иначе таблицазначений.видимостьколонки(таблицазначений.текущаяколонка(),0) ; списзнач1.пометить(таблицазначений.текущаяколонка()+2,0); конецесли; конецпроцедуры так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 14:16 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36550826&tid=1522519]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 487ms |

| 0 / 0 |
