Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Спасибо, кажется разобрался.
Вот как оно выглядит
Осталось с банковскими реквизитами разобраться))) ------------------ Исправлено 1 раз(а). Последнее : Аспид, 13.04.15 15:20 |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
А все оказалось прозрачнее.
Наводкой стала подсказка, что нет этого элемента в "Объект"
------------------ |
Re: БП 3.0 Получить Адрес... | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Ноги отрезать. Вот репрокод, не отлаживал.
|
Re: БП 3.0 Получить Адрес... | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Ага. По самые уши! Цитата:В свете последних известий в соседней теме вызов твоей процедуры надо ему ставить в ПослеЗаписиНаСервере и тогда все действительно станет логичным. ------------------ Лень - это неосознанная мудрость. |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Подозревал что то подобное) Значит все не верно... Попробую завтра твой код, и подсказки Сергея. Хотя, в общем то не понятно, почему не верно? Боюсь объяснения долги и сложны... ТО же самое, что объяснить начинающему, почему вред от паблик переменных, или еще что то, что тебе очевидно. Ясно, что плохо представляю, как "мыслят" 1С... Ну попробуйте подсказать, может пойму) ------------------ |
Re: БП 3.0 Получить Адрес... | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Форма - средство визуализации данных, а не место их хранения. Да и на форме данные могут быть совсем не в том виде, в котором они хранятся. К тому же, как я уже указывал, в форме есть далеко не все данные. Все данные есть в таблицах. А к таблицам в управляемом приложении (в таком режиме запускается БП 3.0) есть доступ только на сервере.
------------------ Лень - это неосознанная мудрость. |
Re: БП 3.0 Получить Адрес... | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Форма это средства отображения данных. Получить данные с формы можно только при каких-то определенных условиях. И не факт, что код размещенный в одном событии получит те же данные, будучи размещенным в другом событии. А еще можно словить в принципе неожиданные глюки. Вчера работало, работало. А завтра пользователь отключил видимость элементов формы из пользовательского интерфейса, и привет. Оптимизатор тупо не заполнит визуальные элементы формы, хотя код их заполнения в теле процедуры отработает. А почему "послезаписи" лучше всего подходит? Это событие запускается последним из цепочки событий, обрабатываемых в модуле формы и в модуле объекта справочника. А в этих событиях разработчик может заполнять кучу служебной информации. |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
С формой ВСЁ понял.
В общем как и во всех языках. Данные надо получать из данных, а не с формы. Тем более, что пользователь управляет видимостью данных. (я уже с факсом с этим столкнулся, пришлось делать его видимым) Немного понял разделение на клиенте, на сервере. Даже понял, почему по Сергеевой подсказке, не могу получить банковские реквизиты, хотя сама структура есть, но пустая. Просто они пишутся в другой форме, и здесь нет этих данных. (Я так понимаю) Хотел добраться до них, по подобию кода Павла.
{Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(89)}: Итератор для значения не определен Для Каждого СтрБИ ИЗ Объект.ОсновнойБанковскийСчет Цикл Видимо как то иначе надо? Выборкой? Может одной выборкой, вообще все что мне нужно получить можно? Стоит ли? ------------------ |
Re: БП 3.0 Получить Адрес... | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Вот и чудненько! Цитата:Очень может быть. Цитата:Угу. Не надо путать теплое с мягким. Павел привел код для получения данных и из табличной части. А ОсновноБанковскийСчет - обычный реквизит справочника и он один и к нему бессмысленно применять ДЛЯ КАЖДОГО. Какого еще КАЖДОГО в ОДНОМ реквизите? Цитата:Можно и выборкой. Цитата:Можно. Цитата:Возможно. Куда копать я уже написал. Куда поместить код и и что там получить. Один раз. И для счета, и для адреса, ВСЁ там. Еще раз - не нужно изобретать и искать в 1С какие-то экзотические способы доступа к данным. Ты в фоксе так же вот методом научного тыка данные получаешь? Что тебя все уносит куда-то в неведомые дали? ------------------ Лень - это неосознанная мудрость. |
Re: БП 3.0 Получить Адрес... | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Правильно пишет. КонтактнаяИнформация это табличная часть элемента справочника. В табличной части много элементов, я их и перебираю соответствующим итератором. А ОсновнойБанковскийСчет это реквизит справочника (одно значение). Этот реквизит ссылается на справочник банковские счета. 1. Возможно вы обращаетесь к реквизиту на клиенте. На клиенте реквизит имеет только свое текстовое отображение. Если ваша функция исполняется &НаСервере, то Объект.ОсновнойБанковскийСчет это объект типа СправочникСсылка.БанковскиеСчета и к нему можно обращаться Объект.ОсновнойБанковскийСчет.НомерСчета, Объект.ОсновнойБанковскийСчет.Банк.КоррСчет. 2. Возможно, ОсновнойБанковскийСчет не выбран. Это проверяется функцией ЗначениеЗаполнено(Объект.ОсновнойБанковскийСчет). Одной выборкой получать неудобно, так как вам нужны реквизиты табличной части. Более того, в форме элемента справочника вам полностью доступен сам объект элемента справочника. |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Ну загадка осталась
ЗначениеЗаполнено(Объект.ОсновнойБанковскийСчет) возвращает ложь Но у этого контрагента, захожу на вкладку "Банковские счета" и там заполнен. Единственный счет. Может он не основной? (если не глупость спросил) Как до него добраться? Не могу понять( Да, все выполняю, по рекомендации Сергея в &НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) Все остальное получил с вашей помощью) ------------------ |
Re: БП 3.0 Получить Адрес... | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Я специально указывал к чему надо обращаться в этой процедуре. Не к ОБЪЕКТ, а ТекущийОбъект. Ну, в конце концов, поставь точку останова в этой процедуре и выдели двойным кликом слово ТекущийОбъект и хоть до посинения обследуй содержимое этого самого ТекущийОбъект. Заодно и увидишь все реквизиты. ------------------ Лень - это неосознанная мудрость. |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Все так и делаю. и конкретно слова там йй = ЗначениеЗаполнено(ТекущийОбъект.ОсновнойБанковскийСчет) ; ложь И в отладчике обследовал. Пусто все. Но, еще раз, захожу на вкладку "Банковские счета", там заполнено ------------------ |
Re: БП 3.0 Получить Адрес... | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Пользователь сделал вот это:
Но не сделал вот это:
Если вам так понятнее. Список банковских счетов заполнен, но реквизит основного банковского счета не заполнен. Там кнопочка есть специальная "Использовать как основной". При нажатии на эту кнопочку как раз и заполняется ОсновнойБанковскийСчет. Можно получить список банковских счетов соответствующим запросом. |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Вооот... я не только программист, я еще и пользователь 1С никакой))) Ведь чуял, где то метку поставить надо. Спасибо, все заработало! В порядке наглости, с удовольствием бы глянул, как получить запросом список. Сейчас не надо. Но... для науки... ------------------ |
Re: БП 3.0 Получить Адрес... | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Берешь любую консоль запросов и тренируешься. Например, Тут ------------------ Лень - это неосознанная мудрость. |
Re: БП 3.0 Получить Адрес... | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Еще раз. У вас не заполнен реквизит справочника. Вам тогда лучше выбирать из подчиненного справочника Банковские счета. Процедура опять не отлажена:
|
Re: БП 3.0 Получить Адрес... | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Для науки я вам привел пример запроса, который получает один абы какой банковский счет по его владельцу. Если поменять конструкцию Если ВыборкаДетальныеЗаписи.Следующий() Тогда ... КонецЕсли; на Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ... КонецЦикла;, то вы получите перебор всех банковских счетов (помеченные на удаление - в конце, основной - в начале). PS. В самом запросе надо убрать "ПЕРВЫЕ 1", что соответствует фоксу "TOP 1" Исправлено 1 раз(а). Последнее : pasha_usue, 15.04.15 14:38 |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Спасибо ребята!
Я конечно накупил книг, почитал что то. Скачал и просмотрел 21 день. Но за этот топик, понимания стало гораздо больше. ------------------ Исправлено 1 раз(а). Последнее : Аспид, 15.04.15 14:56 |
Re: БП 3.0 Получить Адрес... | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Вот код процедуры. Может еще что через зад?
ЗаписьВMSSQL - работа с MSSQL. Соединение, execute, закрытие ------------------ Исправлено 1 раз(а). Последнее : Аспид, 15.04.15 15:22 |
© 2000-2024 Fox Club  |