Имя: Пароль:
1C
1С v8
Дублирование кнопки "Создать копированием" помогите!
0 Antakarana
 
31.07.12
12:45
Встроенную кнопку скопировать командная панель не даёт, поэтому создаю

СсылкаНаДок = ЭлементыФормы.СписокСобытийПоле.ТекущиеДанные.Ссылка;
ПараметрыДок = Новый Структура("ЗначениеКопирования", СсылкаНаДок);
Форма = ПараметрыДок.Ссылка.ПолучитьФорму("CRM_ФормаДокумента");
ОткрытьФорму(Форма, ПараметрыДок);


Но на выходе открывается тот же самый документ, а не его копия. Что же я делаю не так?

Помогите пожалуйста!
1 Maxus43
 
31.07.12
12:50
.Скопировать() кури например
2 Maxus43
 
31.07.12
12:53
>>Встроенную кнопку скопировать командная панель не даёт
ну а разбираться нужно с этим, а не добавлять свои велосипеды
3 Mort
 
31.07.12
12:55
ТабличноеПоле (TableBox)
СкопироватьСтроку (CopyRow)
Синтаксис:

СкопироватьСтроку()
Описание:

Копирует текущую строку табличного поля, аналогично выполнению команды "Добавить копированием".
4 Mort
 
31.07.12
12:56
Тока нафига, интересно.
5 Antakarana
 
31.07.12
12:59
СсылкаНаДок = ЭлементыФормы.СписокСобытийПоле.ТекущиеДанные.Ссылка;
ПараметрыДок = СсылкаНаДок.Скопировать();
Форма = СсылкаНаДок.Ссылка.ПолучитьФорму("CRM_ФормаДокумента");
ОткрытьФорму(Форма, ПараметрыДок);

Дает то же самое.

Так как же добавить саму кнопку в командную панель?
6 Mort
 
31.07.12
13:00
(5) Отключаешь в КП автозаполнение, - правая кнопка на КП - заполнить автоматически. Делай с ними дальше что хошь. А код свой выброси. Ересь.
7 hhhh
 
31.07.12
13:24
(5) что-то ПолучитьФорму - это же для обычных форм, а
ОткрытьФорму - это уже для управляемых.

Что-то вы на путаете.
8 chelentano
 
31.07.12
13:26
(0) негоже экономистам заниматься программированием, куйня какая то получается
9 Antakarana
 
31.07.12
13:32
Автозаполнение отключено, в списке действий "Скопировать" нету, поэтому и изгаляюсь. Я в начале обучения, не ругайтесь!
10 hhhh
 
31.07.12
13:56
(9) ну вы там нажмите "Заполнить автоматически", вот оно и появится.
11 Antakarana
 
31.07.12
13:59
КП не даёт кнопку "скопировать", так как список динамический с запросом.

Уважаемые, пожалуйста, подскажите как реализовать правильно этот кусок.
12 hhhh
 
31.07.12
14:04
(11) ну во-первых, зачем вы получаете форму первого документа, а не копии?

Форма = ПараметрыДок.Ссылка.ПолучитьФорму("CRM_ФормаДокумента");

выбросьте этот бред.

Во-вторых полностью зазубрите синтакс-помощник про ОткрытьФорму(). Там должно быть типа

ОткрытьФорму(Тратата-Траляля, ПараметрыДок)
13 Mort
 
31.07.12
14:36
(11) В командах смотри. На закладке "стандартные". Можно вытащить кнопку куда угодно.
14 Antakarana
 
31.07.12
15:39
Вот таким образом

СсылкаНаДок = ЭлементыФормы.СписокСобытийПоле.ТекущиеДанные.Ссылка;
ПараметрыДок = СсылкаНаДок.Скопировать();
ОткрытьФорму("Документ.Событие.Форма.CRM_ФормаДокумента", ПараметрыДок);

Выдает ошибку в методе ОткрытьФорму
Несоответствие типов (параметр номер '2')

Как же его передать?
15 Antakarana
 
31.07.12
15:57
Разобрался, код, наверняка, прост, спасибо большое
hhhh и Maxus43

СсылкаНаДок = ЭлементыФормы.СписокСобытийПоле.ТекущиеДанные.Ссылка;
ПараметрыДок = СсылкаНаДок.Скопировать();
ПараметрыДок.ПолучитьФорму("CRM_ФормаДокумента").Открыть();
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший