динамический список, исчезает поле "ссылка"

1. roman77 332 16.08.17 15:10 Сейчас в теме
Платформа 8.3.10.2505, Ут 11.3. Документ "заказ на сборку", форма списка. Изменяю её программно в процедуре ПриСозданииНаСервере, а именно: переопределяю текст запроса:

ЭтаФорма.Список.ТекстЗапроса = "ВЫБРАТЬ
	 |	ДокументЗаказНаСборку.Ссылка КАК Ссылка,
...


Далее добавляю через левое соединение кое-какие новые поля.

Поле ДокументЗаказНаСборку.Ссылка КАК Ссылка конечно же не трогаю. Саму форму в конструкторе тоже не трогаю, галка "использовать всегда" у поля "ссылка" включена. Когда открывается форма, то в динамическом списке поле "Ссылка" ОТСУТСТВУЕТ со всеми вытекающими последствиями - ошибка "Поле объекта не обнаружено (Ссылка)" при попытке открыть связанные документы.

Если текст запроса списка не трогать, то "ссылка" возвращается.

Что делать, как быть? Только вернулся с отпуска, туплю...
По теме из базы знаний
Найденные решения
11. roman77 332 16.08.17 18:00 Сейчас в теме
Разобрался. Надо из запроса убрать КАКи. Их конструктор запросов понаставил, зараза.
user1170633; an1c; janibeg; gsvserg; Alximikkk; user745653; AnderWonder; +7 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ipoloskov 162 16.08.17 15:31 Сейчас в теме
Список.ОсновнаяТаблица = "Документ.ДокументЗаказНаСборку";
4. roman77 332 16.08.17 16:45 Сейчас в теме
6. ipoloskov 162 16.08.17 16:50 Сейчас в теме
(4) что "да"? Вы так сделали? Теперь работает?
7. roman77 332 16.08.17 17:00 Сейчас в теме
(6) "Да" значит то, что так и есть (Список.ОсновнаяТаблица = "Документ.ДокументЗаказНаСборку";) т.к. я вообще это не менял. И при этом не работает.

Я же говорю, что поменял только текст запроса и перестало работать.
3. EVKash 14 16.08.17 15:32 Сейчас в теме
Весь запрос пишите. Что было и на что меняете. Так не понятно ничего.
5. roman77 332 16.08.17 16:46 Сейчас в теме
(3)такой запрос формирует типовая конфигурация:

ВЫБРАТЬ
	ДокументЗаказНаСборку.Ссылка,
	ДокументЗаказНаСборку.ПометкаУдаления,
	ДокументЗаказНаСборку.Номер,
	ДокументЗаказНаСборку.Дата,
	ДокументЗаказНаСборку.Проведен,
	ДокументЗаказНаСборку.Организация,
	ДокументЗаказНаСборку.Склад,
	ДокументЗаказНаСборку.ДокументОснование,
	ДокументЗаказНаСборку.Ответственный,
	ДокументЗаказНаСборку.Статус,
	ДокументЗаказНаСборку.Номенклатура,
	ДокументЗаказНаСборку.Характеристика,
	ДокументЗаказНаСборку.Упаковка,
	ДокументЗаказНаСборку.КоличествоУпаковок,
	ДокументЗаказНаСборку.Количество,
	ДокументЗаказНаСборку.ХозяйственнаяОперация,
	ДокументЗаказНаСборку.Комментарий,
	ДокументЗаказНаСборку.НачалоСборкиРазборки,
	ДокументЗаказНаСборку.ОкончаниеСборкиРазборки,
	ДокументЗаказНаСборку.ЖелаемаяДатаПоступления,
	ДокументЗаказНаСборку.ДлительностьСборкиРазборки,
	ДокументЗаказНаСборку.МаксимальныйКодСтроки,
	ДокументЗаказНаСборку.ВариантКомплектации,
	ДокументЗаказНаСборку.Сделка,
	ДокументЗаказНаСборку.Подразделение,
	ДокументЗаказНаСборку.СтатусУказанияСерий,
	ДокументЗаказНаСборку.Назначение,
	ДокументЗаказНаСборку.НазначениеТовары,
	ДокументЗаказНаСборку.Серия,
	ДокументЗаказНаСборку.ВариантОбеспечения,
	ДокументЗаказНаСборку.КоличествоУпаковокОтменено,
	ДокументЗаказНаСборку.КоличествоОтменено,
	ДокументЗаказНаСборку.Товары,
	ДокументЗаказНаСборку.Серии,
	ДокументЗаказНаСборку.МоментВремени,
	ВЫБОР
		КОГДА НЕ ДокументЗаказНаСборку.Проведен
			ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.ПустаяСсылка)
		ИНАЧЕ ЕСТЬNULL(СостоянияВнутреннихЗаказов.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.Закрыт))
	КОНЕЦ КАК Состояние,
	ЕСТЬNULL(СостоянияВнутреннихЗаказов.ЕстьРасхожденияОрдерНакладная, ЛОЖЬ) КАК ЕстьРасхожденияОрдерНакладная
