Внешняя Обработка создание ЭСЧФ в 8.2 БУ 1.6(обычные формы). в форме надо добавить реквизит с возможностью отбора по ВидДокумента.

1. 77Viktor77 6 16.06.21 15:42 Сейчас в теме
Внешняя Обработка создание ЭСЧФ в 8.2 БУ 1.6(обычные формы). В форме надо добавить реквизит с возможностью отбора по ВидДокумента.
Вид Документа - заполняется в ЖурналеДокументов.ДокументыКОформлениюЭСЧФ.
Создаю новый реквизит и не могу понять, не вижу ЖурналДокументов. Как сделать выбор и отбор по выбранному?
+
Найденные решения
58. 77Viktor77 6 21.06.21 14:08 Сейчас в теме
Сейчас попробую структурировать как сделал!
На форме обработке создал элемент формы "ВидДокумента"
Затем создал Реквизит формы, (создавать через новый или + если копированием то не видит путь когда в данные реквизита ставишь) "ВидДокумента" тип "ЖурналДокументовСписок.ДокументыКОформлениюЭСЧФ"
Затем в элемент формы "ВидДокумента" Свойства - Использование - КнопкаСпискаВыбора, КнопкаОчистки.
Затем в модуле формы - Процедура ПриОткрытии() - Добавляю код
"  
Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
		ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
	КонецЦикла;

В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:
 
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
		// +++Тут добавил поучение документов если пустая строка, и если стоит значение документа
		ВидДок = СокрЛП(ВидДокумента.Отбор.ВидДокумента.Значение);
	
		Если ПустаяСтрока(ВидДок) Тогда 
			// Вставить обработку выборки ВыборкаДетальныеЗаписи
			НоваяСтрока = ТабличноеПоле1.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
		ИначеЕсли СокрЛП(ТипЗнч(ВыборкаДетальныеЗаписи.Ссылка))<>ВидДок тогда
			Продолжить;
		КонецЕсли;//---
		// Вставить обработку выборки ВыборкаДетальныеЗаписи
		НоваяСтрока = ТабличноеПоле1.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
		
	КонецЦикла;
;
Показать


Итог все работает!
Отдельное спасибо DenisVol за помощь.
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisVol 3 16.06.21 16:10 Сейчас в теме
Вы хотите чтоб в этом реквизите были определенные виды документов?
+
3. 77Viktor77 6 16.06.21 16:12 Сейчас в теме
(2)
или так или все.
все виды документов из ЖураналшаДокументов.ДокументыКОформлениюЭСЧФ и там все регистрируемые документы:
+
4. DenisVol 3 16.06.21 16:13 Сейчас в теме
реквизит с типом ДокументСсылка
+
5. 77Viktor77 6 16.06.21 16:16 Сейчас в теме
6. DenisVol 3 16.06.21 16:23 Сейчас в теме
тогда не понял. в предприятии откроется весь перечень документов
+
7. 77Viktor77 6 16.06.21 16:45 Сейчас в теме
(6)Нужно вот как, что бы при формировании ТЧ, показывала только то, что определяется реквизитами выбора.
Прикрепленные файлы:
+
8. 77Viktor77 6 17.06.21 11:20 Сейчас в теме
Не уже ли ни кто ни знает как это сделать?
+
11. RustamZz 17.06.21 13:29 Сейчас в теме
(8) Это тип. Значит хранить нужно строку вида ДокументСсылка.РеализацияТоваровУслуг. ЖурналДокументов это таблица на которую нельзя получить ссылку, соответственно и указать в реквизите.
+
9. DenisVol 3 17.06.21 13:13 Сейчас в теме
этот список документом каким способом формируете? Какой-то запрос?
+
10. DenisVol 3 17.06.21 13:15 Сейчас в теме
добавьте реквизит ВидДокумента с типом ДокументСсылка. И потом запросом с параметром в запросе равным "ВидДокумента" перезаполняйте ТЧ.
+
12. DenisVol 3 17.06.21 13:35 Сейчас в теме
(11) надо добавлять отборы:

    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.ВидСравнения = ВидСравнения.Равно; 
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Значение = ВидДокумента; 
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Использование = Истина;



что так. Чисто интересно правильно ли мыслю?
+
13. DenisVol 3 17.06.21 14:05 Сейчас в теме
1. Добавляете реквизит "ВидДокумента" (поле ввода). В поле данные указываете "Отбор.ВидДокумента.Значение".
2. В модуле формы делаете такую процедуру
Процедура ВидДокументаПриИзменении(Элемент)
	Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;	
КонецПроцедуры

3.Указываете эту процедуру ПриИзменении реквизита "ВидДокумента"
+
14. 77Viktor77 6 17.06.21 14:08 Сейчас в теме
(13)
Процедура ВидДокументаПриИзменении(Элемент)
Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
КонецПроцедуры




А отборы куда пишем?
+
15. DenisVol 3 17.06.21 14:09 Сейчас в теме
Потом пишим процедуру ПриОткрытии()
Процедура ПриОткрытии()
	Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
        ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
    КонецЦикла;
КонецПроцедуры


и ципляете эту процедуру на форму обработки ПриОткрытии
+
16. DenisVol 3 17.06.21 14:12 Сейчас в теме
у вас в форме обработки должен быть реквизит ДокументыКОформлениюЭСЧФ с типом ЖурналДокументов.ДокументыКОформлениюЭСЧФ. И вот когда вы добавляете поле ввода и поляне "Данные"

там и будут отбор
+
17. DenisVol 3 17.06.21 14:14 Сейчас в теме
18. 77Viktor77 6 17.06.21 14:16 Сейчас в теме
(17)
ДокументыКОформлениюЭСЧФ


выдает ошибку
{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
<<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
+
19. 77Viktor77 6 17.06.21 14:18 Сейчас в теме
вот
Прикрепленные файлы:
+
20. DenisVol 3 17.06.21 14:21 Сейчас в теме
у меня вот так выглядит этот реквизит
+
21. DenisVol 3 17.06.21 14:22 Сейчас в теме
добавьте реквизит на вкладке "реквизиты", которая рядом возле "модуль"
+
22. пользователь 17.06.21 14:25
Сообщение было скрыто модератором.
...
23. 77Viktor77 6 17.06.21 14:25 Сейчас в теме
и у меня
Прикрепленные файлы:
+
24. 77Viktor77 6 17.06.21 14:28 Сейчас в теме
Не понял только куда
  ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.ВидСравнения = ВидСравнения.Равно; 
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Значение = ВидДокумента; 
    ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Использование = Истина;

+
25. DenisVol 3 17.06.21 14:29 Сейчас в теме
(24) это не надо. то я так предполагал изначально
+
26. 77Viktor77 6 17.06.21 14:30 Сейчас в теме
пока ругается на отбор !

{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
<<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
+
27. DenisVol 3 17.06.21 14:38 Сейчас в теме
только вместо "ДокументыКонтрагентов", у Вас д.б. ДокументыКОформлениюЭСЧФ и уже там отбор
Прикрепленные файлы:
+
28. пользователь 17.06.21 14:48
Сообщение было скрыто модератором.
...
29. DenisVol 3 17.06.21 14:48 Сейчас в теме
вот что в поле ввода
Прикрепленные файлы:
+
30. 77Viktor77 6 17.06.21 14:57 Сейчас в теме
у мене так
Прикрепленные файлы:
+
31. 77Viktor77 6 17.06.21 15:00 Сейчас в теме
и вот
Прикрепленные файлы:
+
32. DenisVol 3 17.06.21 15:02 Сейчас в теме
и продолжает ругаться? Что то у нас не сходится
+
33. DenisVol 3 17.06.21 15:03 Сейчас в теме
по разному сделано что-то. А конфигурация какая?
+
35. 77Viktor77 6 17.06.21 15:08 Сейчас в теме
(33)
все есть просто надо было добавить ДокументыКОформлениюЭСЧФ.Отбор.ВидДокумента.Использование
Прикрепленные файлы:
+
34. DenisVol 3 17.06.21 15:05 Сейчас в теме
увидел уже. такой у меня нет вналичии
+
36. 77Viktor77 6 17.06.21 15:09 Сейчас в теме
А как теперь что бы обновлялось в ТЧ?
+
37. DenisVol 3 17.06.21 15:12 Сейчас в теме
ну этом реквизите должна быть процедура
Процедура ВидДокументаПриИзменении(Элемент)
              Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
КонецПроцедуры
+
38. DenisVol 3 17.06.21 15:12 Сейчас в теме
у меня при изменении вида документа ТЧ сразу изменяется и обновляется
+
39. 77Viktor77 6 17.06.21 15:16 Сейчас в теме
(38)
я отладчиком попадаю но смотрю там пусто!
Прикрепленные файлы:
+
40. 77Viktor77 6 17.06.21 15:25 Сейчас в теме
или может при обновлении ТЧ могло учитывать ВидДокумента?
+
41. DenisVol 3 17.06.21 15:32 Сейчас в теме
а на свойствах формы у Вас как данные указаны?
Прикрепленные файлы:
+
42. 77Viktor77 6 17.06.21 15:34 Сейчас в теме
вот
Прикрепленные файлы:
+
43. 77Viktor77 6 17.06.21 15:38 Сейчас в теме
вот по подробнее
Прикрепленные файлы:
+
44. DenisVol 3 17.06.21 15:41 Сейчас в теме
а на ТЧ, что у Вас стоят какие данные?
+
45. 77Viktor77 6 17.06.21 16:22 Сейчас в теме
вот
Прикрепленные файлы:
+
46. 77Viktor77 6 17.06.21 16:23 Сейчас в теме
и вот
Прикрепленные файлы:
+
47. 77Viktor77 6 17.06.21 16:25 Сейчас в теме
и наконец вот
Прикрепленные файлы:
+
48. DenisVol 3 17.06.21 16:46 Сейчас в теме
вот моя обработка просмотрите все вниманительно
Прикрепленные файлы:
ДокументыОтбор.epf
+
49. DenisVol 3 17.06.21 16:54 Сейчас в теме
попробуйте заменить реквизит на свой и модуле просмотрите. А потом уже в своей обработке попробуйте воспроизвести
+
51. 77Viktor77 6 17.06.21 17:12 Сейчас в теме
(49)даже в твоей обработке поменял реквизит и в модуле формы на свой и при открытии не чего не отбирает.
Прикрепленные файлы:
+
50. 77Viktor77 6 17.06.21 17:03 Сейчас в теме
у меня немного сложнее)
Прикрепленные файлы:
Обработка создания ЭСЧФ — Изменил.epf
+
52. 77Viktor77 6 17.06.21 17:46 Сейчас в теме
Дело в том что я получаю список документов из запроса и надо как то подтянуть параметр что бы при обновлении он учитывался.
+
53. DenisVol 3 18.06.21 08:42 Сейчас в теме
У тебя реквизит "ДокументыКОформлениюЭСЧФ" тип строка, а у меня "ЖурналДокументов.". А где у тебя в запросе параметр на вид документа при обновить ТЧ.

Запрос рабочий, он выводит документы?
+
56. 77Viktor77 6 18.06.21 11:18 Сейчас в теме
(53) сейчас добавляю параметр "вид документа". с Журналом сейчас посмотрю.
Сравнивал, хотел посмотреть результат в запросе и какая-то хрень не вижу результата, а как переписал точь-в-точь все показала! Прям БЕСИТ!!!
+
54. DenisVol 3 18.06.21 08:43 Сейчас в теме
вот так сделай
Процедура ВидДокументаПриИзменении(Элемент)
	//ДокументыКОформлениюЭСЧФ.Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
	ОбновитьТЧ();
КонецПроцедуры
77Viktor77; +1
55. DenisVol 3 18.06.21 08:53 Сейчас в теме
и таблица у тебя ТаблицаЗначений, а у меня вот так. Конфигурации у меня такой нет
Прикрепленные файлы:
+
57. DenisVol 3 18.06.21 11:33 Сейчас в теме
(56) мне кажется, слишком усложнил себе задачу. если формируешь с помощью запроса, то в запросе необходимо учитывать параметр "ВидДокумента"
+
58. 77Viktor77 6 21.06.21 14:08 Сейчас в теме
Сейчас попробую структурировать как сделал!
На форме обработке создал элемент формы "ВидДокумента"
Затем создал Реквизит формы, (создавать через новый или + если копированием то не видит путь когда в данные реквизита ставишь) "ВидДокумента" тип "ЖурналДокументовСписок.ДокументыКОформлениюЭСЧФ"
Затем в элемент формы "ВидДокумента" Свойства - Использование - КнопкаСпискаВыбора, КнопкаОчистки.
Затем в модуле формы - Процедура ПриОткрытии() - Добавляю код
"  
Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
		ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
	КонецЦикла;

В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:
 
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
		// +++Тут добавил поучение документов если пустая строка, и если стоит значение документа
		ВидДок = СокрЛП(ВидДокумента.Отбор.ВидДокумента.Значение);
	
		Если ПустаяСтрока(ВидДок) Тогда 
			// Вставить обработку выборки ВыборкаДетальныеЗаписи
			НоваяСтрока = ТабличноеПоле1.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
		ИначеЕсли СокрЛП(ТипЗнч(ВыборкаДетальныеЗаписи.Ссылка))<>ВидДок тогда
			Продолжить;
		КонецЕсли;//---
		// Вставить обработку выборки ВыборкаДетальныеЗаписи
		НоваяСтрока = ТабличноеПоле1.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
		
	КонецЦикла;
;
Показать


Итог все работает!
Отдельное спасибо DenisVol за помощь.
+
Внимание! Тема сдана в архив

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