Имя: Пароль:
1C
1С v8
Список выбора у поля ввода
,
0 clans
 
12.02.19
23:03
В БП 3.0 в Реализации есть форма Доставка, на ней АдресДоставки строковое поле. Для АдресаДоставки программно заполняется Списоквыбора, чтобы пользователь мог выбрать один из адресов контрагента.
При записи Реализации АдресДоставки сохраняется в реквизит Реализации, и при новом открытии Доставки все ок и даже работает Списоквыбора, который где-то запомнился.
Сейчас пытаюсь в другом документе такое сделать, реквизит АдресДоставки сохраняю, а СписокВыбора от поля ввода АдресДоставки не сохраняется.
Посоветуйте, куда смотреть, чтобы как в типовой сохранять СписокВыбора от поля ввода.
1 palsergeich
 
12.02.19
23:10
В БП давно не копался, но скорее всего тебе надо внедрять подсистему Контактная Информация на форму.
Посмотри по коду той формы, где работает в какие общие модули проваливается и к каким подсистемам они относятся. И потом на ИТС читать про них.
2 RomanYS
 
12.02.19
23:19
(0) уверен, что сохраняются введённые адреса? Вероятно просто берутся адреса из карточки контрагента
3 palsergeich
 
12.02.19
23:26
(2) Ну да, скорее всего так и сеть, КИ из контрагента... С формой я чота перегнул, это же документ...
4 clans
 
12.02.19
23:29
(2) да. Сохраняется список со строковыми элементами. И именно где-то сохраняется. Первоначально, при выборе контрагента он формируется, специальной процедурой из процедуры ПриВыбореКонтрагента. Но потом, когда, АдресДоставки сохранен в документе в строковом виде, и форма открывается по-новой, то процедура, которая делала этот список не запускается, а список есть, появляется по кнопке выбора возле поля ввода.
5 RomanYS
 
12.02.19
23:57
(4) хз, где ты там сохранение нашел. Тупо все адреса из карточки:

Функция СписокАдресовДоставки(Контрагент, Грузополучатель, Дата)

    СписокАдресов = Новый СписокЗначений;
    
    КонтрагентДоставки = ?(ЗначениеЗаполнено(Грузополучатель), Грузополучатель, Контрагент);
    Если НЕ ЗначениеЗаполнено(КонтрагентДоставки) Тогда
        Возврат СписокАдресов;
    КонецЕсли;
    
    ТипыКИ = Новый Массив;
    ТипыКИ.Добавить(Перечисления.ТипыКонтактнойИнформации.Адрес);
    
    Объекты = Новый Массив();
    Объекты.Добавить(КонтрагентДоставки);
    Адреса = УправлениеКонтактнойИнформациейБП.КонтактнаяИнформацияОбъектовНаДату(Объекты, ТипыКИ, , Дата);
    
    // Первым должен быть фактический адрес, затем юридический, а затем все остальные адреса.
    СортироватьАдресаДоставкиПоПриоритету(Адреса);
    
    Для Каждого Адрес Из Адреса Цикл
        СписокАдресов.Добавить(Адрес.Представление, "" + Адрес.Вид + ": " + Адрес.Представление);
    КонецЦикла;
    
    Возврат СписокАдресов;
    
КонецФункции
6 clans
 
13.02.19
00:17
(5) Спасибо тебе! Функцию эту я видел, конечно. Но потом стал ТУПО точку останова ставить в копии этой функции ))))
Благодаря твоему сообщению решил еще раз перепроверить, убедиться )))
Убедился. Чудес нет. Есть просто моя невнимательность )
Всем спасибо, господа )
AdBlock убивает бесплатный контент. 1Сергей