Имя: Пароль:
1C
1С v8
Программное добавление Таблицы и командной панели
, ,
0 ЯЧайник
 
15.09.15
11:36
Добрый день! УФ. Программно добавляю таблицу на форму:

ЭлементТаблица=Элементы.Добавить("ТЗ",Тип("ТаблицаФормы"));
ЭлементТаблица.ПутьКДанным = "ТЗ";
ЭлементТаблица.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Верх;

А теперь мне надо,чтобы в командной панели отображалась только команда "Добавить"(стандартная). Можно ли это сделать? и если да,то как должен выглядеть примерно код?
1 Апош
 
15.09.15
11:39
не это тебе надо
2 ЯЧайник
 
15.09.15
11:39
А что мне надо?
3 Апош
 
15.09.15
11:41
(2) наверное, не давать удалять строки, изменять строки...
4 Апош
 
15.09.15
11:42
+(3) учти: следующий вопрос будет "а на хрена?"
5 Nuobu
 
15.09.15
11:42
(3) изменять строки...
Не равно добавлять строки.
6 ЯЧайник
 
15.09.15
11:43
(3) Ну или так: убрать эти стандартные команды (удалить,скопировать...).И это я тоже не знаю как сделать.А Вы знаете?
7 Апош
 
15.09.15
11:43
(6) ну хорошо. на хрена?
8 ЯЧайник
 
15.09.15
11:44
(4) Потому что будут такие ситуации,когда надо добавить строку
9 ЯЧайник
 
15.09.15
11:44
(6) - (8)
10 ЯЧайник
 
15.09.15
11:44
(7)-(8))))
11 Апош
 
15.09.15
11:45
(8) оно само по дефолту позволяет добавлять
12 ЯЧайник
 
15.09.15
11:46
Ни чего хорошего - ответ (или хотя бы подсказка) так и не поступил. Наверное,придется стряпать кнопку и к ней свой обработчик(((
13 ЯЧайник
 
15.09.15
11:46
(11) - я не понимаю, про что идет речь
14 Апош
 
15.09.15
11:47
(13) ничего не трогай, тебе и так дадут добавлять
15 Nuobu
 
15.09.15
11:49
(12) Молодец.
Это правильный ответ.
16 ЯЧайник
 
15.09.15
11:52
(15) - А так хотелось что-то подобное:

КоманднаяПанельМБП = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), "КоманднаяПанельМБП", , ЭлементыФормы.ОсновнаяПанель);
КоманднаяПанельМБП.ИсточникДействий    = ЭлементыФормы.МБП;
КоманднаяПанельМБП.Автозаполнение        = Ложь;

Но это,похоже,речь про обычные формы(((
17 Nuobu
 
15.09.15
11:53
(16) Так твой же код будет работать.
Просто добавь на эту панель кнопку и привяжи её к команде.
18 ЯЧайник
 
15.09.15
12:09
Пишу:

ЭлементТаблица=Элементы.Добавить("ТЗ",Тип("ТаблицаФормы"));
ЭлементТаблица.ПутьКДанным = "ТЗ";
ЭлементТаблица.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
КомПан = Элементы.Добавить("ТЗКоманднаяПанель",Тип("КоманднаяПанель"),Элементы.ТЗ);
КомПан.Автозаполнение = Ложь;
КомПан.ИсточникДействия = Элементы.ТЗ;

Ошибка:
Тип не определен (КоманднаяПанель)
Что не так-то?
19 Nuobu
 
15.09.15
12:10
Тип("КоманднаяПанель")
Тип("ГруппаФормы")
КомПан.ВидЭлемента = Тип("КоманднаяПанель");
20 aleks_default
 
15.09.15
12:20
(8)"Потому что будут такие ситуации,когда надо добавить строку"
А ситуаций когда нужно будет удалить добавленную строчку не будет? Не верю!
21 ЯЧайник
 
15.09.15
12:27
(20)Не будет!Там надо будет только ставить 0,а сама позиция будет удаляться в регистре (потому что у меня названия колонок - это измерения для регистра - в общем,мы пытаемся воспроизвести таблицу из Excel)
22 ЯЧайник
 
15.09.15
12:31
(19) если пишу так:

ЭлементТаблица=Элементы.Добавить("ТЗ",Тип("ТаблицаФормы"));
ЭлементТаблица.ПутьКДанным = "ТЗ";
ЭлементТаблица.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
КомПан = Элементы.Добавить("КомПанель",Тип("ГруппаФормы"));
КомПан.Вид = ВидГруппыФормы.КоманднаяПанель;

тогда нет реквизита Автозаполнение? Я уже запуталась(((
Пошла лучше поем)))
23 Апош
 
15.09.15
12:33
(21) чо?
24 aleks_default
 
15.09.15
12:35
(21)А если у пользователя вдруг залипнет клавиша Ins?
25 aleks_default
 
15.09.15
12:35
Или кусок торта на клавиатуру упадет?
26 Nuobu
 
15.09.15
12:36
(22) Смачного.
27 ЯЧайник
 
15.09.15
13:18
(24),(25) - Ну и что? пусть меняет клаву! цифры то ему всё равно надо будет править в этой таблице - такова задача!
28 ЯЧайник
 
15.09.15
13:20
(26) - Спасибо)))
29 Апош
 
15.09.15
13:58
(27) всё-таки править. чем мешает стандартная панель?
30 ЯЧайник
 
17.09.15
10:26
(29) я же писала,что в строчке идут записи,как в excel:
то есть
номенклатура | контрагент1 | контрагент2 | контрагент3
------------------------------------------------------
Конфетка           5             10           15
.................

При удалении такой строки,удалятся данные по всем контрагентам,а нужно удалить только по одному,т.е. поставить 0.
Я решила и стандартную панель оставить и свои кнопочки добавить)))
31 aleks_default
 
17.09.15
10:31
(30) По-нормальному, запись в регистр нужно делать не в момент добавления строчки в таб часть, а по нажатию специальной кнопки, типа "Сохранить внесенные изменения".
32 ЯЧайник
 
17.09.15
10:33
(31) так и происходит
33 aleks_default
 
17.09.15
10:56
Ну так и оставь пользователю стандартную командную панель. Чем она тогда не угодила?
34 ЯЧайник
 
17.09.15
11:32
Чет я связь не вижу между вопросами записи в регистр и командной панелью.? Мне в любом случае важно не удалять строчку,а обнулять значения в колонках и стандартная команда добавления строки мне всё-равно не подошла,потому что тогда типы колонок пропадают(потому что реквизит ТЗ и элемент формы формируются программно - там,в общем,пропадают типы колонок и заголовки при ЗначениеВРеквизитФормы("ТЗ",Табл))