Имя: Пароль:
1C
1С v8
Добавить колонки в Таблицу значений
0 AnisaL
 
01.04.13
09:00
Доброе утро! Подскажите, не могу никак добавить колонки в таблицу значений. Выдает ошибку:

Процедура КоманднаяПанель2Заполнить(Кнопка)
   // Вставить содержимое обработчика.
   Запрос = Новый запрос;
   Запрос.Текст = "ВЫБРАТЬ
          |    КритерииЭффективностиДолжностей.Владелец КАК Должность,
          |    КритерииЭффективностиДолжностей.Ссылка
          |ИЗ
          |    Справочник.КритерииЭффективностиДолжностей КАК КритерииЭффективностиДолжностей
          |ГДЕ
          |    КритерииЭффективностиДолжностей.Владелец = &Владелец";
   Запрос.УстановитьПараметр("Владелец", Должность);      
   
   Выборка = Запрос.Выполнить().Выбрать();
   
   Таблица = ТаблицаПоДням;//ЭлементыФормы.ТаблицаПоДням;
   Пока Выборка.Следующий() Цикл
       
       Таблица.Колонки.Добавить(Строка(Выборка.Ссылка));
       
   КонецЦикла;
   
КонецПроцедуры
8 Cube
 
01.04.13
09:02
(6) Мимо кассы)
9 чувак
 
01.04.13
09:02
(0) В названиях колонок не должно быть пробелов
10 Cube
 
01.04.13
09:03
(7) Неверное имя колонки. Неверное имя колонки. Неверное имя колонки. Неверное имя колонки.

Достаточно или ещё постоврить?)
11 Wobland
 
01.04.13
09:03
(8) в кассу было чуть выше ;)
12 Cube
 
01.04.13
09:03
(10) *повторить
13 Fedot200
 
01.04.13
09:03
(0) Колонку ссылкой назвать - красиво.
14 ДенисЧ
 
01.04.13
09:04
(10) постоври ещё раз пять :-)
15 AnisaL
 
01.04.13
09:04
(9) Похоже из-за пробелов(( а как их убрать тогда
16 Wobland
 
01.04.13
09:04
(7) это значит, что имя колонки неверное, неподходящее, негодное
17 Cube
 
01.04.13
09:04
(14) :D
18 Wobland
 
01.04.13
09:05
(15) СтрЗаменить(" ", "")
19 чувак
 
01.04.13
09:05
(15) СтрЗаменить("вав ва в ва ", " ","")
20 Cube
 
01.04.13
09:05
(15) МояСтрокаБезПробелов = СтрЗаменить(МояСтрокаСПробелами, " ", "");
21 Alex S D
 
01.04.13
09:05
сТРзАМЕНИТЬ(Стр," ","");
22 Fedot200
 
01.04.13
09:05
(0) Сделай перед добавлением колонки Сообщить(Строка(Выборка.Ссылка)); и скинь нам, что напишет. :-)
23 Alex S D
 
01.04.13
09:05
ой, я опоздал. сори
24 Cube
 
01.04.13
09:05
(18) Эх ты... %)
25 Cube
 
01.04.13
09:06
Кстати, я бы всё-таки предложил так:
МояСтрокаБезПробелов = СтрЗаменить(МояСтрокаСПробелами, " ", "_");
26 Фокусник
 
01.04.13
09:07
(0) кроме пробелов проблема ещё может быть в дублях: у разных критериев один и тот же владелец
27 Alex S D
 
01.04.13
09:08
(26) причем тут владелец?
28 Jonny_Khomich
 
01.04.13
09:08
МОЯСТРОКА = ВРег(СтрЗаменить(МояСтрокаСПробелами, " ", "")) (25)
29 Wobland
 
01.04.13
09:09
МояСтрокаБезПробелов = СтрЗаменить(ТРег(МояСтрокаСПробелами), " ", "_") ?
30 Фокусник
 