ИЗ
	Документ.ЗаказНаСборку КАК ДокументЗаказНаСборку
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияВнутреннихЗаказов КАК СостоянияВнутреннихЗаказов
		ПО (СостоянияВнутреннихЗаказов.Заказ = ДокументЗаказНаСборку.Ссылка)
Показать


меняю на следующее:


ВЫБРАТЬ
	ДокументЗаказНаСборку.Ссылка КАК Ссылка,
	ДокументЗаказНаСборку.ПометкаУдаления КАК ПометкаУдаления,
	ДокументЗаказНаСборку.Номер КАК Номер,
	ДокументЗаказНаСборку.Дата КАК Дата,
	ДокументЗаказНаСборку.Проведен КАК Проведен,
	ДокументЗаказНаСборку.Организация КАК Организация,
	ДокументЗаказНаСборку.Склад КАК Склад,
	ДокументЗаказНаСборку.ДокументОснование КАК ДокументОснование,
	ДокументЗаказНаСборку.Ответственный КАК Ответственный,
	ДокументЗаказНаСборку.Статус КАК Статус,
	ДокументЗаказНаСборку.Номенклатура КАК Номенклатура,
	ДокументЗаказНаСборку.Характеристика КАК Характеристика,
	ДокументЗаказНаСборку.Упаковка КАК Упаковка,
	ДокументЗаказНаСборку.КоличествоУпаковок КАК КоличествоУпаковок,
	ДокументЗаказНаСборку.Количество КАК Количество,
	ДокументЗаказНаСборку.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	ДокументЗаказНаСборку.Комментарий КАК Комментарий,
	ДокументЗаказНаСборку.НачалоСборкиРазборки КАК НачалоСборкиРазборки,
	ДокументЗаказНаСборку.ОкончаниеСборкиРазборки КАК ОкончаниеСборкиРазборки,
	ДокументЗаказНаСборку.ЖелаемаяДатаПоступления КАК ЖелаемаяДатаПоступления,
	ДокументЗаказНаСборку.ДлительностьСборкиРазборки КАК ДлительностьСборкиРазборки,
	ДокументЗаказНаСборку.МаксимальныйКодСтроки КАК МаксимальныйКодСтроки,
	ДокументЗаказНаСборку.ВариантКомплектации КАК ВариантКомплектации,
	ДокументЗаказНаСборку.Сделка КАК Сделка,
	ДокументЗаказНаСборку.Подразделение КАК Подразделение,
	ДокументЗаказНаСборку.СтатусУказанияСерий КАК СтатусУказанияСерий,
	ДокументЗаказНаСборку.Назначение КАК Назначение,
	ДокументЗаказНаСборку.НазначениеТовары КАК НазначениеТовары,
	ДокументЗаказНаСборку.Серия КАК Серия,
	ДокументЗаказНаСборку.ВариантОбеспечения КАК ВариантОбеспечения,
	ДокументЗаказНаСборку.КоличествоУпаковокОтменено КАК КоличествоУпаковокОтменено,
	ДокументЗаказНаСборку.КоличествоОтменено КАК КоличествоОтменено,
	ДокументЗаказНаСборку.МоментВремени КАК МоментВремени,
	ВЫБОР
		КОГДА НЕ ДокументЗаказНаСборку.Проведен
			ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.ПустаяСсылка)
		ИНАЧЕ ЕСТЬNULL(СостоянияВнутреннихЗаказов.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.Закрыт))
	КОНЕЦ КАК Состояние,
	ЕСТЬNULL(СостоянияВнутреннихЗаказов.ЕстьРасхожденияОрдерНакладная, ЛОЖЬ) КАК ЕстьРасхожденияОрдерНакладная,
	ДокументЗаказНаСборку.Количество - ЕСТЬNULL(Сборки.ОсталосьСобрать, 0) КАК Собрано
