helpf.pro
Регистрация

v8: Поле выбора в форме

Ermak
08.09.2011 18:18Прочитано: 8607
В форму документа "Внутренний заказ" добавил колонку, к колонке присвоил элемент управления "Поле выбора" на документ СчетНаОплатуПоставщика. Смысл идеи такой, выбрать из формы списка документ СчетНаОплатуПоставщика нужный счет и чтобы он остался виден в колонке документа "Внутренний заказ". Эта для того чтобы в дальнейшем когда открываем документ "Внутренний заказ" можно было сразу попасть на нужный счет.

Вот что сделал:

Код 1C v 8.х
 Процедура ТоварыСчНачалоВыбора(Элемент, СтандартнаяОбработка)

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

КонецПроцедуры СчетНаОплатуПоставщика


Я захожу в документ СчетНаОплатуПоставщика но почему то он не сохраняется в колонке.
В чем дело?
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
09.09.2011 10:38Ответ № 1
(0) Ermak, нужно было добавить колонку и в поле тип указать документСсылка.СчетНаОплатуПоставщика, далее вставляешь эту колонку в таблицу и все!!! ни какого кода не нужно!!!
Ermak
09.09.2011 12:55Ответ № 2
Я так и делал, но когда нажимаю выбрать там пусто и меня не переносит в документ СчетНаОплатуПоставщика из за этого я написал код.

Прикрепил картинку , показываю как я сделал без кода
title
E_Migachev
09.09.2011 14:07Ответ № 3
(2) Ermak, в Использовании поставь галочку Кнопка Выбора
Ermak
09.09.2011 14:18Ответ № 4
Сделал, на кнопку нажимаю не чего не происходит
DJ_Serega
13.09.2011 13:07Ответ № 5
попробуй в коде загнать док.счет в список значений, а потом:
Код 1C v 8.х
 НужнаяКолонка.СписокВыбора = СЗСчет   

я так заганял в Список Выбора реквизиты справочников ;)
Ermak
13.09.2011 14:22Ответ № 6
Можно на примере показать, я еще слабо силен в 1С
DJ_Serega
14.09.2011 11:32Ответ № 7
вот таким образом я добавил все реквизиты справочнка в СписокВыбора ;)
Код 1C v 8.х
 
СЗРеквизитов = Новый СписокЗначений;
Для каждого Реквизиты из Метаданные.Справочники.Номенклатура.Реквизиты Цикл
СЗРеквизитов.Добавить(Реквизиты.Имя);
КонецЦикла;
СЗРеквизитов.СортироватьПоЗначению(НаправлениеСортировки.Возр);
ЭлФормы.РеквизитНоменклатуры.СписокВыбора = СЗРеквизитов;

Данная процедура, в данном случае, выполняется в модуле объекта, а ЭлФормы это элементы формы формы ;)
Изменено 14.09.11 11:35:31
Ermak
14.09.2011 12:47Ответ № 8
Не получается нечего
DJ_Serega
14.09.2011 13:04Ответ № 9
что уже получилось?
Ermak
14.09.2011 14:20Ответ № 10
Во первых не могу понять что писать здесь в моей ситуации:
Код 1C v 8.х
 Для каждого Реквизиты из ? Цикл   


Во вторых не могу понять как использовать "СписокВыбора" в моей ситуации, я не могу вообще найти его.
DJ_Serega
14.09.2011 15:19Ответ № 11
вот такое получилось на моей тестовой базе. Под себя перепиши ;)
Код 1C v 8.х
 
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

СЗДляПоляВыбор = Новый СписокЗначений;
СписокДоков = Документы.ЗаказПокупателя.Выбрать();
Пока СписокДоков.Следующий() Цикл
СЗДляПоляВыбор.Добавить(СписокДоков.Ссылка);
КонецЦикла;
ЭлементыФормы.ТабличноеПоле1.Колонки.Колонка1.ЭлементУправления.СписокВыбора = СЗДляПоляВыбор;

КонецПроцедуры

Процедура ТабличноеПоле1Колонка1Открытие(Элемент, СтандартнаяОбработка)

ДокОб = Документы.ЗаказПокупателя.НайтиПоНомеру(Элемент.Значение.Номер);
Если НЕ ДокОб = Документы.ЗаказПокупателя.ПустаяСсылка() Тогда
ДокОб.ПолучитьФорму().Открыть();
КонецЕсли;

КонецПроцедуры