01.04.13
09:09
(26) отставить (26), через телефон текст запроса не внимательно рассмотрел
31 Wobland
 
01.04.13
09:09
(29) тогда без подчерка
32 AnisaL
 
01.04.13
09:10
(28) Да, так попробую
33 AnisaL
 
01.04.13
09:17
Пока Выборка.Следующий() Цикл
       
       МОЯСТРОКА = СтрЗаменить(ТРег(Выборка.Ссылка), " ", "_");//СтрЗаменить(Строка(Выборка.Ссылка), " ", "");
       
       Таблица.Колонки.Добавить(МОЯСТРОКА);
       
   КонецЦикла;
А почему колонки не создались? Чего-то не хватает
34 Alex S D
 
01.04.13
09:18
с чего ты взяла , что не создались?
35 Wobland
 
01.04.13
09:18
(33) матерщина была? если нет, то создались
36 Cube
 
01.04.13
09:18
(33) ЭлементыФормы.ТаблицаПоДням.СоздатьКолонки();
37 AnisaL
 
01.04.13
09:19
(36) точно!
38 Wobland
 
01.04.13
09:19
(37) а теперь сходи в (1) и похвали меня
39 cw014
 
01.04.13
09:19
Таблица.Колонки.Добавить("DOC_" + Выборка.Ссылка.УникальныйИдентификатор(),,СокрЛП(Выборка.Ссылка));
40 cw014
 
01.04.13
09:20
+(39) Таким образом к колонке ты можешь обратиться по УИДУ документа, а в заголовке на форме будет отображаться твой документ
41 AnisaL
 
01.04.13
09:23
(38) Хвалю) Молодец)))
42 AnisaL
 
01.04.13
09:23
(39) Это что?
43 Alex S D
 
01.04.13
09:24
(42) это первоапрельская шутка)
44 AnisaL
 
01.04.13
09:25
(43) что правда
45 Cube
 
01.04.13
09:26
(43) Это не шутка
46 Alex S D
 
01.04.13
09:27
(45) а причем тут документ? если выборка из справочника?
47 Cube
 
01.04.13
09:28
(46) Блин, ну вставь ГУИД элемента справочника... Это ж идея, а не решение...
48 Alex S D
 
01.04.13
09:28
(47) ок. вставлю))
49 AnisaL
 
01.04.13
09:30
А как тип Число задать?
50 чувак
 
01.04.13
09:30
(49) Кудаааа?
51 AnisaL
 
01.04.13
09:31
(50) Столбики создались, добавляю строку а в нее ничего не могу вписать
52 Fedot200
 
01.04.13
09:31
ТЗ.Колонки.Добавить("ТвоеНазваниеКолонки",            Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3)));
53 Cube
 
01.04.13
09:32
(49) Что СП украли?

КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection)
Добавить (Add)
Синтаксис:

Добавить(<Имя>, <Тип>, <Заголовок>, <Ширина>)
Параметры:

<Имя> (необязательный)

Тип: Строка.
Имя колонки.
Значение по умолчанию: Пустая строка
<Тип> (необязательный)

Тип: ОписаниеТипов.
Объект, описывающий допустимые типы значений для колонки. Если параметр не указан, в колонке можно будет хранить значение любого типа.
<Заголовок> (необязательный)

Тип: Строка.
Заголовок колонки таблицы значений. Используется при визуальном отображении таблицы значений.
Значение по умолчанию: Пустая строка
<Ширина> (необязательный)

Тип: Число.
Ширина колонки в символах. Используется при визуальном отображении таблицы значений.
Значение по умолчанию: 0
Возвращаемое значение:

Тип: КолонкаТаблицыЗначений.

Описание:

Добавляет колонку в конец коллекции колонок таблицы.

Доступность:

Сервер, толстый клиент, внешнее соединение.
54 чувак
 
01.04.13
09:32
(51) Вот неожиданный поворот!
55 AnisaL
 
01.04.13
09:33
(54) Смейся смейся )))
56 Alex S D
 
01.04.13
09:33
(53) фу, как грубо...
57 AnisaL
 
01.04.13
09:35
(56) полностью согласна
58 чувак
 
01.04.13
09:35
(55) Народ хочет знать, что ты собиралась туда вписать?
59 Cube
 
01.04.13
09:35
(56) Читать надо первоисточник, а не верить слухам на мисте :)
60 Cube
 
01.04.13
09:36
(57) То есть, точить лопату тебе некогда, а копать надо уже сейчас? Ну-ну...
61 AnisaL
 
01.04.13
09:39
(58) Числа, максимальная длина 5 символов, без дробной части
62 Alex S D
 
01.04.13
09:40
(60) ну а ты когда начинал, и тебя пинали быстрее быстрее, ты конечно же пока не прочитаешь весь СП ничего не делал да?)
63 cw014
 
01.04.13
09:41
Таблица.Колонки.Добавить("REF_" + Выборка.Ссылка.УникальныйИдентификатор(),Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(5,0,ДопустимыйЗнак.Неотрицательный)),СокрЛП(Выборка.Ссылка));
64 Cube
 
01.04.13
09:41
(62) Я до сих пор читаю СП, когда программирую. Всё запомнить нереально, но УМЕТЬ ИСКАТЬ в СП нужно учиться с первых минут программирования на 1С...
65 чувак
 
01.04.13
09:41
(61) У тебя все колонки уже типизированы тем справочником, туда не можешь вписать числовое значение
66 Alex S D
 
01.04.13
09:44
(64) если так, мы бы не помогали бы тут этой хорошей девушке) было бы скучно))
67 cw014
 
01.04.13
09:46
+(63) Вот еще для ознакомления. Получить ссылку документа потом можно так:
Справочники.КритерииЭффективностиДолжностей.ПолучитьСсылку(Сред(КолонкаТаблицы.Имя, 5));
68 cw014
 
01.04.13
09:46
Не, не так...
Справочники.КритерииЭффективностиДолжностей.ПолучитьСсылку(Новый УникальныйИдентификатор(Сред(КолонкаТаблицы.Имя, 5)));
69 AnisaL
 
01.04.13
09:59
(66) Спасибо) Приятно слышать такие слова;))
70 cw014
 
01.04.13
10:01
(69) Комплименты важнее решения проблемы, это да... :)
71 AnisaL
 
01.04.13
10:04
(63) {Документ.ПоказателиЭффективностиСотрудников.Форма.ФормаДокумента(202)}: Ошибка при вызове метода контекста (Добавить): Неверное имя колонки
       Таблица.Колонки.Добавить("REF_" + Выборка.Ссылка.УникальныйИдентификатор(),Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(5,0,ДопустимыйЗнак.Неотрицательный)), МОЯСТРОКА);
72 cw014
 
01.04.13
10:05
(71) Попробуй так тогда: "REF_" + СтрЗаменить(Выборка.Ссылка.УникальныйИдентификатор(),"-","_")
73 AnisaL
 
01.04.13
10:07
(70) Они всегда важны) в любой ситуации;))
74 AnisaL
 
01.04.13
10:11
(72) Ввожу строки, сохраняю документ, потом открываю - пусто
75 cw014
 
01.04.13
10:12
(74) А они сохраняться должны? А куда?
76 cw014
 
01.04.13
10:12
(74) И чем?
77 Wobland
 
01.04.13
10:13
(74) а без формы введёшь?
78 AnisaL
 
01.04.13
10:19
(75) Ну вообще - эти показатели для каждой должности свои формируются, поэтому состав колонок зависит от должности , документ помесячный, еще столбик дата будет. Юзер должен открыть док, а в нем таблица по датам с колонками, он вводит в нее значения, они сохраняются в документе.
79 AnisaL
 
01.04.13
10:20
(78) а, я ТЧ не создала
80 Wobland
 
