Как открыть форму нужного документа из ТЧ? (обычные формы)

1. Terabaytus 21.08.24 11:27 Сейчас в теме
Добрый день, в обычных формах 2.8 есть таблица значений в неё выводятся строки с датой документов как при щелчке по строке открыть нужный документ именно с этой датой.

Процедура ПродажиПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

      ОткрытьФорму("Документ.Продавцы.Форма.ФормаДокумента");
       Закрыть();

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

Показать


При такой конструкции у меня открывается новый чистый документ, а мне нужен тот который выбрал?
По теме из базы знаний
Найденные решения
4. yispepotri 21.08.24 11:56 Сейчас в теме
(3) не совсем понял почему регистр, если речь про документ и таблицу значений?

ТекущаяСтрока = Элементы.ТаблицаЗначений.ТекущиеДанные;
Запрос = Новый Запрос;
Запрос.Текст = "
|Выбрать Первые 1
|  Ссылка
|из
|  Документ.Продавцы
|Где Дата = &Дата
|";

Запрос.УстановитьПараметр("Дата", ТекущаяСтрока.ДатаИзТЗ);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Выборка.Следующий();

Если НЕ РезультатЗапроса.Пустой() Тогда
     ПоказатьЗначение(, Выборка.Ссылка);
КонецЕсли



Показать
NicolasCage; Terabaytus; +2 Ответить
28. Sashares 35 22.08.24 17:40 Сейчас в теме
(25) Связано с тем, что у документов в дате еще есть время, а на скрине в таблице только дата. И если время у документа не 00:00, то такой документ не найдет.
В запросе дату документа надо приводить к началу дня.
Terabaytus; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. SlavaKron 21.08.24 16:35 Сейчас в теме
(1) Используйте событие табличного поля "Выбор":
Процедура ПродажиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
	ОткрытьЗначение(ВыбраннаяСтрока.СсылкаНаДокумент);
КонецПроцедуры
NicolasCage; +1 Ответить
17. Terabaytus 21.08.24 16:41 Сейчас в теме
(14) у меня обычные формы есть Выбор значения а в нём тогого нет ВыбраннаяСтрока.СсылкаНаДокументь такого нет.
18. SlavaKron 21.08.24 16:43 Сейчас в теме
(17) А это что?
Прикрепленные файлы:
19. Terabaytus 22.08.24 08:27 Сейчас в теме
(18) Всё верно есть её описание в помощнике и даже отладчик не ругается при обновлении базы, но вот когда щёлкаешь по строке таблицы ничего не происходит.
2. yispepotri 21.08.24 11:31 Сейчас в теме
сделать запрос, который будет находить ссылку документа с такой датой и его открывать. Но тут такой момент, а если на эту дату чисто в теории будет два документа, какой открываться должен?


есть процедура, которая позволяет открыть по ссылке, подробнее про нее в помощнике
ПоказатьЗначение(, СсылкаНаДокумент);
user1671936; Terabaytus; +2 Ответить
12. Terabaytus 21.08.24 16:28 Сейчас в теме
(2) Посмотрел в синтаксисе помощнике про
ПоказатьЗначение(, СсылкаНаДокумент); 
первый параметр не обязателен, а второй не понял что ссылкой будет на нужный документ и как это получить?
13. yispepotri 21.08.24 16:30 Сейчас в теме
(12) Ссылкой, на удивление, будет ссылка на документ, который нужно открыть)
15. Terabaytus 21.08.24 16:38 Сейчас в теме
(13) Вот хоть что, но не вывожу, как её получить я щёлкаю по любой строке таблицы и получаю на неё ссылку?
16. yispepotri 21.08.24 16:40 Сейчас в теме
(15) я просто не до конца понимаю куда что вы щелкаете и какие данные у вас там есть, исходя из этого можно будет дать ответ. Скриншот формы
20. Terabaytus 22.08.24 08:46 Сейчас в теме
(16)
Прикрепленные файлы:
21. yispepotri 22.08.24 08:57 Сейчас в теме
(20) тут дата документа, это Дата или ДатаЗакрытия?
23. Terabaytus 22.08.24 10:04 Сейчас в теме
24. yispepotri 22.08.24 10:09 Сейчас в теме
(23) смотреть мой 4 ответ, запросом получить ссылку по этой дате и ее открывать
Terabaytus; +1 Ответить
3. Terabaytus 21.08.24 11:51 Сейчас в теме
(2) Двух документов точно не будет, не могу сообразить как этот запрос будет выглядеть? Запрос то должен к регистру обращаться?
4. yispepotri 21.08.24 11:56 Сейчас в теме
(3) не совсем понял почему регистр, если речь про документ и таблицу значений?

ТекущаяСтрока = Элементы.ТаблицаЗначений.ТекущиеДанные;
Запрос = Новый Запрос;
Запрос.Текст = "
|Выбрать Первые 1
|  Ссылка
|из
|  Документ.Продавцы
|Где Дата = &Дата
|";

Запрос.УстановитьПараметр("Дата", ТекущаяСтрока.ДатаИзТЗ);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Выборка.Следующий();

Если НЕ РезультатЗапроса.Пустой() Тогда
     ПоказатьЗначение(, Выборка.Ссылка);
КонецЕсли



Показать
NicolasCage; Terabaytus; +2 Ответить
7. Terabaytus 21.08.24 15:11 Сейчас в теме
(4) так данные попадают в ТЗ из Регистра. Создаётся документ, заносим в него данные нажимаем ок и они в регистре хранятся.
8. yispepotri 21.08.24 15:14 Сейчас в теме
(7) нужен пример кода, чтобы разобраться
25. Terabaytus 22.08.24 16:48 Сейчас в теме
(4) Всё работает так как нужно, только не могу понять какие то строки открывает какие-то нет это с датам и что то может быть? По отладчику смотрю в цикл выборки входит и открывает нужный документ, а бывает просто перепрыгивает цикл тогда не открывает с чём может быть связано? Пустого значения там нет.

ТекущаяСтрока = Элементы.Продажи.ТекущиеДанные;
Запрос = Новый Запрос;
Запрос.Текст = "
|Выбрать Первые 1
|  Ссылка
|из
|  Документ.Продавцы
|Где Дата = &Дата
|";

Запрос.УстановитьПараметр("Дата", ТекущаяСтрока.ДатаИзТЗ);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл


     ПоказатьЗначение(, Выборка.Ссылка);


КонецЦыкла;

Показать
26. yispepotri 22.08.24 16:54 Сейчас в теме
(25) возможно по этому
КонецЦЫкла;

КонецЦИкла;


Поставьте точку остановы где ПоказатьЗначение, запросом находит ссылку?
32. Terabaytus 23.08.24 09:02 Сейчас в теме
(26) ПоказатьЗначение он перепрыгивает. Тоесть ссылку не находит.
33. yispepotri 23.08.24 09:05 Сейчас в теме
(32) в 28 ответе вам написали причину, по которой запрос не находит данные
34. Terabaytus 23.08.24 09:31 Сейчас в теме
(33) видел логичноно, почему-то не работает, да если время больше 00:00:00 то в цикл заходит, НО документ не открывает.
35. yispepotri 23.08.24 09:35 Сейчас в теме
(34) выборка ссылка определен конкретный документ в этот момент? может в ТЧ лучше хранить дату и время, если это соответствует дате и времени документа (отображать можно просто датой - 23.08.2024)
36. Terabaytus 23.08.24 10:53 Сейчас в теме
(35) Спасибо разобрался у документа есть ещё номер "оказывается")) Вот по нему всё чётко работает.
28. Sashares 35 22.08.24 17:40 Сейчас в теме
(25) Связано с тем, что у документов в дате еще есть время, а на скрине в таблице только дата. И если время у документа не 00:00, то такой документ не найдет.
В запросе дату документа надо приводить к началу дня.
Terabaytus; +1 Ответить
29. user1936660 22.08.24 21:53 Сейчас в теме
(28)
В запросе дату документа надо приводить к началу дня.
Не учи детей плохому, такое через попадание между двумя параметрами надо делать.

А хотя не, этого можно.
Sashares; +1 Ответить
30. Zevzm 22.08.24 22:03 Сейчас в теме
(29) С такими исходными данными попасть можно только в просак...
31. user1936660 23.08.24 07:43 Сейчас в теме
(30)
попасть можно только в просак
Ну, с этим автор темы и сам отлично справляется.
5. MissionOnly 8 21.08.24 12:00 Сейчас в теме
Параметры = Новый Структура("Клуч",Элементы.ТаблицаЗначений.ТекущиеДанные.СсылкаНаДокумент);
ОткрытьФорму("Документ.Продавцы.Форма.ФормаДокумента",Параметры);
user1671936; Terabaytus; +2 Ответить
6. Terabaytus 21.08.24 15:03 Сейчас в теме
(5) Не могу понять эту запись
Элементы.ТаблицаЗначений.ТекущиеДанные.СсылкаНаДокумент
таблица значений это ясно моя таблица, а что за Элемент ТекущиеДнные , что за ссылка на документ? Всё пробовал у меня пишет нет таких переменных.
9. Anton_new01 21.08.24 15:37 Сейчас в теме
(6) это магия управляемых форм.
а тебе как я понял надо для обычных.
в общем не подходит.
10. Terabaytus 21.08.24 15:38 Сейчас в теме
(9) Всё верно для обычных.
11. Anton_new01 21.08.24 15:40 Сейчас в теме
(10) вроде судя по описанию - тебе надо открывать документы - все верно?
или даты не соответствуют датам документов и их надо менять?

если все верно, то тебе надо просто переходиьт по ссылке на документ. как это делаеся в обычных формах не подскажу, но не должно быть сложно.
Terabaytus; +1 Ответить
22. MissionOnly 8 22.08.24 09:46 Сейчас в теме
Для не УФ. Нужно использовать:

СсылкаНаДокумент = ЭлементыФормы.ТаблицаЗначений.ТекущиеДанные.Ссылка;
Фрм = СсылкаНаДокумент.ПолучитьФорму("ФормаДокумента",ЭтаФорма,СсылкаНаДокумент);
Фрм.Открыть();
27. electr1chka 22.08.24 16:59 Сейчас в теме
Почему в таблицу на форме не добавить колонку "СсылкаНаДокумент", и при заполнении тз заполнять так же и Ссылку? (ее, если что, можно не отображать на форме)
Тогда не нужно будет делать велосипед с поиском документа по Дате.
Оставьте свое сообщение

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