Получение ссылки на объект из запроса #502713


#0 by stinger1988
Как получить ссылку на объект из запроса?
#1 by asady
где ты в запросе объект видел?
#2 by stinger1988
Ну когда при выборе выдается допустим справочник но не все элементы справочника.
#3 by kosts
Ничего не понятно.
#4 by stinger1988
Получается как статические значения, хотелось бы как ссылку на справочник ТМЦ только не со всеми значениями справочника.
#5 by le_
Здесь ответ:
#6 by Rie
Что есть "статические значения" - непонятно. Почему ВЫБРАТЬ ТМЦ1.Наименование, а не ВЫБРАТЬ ТМЦ1.Ссылка - тоже непонятно. Что такое "ссылка на справочник ТМЦ, только не со всеми значениями справочника" - оставляем в качестве вопроса для очередного "сражения экстрасенсов" или где там телетяпы совернуются.
#7 by rs_trade
жесть какая... автор, лучше напиши вместо кода что тебе надо. изначально надо, а не про ссылку из запроса
#8 by stinger1988
В документе выбираются товары. Надо сделать так чтобы при выборе те товары которые уже есть в документе не отображались
#9 by kosts
Можно через отбор отсечь. В типовых сделано по моему мнению удобнее, уже выбранный элемент справочника выделен серым цветом.
#10 by Pashkaa
> В типовых сделано по моему мнению удобнее, уже выбранный элемент справочника выделен серым цветом. А в типовых это правда сделано, а можно пример? В какой форме и в каких случаях
#11 by stinger1988
Что такое отбор?
#12 by kosts
В ЗУП при выборе сотрудника. Иногда так, не всегда.
#13 by Rie
А документацию почитать к той софтине, над которой ты сейчас издеваешься, - не судьба?
#14 by kosts
+ Да и не сложно это делается...
#15 by rs_trade
это фильтр для списков
#16 by stinger1988
Что такое ЗУП?
#17 by kosts
В твоем возможно поступить следующим образом. Повесить обработчик на событие выбора для реквизита документа поставить. Самому открыть форму выбора, передать ей список ТМЦ, и в ней уже сделать отбор или подсветить другим цветом.
#19 by Pashkaa
ответ на этот вопрос, примерно так в виде запроса:    Номенклатура.Ссылка ИЗ ГДЕ    (НЕ Номенклатура.Ссылка В ИЕРАРХИИ                (ВЫБРАТЬ                    РеализацияТоваровУслугТовары.Номенклатура                ИЗ если словами то выборка будет содержать всю номенклатуру за исключение номенклатуры из табличной части документа РеализацияТоваровИУслуг ТЧ Товары где Ссылка это ссылка на документ
#20 by kosts
Видимо все же нужен не запрос, а форма выбора...
#21 by Pashkaa
да так то конечно отбор логичнее если не хочет отображать в форме подбора то что уже выбрано. Но тогда пусть учится формулировать мысли задавая вопросы.
#22 by stinger1988
Результат: {Документ.РасходнаяНакладная.Форма.ФормаДокумента}: Ошибка при вызове метода контекста (Выполнить): {(12, 14)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. ТЧ.Ссылка <<?>>= &Ссылка)) СЗ.ЗагрузитьЗначения(Запрос.Выполнить.Выгрузить.ВыгрузитьКолонку("ТМЦ1"));
#23 by stinger1988
Что такое "ФормаВыбора"?
#24 by le_
В ИЕРАРХИИ тебе там совершенно ни к чему. Запрос.УстановитьПараметр("Ссылка", ЗдесьДолжнаБытьСсылкаНаЗаписанныйДокумент); ФормаВыбора - это форма выбора, см. конфигурацию.
#25 by stinger1988
Какого типа должно быть поле куда возращается результат запроса?
#26 by le_
Жмем Ctrl + F1 и читаем: Синтаксис: Выполнить Возвращаемое значение: Тип: РезультатЗапроса; Неопределено. Описание: Выполняет запрос к базе данных. В случае, если запросу установлен пакетный запрос, метод последовательно выполнит все запросы из пакета и вернет результат последнего запроса пакета, который не создает и не уничтожает временную таблицу. Если такого запроса нет, то будет возвращен результат исполнения последнего запроса. Результатом исполнения запроса на уничтожение временной таблицы является значение Неопределено. Примечание: При выполнении некорректного запроса в тексте исключения сообщается номер строки, в которой обнаружена ошибка. Пример: Запрос = Новый Запрос("ВЫБРАТЬ         | НДФЛДоходы.Ссылка
#27 by le_
+ Подозреваю, что вопрос сформулирован некорректно, тебе скорее всего нужен тип поля для ссылки на элемент справочника ТМЦ. Так он (тип) такой и будет - "СправочникСсылка.ТМЦ".
#28 by stinger1988
Ну тогда вообще ничего не понимаю: сделал тип "СправочникСсылка.ТМЦ", а в поле все равно все подряд записи из справочника.
#29 by le_
Действительно, непонятно. Как в одном поле могут быть все подряд записи из справочника?..
#30 by stinger1988
Может не поля а записи
#31 by kosts
Что то в этом роде Процедура ТабличнаяЧасть1Реквизит1НачалоВыбора(Элемент, СтандартнаяОбработка)
#32 by le_
stinger1988, объясни по человечески, что ты делаешь и что хочешь получить ) Вот прямо по шагам. 1. Хочу, чтобы... 2. А когда нажимаю на... хочу, чтобы... 3. А при выборе того-то в таком-то поле хочу, чтобы... А делаю вот это: 1. Добавил на форму реквизит 2. Установил у него такой-то тип 3. Создал такой-то обработчик такого-то события... А то ты второй день уже эту задачу решаешь и похоже, еще далек от конечной цели...
#33 by kosts
Так будет лучше Процедура ТабличнаяЧасть1Реквизит1НачалоВыбора(Элемент, СтандартнаяОбработка)
#34 by kosts
+ к И напиши в целом задачу тоже. Интересно, и поможет тоже.
#35 by stinger1988
1.В документе выбираются покупаемые товары, список которых храниться в Справочнике "ТМЦ". Покупаемые товары выводятся в табличной части. 2.Я хочу чтобы при нажатии на ячейку выдавался список товаров которые есть в справочнике за исключением тех которые уже выбраны и есть в табличной части документа. 3.После выбора товара в табличную часть документа из справочника должны заноситься название товара цена 1.Я поставил добавил на форму табличное поле. 2.Колонке таблицы тип значения "СправочникСсылка.ТМЦ". 3.Создал событие ТабличнаяЧасть1Колонка1НачалоВыбораИзСписка.
#36 by stinger1988
Все равно выводит все товары со справочника
#37 by le_
Что касается пункта 2. Можно сделать так: Что касается пункта 3. Используй обработчик ПриИзменении. Будет примерно так:
#38 by stinger1988
Спасибо. На процедуру ТабЧастьТМЦПриИзменении не реагирует.
#39 by le_
А в свойствах этой колонки ты ее прописал?
#40 by stinger1988
Прописал
#41 by le_
Значит, чего-то не того прописал ) Либо внутри самой процедуры ошибка.
#42 by stinger1988
Даже это не работает
#43 by le_
Ну, сделай так:
#44 by stinger1988
Тоже не работает.
#45 by le_
Спать, наверное, уже хочет 1С-ка )
#46 by stinger1988
Отлик на событие не работает из-за     СтандартнаяОбработка = Ложь; А если этой строки не будет тоже плохо. И что его делать?
#47 by le_
Если сделать как в то обработчик ПриИзменении тебе уже не понадобится.
#48 by stinger1988
Все равно не присваивается никакое значение колонке.
#49 by stinger1988
Даже
#50 by le_
Поставь в отладчике точку остановки сюда: И посмотри, чему у тебя Элемент.Значение равно. Потом нажми F11 и посмотри, куда шагнет, попадет ли на строчку: ЭлементыФормы.ТабЧасть.ТекущиеДанные.Цена=44;
#51 by stinger1988
Элемент равен "Товар2" после F11 попадает в строчку   ЭлементыФормы.ТабЧасть.ТекущиеДанные.Цена=44; ЭлементыФормы.ТабЧасть.ТекущиеДанные.Цена даже в отладчике показывает значение 44 а в таблицу не выводит.
#52 by stinger1988
#53 by le_
А для чего вот это: Если Фрм.ЗакрыватьПриВыборе Тогда ... ? У тебя одна табличная часть в документе? Табличная часть (части) правильно связаны с табличным полем (полями) на форме?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С