01.04.13
10:21
вот сейчас начинается самое интересное. вторая итерация с колонками
81 AnisaL
 
01.04.13
10:22
(79) {Документ.ПоказателиЭффективностиСотрудников.Форма.ФормаДокумента(199)}: Поле объекта не обнаружено (Колонки)
       Таблица.Колонки.Добавить(МОЯСТРОКА, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(5,0)));
82 cw014
 
01.04.13
10:23
(81) Рукалицо... Что ты хочешь то - скажи конкретно?
83 AnisaL
 
01.04.13
10:28
(82) блин, надо было сначала об этом подумать, чтоб таблица сохранялась, а сейчас колонки не создаются :'-(
84 чувак
 
01.04.13
10:29
(83) Немножко отдышись.
Теперь по порядку. Какая у тебя конечная цель?
85 Cube
 
01.04.13
10:30
(83) Точно, как обхаять меня, когда я пытался наладить методологию в твоей голове, так это пожалуйста... А как до дела доходит, то начинаешь понимать, что, может я был не так уж и груб и не так уж неправ... М? :)
86 cw014
 
01.04.13
10:36
В общем делай по принципу документа "Установка цен номенклатуры" (исключил все цепочки своих телепатических мышлений)
87 Reset
 
01.04.13
10:39
Решили проблему то? Или пока на стадии формирования задачи еще? Читать лень все :)
88 AnisaL
 
01.04.13
10:40
(84) Конечная цель - чтоб автоматически создавались таблицы по каждому сотруднику, с колонками - дата + критерии эффективности
89 Reset
 
01.04.13
10:41
Версии, не читая тему:
Наименование_Счетчик
Наименование_Код
Убрав из наименования плохие символы разумеется
90 AnisaL
 
01.04.13
10:41
(88) + по рабочим дням (желательно)
91 AnisaL
 
01.04.13
10:42
(88) Список критериев - в справочнике Критерии должностей
92 Cube
 
01.04.13
10:43
(88) Да, хлебнешь ты с этой задачкой... Может даже не осилишь... :)
93 Wobland
 
01.04.13
10:43
(89) ей метаданные нужны с такими названиями ;)
94 cw014
 
01.04.13
10:43
От чего зависит критерий эффективности?
95 Reset
 
01.04.13
10:44
(88)(90)(93) Ух. Давайте сделаем вид что я сюда не заходил :)
96 Cube
 
01.04.13
10:44
(88) Главное, что тебе нужно сейчас осознать - то что на форме должна отображаться двумерная таблица (произвольное число колонок, произвольное число строк), а в базе это всё должно храниться в одномерной таблице (фиксированное число колонок, произвольное число строк)
97 AnisaL
 
01.04.13
10:47
(94) На данный момент критериев 6 - они уже заданы. Но в дальнейшем могут еще добавляться колонки.
98 AnisaL
 
01.04.13
10:48
(94) Начальники отделов их сами определяют
99 AnisaL
 
01.04.13
10:50
ай, может не париться, да и так их создать
100 AnisaL
 
01.04.13
10:50
(99) колонки
101 Cube
 
01.04.13
10:50
Сотка
102 Cube
 
01.04.13
10:50
(101) Блин)
103 AnisaL
 
01.04.13
10:52
(100) по сути эта таблица нужна для одной должности
104 cw014
 
01.04.13
12:03
Делай две табл части. В первой:
Сотрудник, Документ, Показатель, ИндексСтрокиТаблицыДокументов

Во второй:
Документ


При открытии формируй из двух ТЧ свою таблицу. Заполняй по имеющимся данным. При изменении чего либо делай помещение измененного в первую ТЧ.
105 AnisaL
 
01.04.13
12:08
Ой, пока меня не было форум поменялся :))
106 AnisaL
 
01.04.13
12:13
А можно обратно все сделать?
107 AnisaL
 
01.04.13
12:16
(106) Блин, что первоапрельская шутка ?)))