Когда разберешся, сможешь добавлять в список только определенные документы (посмотри в синтакс-помощнике по выборке документов *17 )
Изменено 14.09.11 15:22:01
E_Migachev
14.09.2011 15:22Ответ № 12
Нужно было всего-то:
1. В табличную часть документа добавить реквизит РеквСчетНаОплатуПоставщика и указать его тип ДокументСсылка.СчетНаОплатуПоставщика
2. Открыть форму документа и в тбличную часть вставить реквизит через меню Форма - Размещение данных
3. Сохранить и открыть - все будет!
DJ_Serega
14.09.2011 15:26Ответ № 13
(12) E_Migachev, ему это уже предлагали, видимо нужно именно через код *03
Ermak
14.09.2011 15:36Ответ № 14
(12) E_Migachev, Я же вам показал на картинке выше что я так и сделал.
1. Создал реквизит в табличной части и назвал его "Сч"
2. В форме документа добавил колонку "Счет поставщика" , элемент управления поставил "Поле выбора" и в данные поставил "Сч".
Но не РАБОТАЕТ!!!!

Стал думаю сделать программно, но если можно не программно то почему не работает.
Ermak
14.09.2011 15:38Ответ № 15
(13) DJ_Serega, я писал что не получается, я бы рад не программно сделать.
DJ_Serega
14.09.2011 15:51Ответ № 16
(15) Ermak, а чем тебе (12) не подходит?
1. В табличной части объекта (НЕ ФОРМЫ) есть реквизит счет?
2. Если есть, то тип данных стоит ДокументСсылка.СчетНаОплатуПоставщика
3. В форме, в табличной части должна быть колонка счет. ЭлементУправления которой "Поле ввода".

После этого без программного кода дожно все работать *07
Изменено 14.09.11 15:52:42
Ermak
14.09.2011 16:33Ответ № 17
(16) DJ_Serega, НЕ работает почему то или я что то не так делаю.
С кодом спасибо большое все получилось, только есть два вопроса:
1) Когда я выбрал в списке документ и его сохранил я хочу его открыть по этой ссылки но он не открывается, можно сделать чтобы при нажатии на ссылку он открылся?
2) Нажимаю и выпадает список, если через 5 лет список станет большим, он будет растягиваться все ниже и ниже, можно сделать чтобы открывалась Форма списка и там выбирать документ который нужен?

По Ответ № 16 я попробовал, расскажу по порядку как делаю, я еще слабоват в 1С
1) Захожу в раздел "Данные" - "Реквизиты" и добавляю реквизит "Сч"
2) Тип указал ДокументСсылка.СчетНаОплатуПоставщика
3) Создал колонку, Имя дал тоже самое Сч, элементУправления дал Поле выбора.
И не работает, почему не понимаю но интересно, вы же пишете что должно работать
E_Migachev
14.09.2011 18:24Ответ № 18
(14) Ermak,
Цитата
(12) E_Migachev, Я же вам показал на картинке выше что я так и сделал.
1. Создал реквизит в табличной части и назвал его "Сч"
2. В форме документа добавил колонку "Счет поставщика" , элемент управления поставил "Поле выбора" и в данные поставил "Сч".
Но не РАБОТАЕТ!!!!

Вот пунктом 2 Ты все и сломал!!! - удали эту колонку вообще и добавь ее через меню Форма - Размещение данных и больше ничего не меняй!!! -сохрани и все будет!
Ermak
15.09.2011 08:51Ответ № 19
Понял что вы имели ввиду. Сделал как сказали:
Создал реквизит в Табличные части - Товары - Счет поставщика
Через меню Форма - Размещение данных добавил колонку, но все равно не работает!!!

Прикрепил картинку, можете посмотреть!

title
DJ_Serega
15.09.2011 09:39Ответ № 20
(19) Ermak, какой тип реквизита?
Ermak
15.09.2011 09:43Ответ № 21
Тип ДокументСсылка.СчетНаОплатуПоставщика

title
Ermak
15.09.2011 09:48Ответ № 22
Не выбирает он, посмотрите на картинку

title
E_Migachev
15.09.2011 10:00Ответ № 23
(19) Ermak, зачем поменял на Поле выбора?????? -должно быть поле ввода
Просто давивь через размещение данных и ничего больше не трогай!
Ermak
15.09.2011 10:10Ответ № 24
(23) E_Migachev*06 , СПАСИБО БОЛЬШОЕ ЗА ТВОЕ ТЕРПЕНИЕ!!!!!!

Все получилось!!!
Ermak
15.09.2011 10:10Ответ № 25
Вопрос закрыт!
Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.