ИЗ
	Документ.ЗаказНаСборку КАК ДокументЗаказНаСборку
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияВнутреннихЗаказов КАК СостоянияВнутреннихЗаказов
		ПО (СостоянияВнутреннихЗаказов.Заказ = ДокументЗаказНаСборку.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			ЗаказыНаСборкуОстатки.ЗаказНаСборку КАК ЗаказНаСборку,
			ЗаказыНаСборкуОстатки.Номенклатура КАК Номенклатура,
			СУММА(ЗаказыНаСборкуОстатки.КОформлениюОстаток) КАК ОсталосьСобрать
		ИЗ
			РегистрНакопления.ЗаказыНаСборку.Остатки КАК ЗаказыНаСборкуОстатки
		
		СГРУППИРОВАТЬ ПО
			ЗаказыНаСборкуОстатки.ЗаказНаСборку,
			ЗаказыНаСборкуОстатки.Номенклатура) КАК Сборки
		ПО (Сборки.ЗаказНаСборку = ДокументЗаказНаСборку.Ссылка)
			И (Сборки.Номенклатура = ДокументЗаказНаСборку.Номенклатура)

Показать



короче, добавил поле ДокументЗаказНаСборку.Количество - ЕСТЬNULL(Сборки.ОсталосьСобрать, 0) КАК Собрано
8. user633533_encantado 11 16.08.17 17:24 Сейчас в теме
Вручную поле ссылка на форму добавить можно ?
9. roman77 332 16.08.17 17:29 Сейчас в теме
(8) Так оно там и есть, я его не удалял. Оно исчезает при открытии формы.
10. lefthander 16.08.17 17:34 Сейчас в теме
Легко проверить - получившийся запрос вставьте в список и убедитесь что не работает.
На первый взгляд надо убрать секцию Сгруппировать. В запросе динамического списка не работает группировка, для этого есть поле у списка "группировка".
12. roman77 332 16.08.17 18:01 Сейчас в теме
(10) группировка во вложенном запросе - норм
11. roman77 332 16.08.17 18:00 Сейчас в теме
Разобрался. Надо из запроса убрать КАКи. Их конструктор запросов понаставил, зараза.
user1170633; an1c; janibeg; gsvserg; Alximikkk; user745653; AnderWonder; +7 Ответить
17. andadra 22.01.19 12:31 Сейчас в теме
(11)А что делать если поле не простое?
К примеру ВЫразить(Комментарий КАК СТРОКА(100)) КАК Комментарий
13. Wrols 89 21.03.18 08:20 Сейчас в теме
В конфигурации УТ 11.3 на платформе 8.3.10.2580 столкнулся с аналогичной проблемой.
Правда, при просмотре текста запроса динамического списка слов "КАК Ссылка" не было.

Оказалось, что при использовании RLS программа вызывает метод "УправлениеДоступом.НастроитьОтборыДинамическогоСписка", в котором меняет текст запроса для добавления отбора по RLS. При этом после СхемаЗапроса.ПолучитьТекстЗапроса() в тексте запроса появляется "КАК Ссылка".

Решено добавлением строк:
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "КАК Ссылка", "");
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "КАК Дата", "");
Prad2002; +1 Ответить
14. Yaga_2011 5 17.04.18 10:40 Сейчас в теме
Добрый день и спасибо. У меня было то же самое. Конфигурация БП 3.0.6.46, платформа 8.3.10.2561. Справочник Физические лица, форма выбора сотрудников. Типовой механизм - на форме динамический список с произвольным запросом. Программно в общем модуле текст запроса списка меняется на другой с КАКи. В результате исчезает наименование (ФИО). Убрала КАК в программном запросе - все появилось.
15. Yaga_2011 5 17.04.18 10:56 Сейчас в теме
После повторного запуска опять исчезло наименование (ФИО сотрудника).
16. Yaga_2011 5 17.04.18 11:01 Сейчас в теме
Проблема решилась заменой выборки наименования не из справочника Физические лица, который соединяется с регистром, а из самого регистра выборки. Если интересно, это в общем модуле Физические лицаЗарплатаКадрыБазовый, процедура УстановитьЗапросСпискаВФормеВыбораСотрудников(Форма).
18. Алексей777 94 11.09.20 13:47 Сейчас в теме
<UserVisible>
<xr:Common>false</xr:Common>
</UserVisible>

У элемента формы есть свойство "Пользовательская видимость" и с "КАКи" она никаки не связана. Т.е. у реквизита формы должно быть свойство "Использовать всегда" = Истина, а у элемента снят флаг свойства Пользовательская видимость.
Mr_SlavaN; vsasav; ivanov8; Vlad87; +4 Ответить
19. Vlad87 26.08.21 11:18 Сейчас в теме
(18) Спасибо, мой случай. На своей форме списка поведение делал, аналогичное типовым формам.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот