Внешняя Обработка создание ЭСЧФ в 8.2 БУ 1.6(обычные формы). в форме надо добавить реквизит с возможностью отбора по ВидДокумента.
Внешняя Обработка создание ЭСЧФ в 8.2 БУ 1.6(обычные формы). В форме надо добавить реквизит с возможностью отбора по ВидДокумента.
Вид Документа - заполняется в ЖурналеДокументов.ДокументыКОформлениюЭСЧФ.
Создаю новый реквизит и не могу понять, не вижу ЖурналДокументов. Как сделать выбор и отбор по выбранному?
Вид Документа - заполняется в ЖурналеДокументов.ДокументыКОформлениюЭСЧФ.
Создаю новый реквизит и не могу понять, не вижу ЖурналДокументов. Как сделать выбор и отбор по выбранному?
Найденные решения
Сейчас попробую структурировать как сделал!
На форме обработке создал элемент формы "ВидДокумента"
Затем создал Реквизит формы, (создавать через новый или + если копированием то не видит путь когда в данные реквизита ставишь) "ВидДокумента" тип "ЖурналДокументовСписок.ДокументыКОформлениюЭСЧФ"
Затем в элемент формы "ВидДокумента" Свойства - Использование - КнопкаСпискаВыбора, КнопкаОчистки.
Затем в модуле формы - Процедура ПриОткрытии() - Добавляю код
В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:
Итог все работает!
Отдельное спасибо DenisVol за помощь.
На форме обработке создал элемент формы "ВидДокумента"
Затем создал Реквизит формы, (создавать через новый или + если копированием то не видит путь когда в данные реквизита ставишь) "ВидДокумента" тип "ЖурналДокументовСписок.ДокументыКОформлениюЭСЧФ"
Затем в элемент формы "ВидДокумента" Свойства - Использование - КнопкаСпискаВыбора, КнопкаОчистки.
Затем в модуле формы - Процедура ПриОткрытии() - Добавляю код
"
Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
КонецЦикла;
В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// +++Тут добавил поучение документов если пустая строка, и если стоит значение документа
ВидДок = СокрЛП(ВидДокумента.Отбор.ВидДокумента.Значение);
Если ПустаяСтрока(ВидДок) Тогда
// Вставить обработку выборки ВыборкаДетальныеЗаписи
НоваяСтрока = ТабличноеПоле1.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
ИначеЕсли СокрЛП(ТипЗнч(ВыборкаДетальныеЗаписи.Ссылка))<>ВидДок тогда
Продолжить;
КонецЕсли;//---
// Вставить обработку выборки ВыборкаДетальныеЗаписи
НоваяСтрока = ТабличноеПоле1.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
КонецЦикла;
; ПоказатьИтог все работает!
Отдельное спасибо DenisVol за помощь.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
добавьте реквизит ВидДокумента с типом ДокументСсылка. И потом запросом с параметром в запросе равным "ВидДокумента" перезаполняйте ТЧ.
(11) надо добавлять отборы:
что так. Чисто интересно правильно ли мыслю?
ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.ВидСравнения = ВидСравнения.Равно;
ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Значение = ВидДокумента;
ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Использование = Истина;
что так. Чисто интересно правильно ли мыслю?
1. Добавляете реквизит "ВидДокумента" (поле ввода). В поле данные указываете "Отбор.ВидДокумента.Значение".
2. В модуле формы делаете такую процедуру
3.Указываете эту процедуру ПриИзменении реквизита "ВидДокумента"
2. В модуле формы делаете такую процедуру
Процедура ВидДокументаПриИзменении(Элемент)
Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
КонецПроцедуры
3.Указываете эту процедуру ПриИзменении реквизита "ВидДокумента"
Потом пишим процедуру ПриОткрытии()
и ципляете эту процедуру на форму обработки ПриОткрытии
Процедура ПриОткрытии()
Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
КонецЦикла;
КонецПроцедуры
и ципляете эту процедуру на форму обработки ПриОткрытии
у вас в форме обработки должен быть реквизит ДокументыКОформлениюЭСЧФ с типом ЖурналДокументов.ДокументыКОформлениюЭСЧФ. И вот когда вы добавляете поле ввода и поляне "Данные"
там и будут отбор
там и будут отбор
(17)
выдает ошибку
{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
<<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
ДокументыКОформлениюЭСЧФ
выдает ошибку
{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
<<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
Не понял только куда
ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.ВидСравнения = ВидСравнения.Равно;
ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Значение = ВидДокумента;
ЭтаФорма.ДокументСписок.Отбор.ВидДокумента.Использование = Истина;
пока ругается на отбор !
{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
<<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
{Форма.Форма.Форма(342,2)}: Переменная не определена (Отбор)
<<?>>Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено; (Проверка: Толстый клиент (обычное приложение))
только вместо "ДокументыКонтрагентов", у Вас д.б. ДокументыКОформлениюЭСЧФ и уже там отбор
Прикрепленные файлы:
ну этом реквизите должна быть процедура
Процедура ВидДокументаПриИзменении(Элемент)
Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
КонецПроцедуры
попробуйте заменить реквизит на свой и модуле просмотрите. А потом уже в своей обработке попробуйте воспроизвести
Дело в том что я получаю список документов из запроса и надо как то подтянуть параметр что бы при обновлении он учитывался.
У тебя реквизит "ДокументыКОформлениюЭСЧФ" тип строка, а у меня "ЖурналДокументов.". А где у тебя в запросе параметр на вид документа при обновить ТЧ.
Запрос рабочий, он выводит документы?
Запрос рабочий, он выводит документы?
вот так сделай
Процедура ВидДокументаПриИзменении(Элемент)
//ДокументыКОформлениюЭСЧФ.Отбор.ВидДокумента.Использование = Элемент.Значение <> Неопределено;
ОбновитьТЧ();
КонецПроцедуры
и таблица у тебя ТаблицаЗначений, а у меня вот так. Конфигурации у меня такой нет
Прикрепленные файлы:
Сейчас попробую структурировать как сделал!
На форме обработке создал элемент формы "ВидДокумента"
Затем создал Реквизит формы, (создавать через новый или + если копированием то не видит путь когда в данные реквизита ставишь) "ВидДокумента" тип "ЖурналДокументовСписок.ДокументыКОформлениюЭСЧФ"
Затем в элемент формы "ВидДокумента" Свойства - Использование - КнопкаСпискаВыбора, КнопкаОчистки.
Затем в модуле формы - Процедура ПриОткрытии() - Добавляю код
В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:
Итог все работает!
Отдельное спасибо DenisVol за помощь.
На форме обработке создал элемент формы "ВидДокумента"
Затем создал Реквизит формы, (создавать через новый или + если копированием то не видит путь когда в данные реквизита ставишь) "ВидДокумента" тип "ЖурналДокументовСписок.ДокументыКОформлениюЭСЧФ"
Затем в элемент формы "ВидДокумента" Свойства - Использование - КнопкаСпискаВыбора, КнопкаОчистки.
Затем в модуле формы - Процедура ПриОткрытии() - Добавляю код
"
Для Каждого ОписаниеМетаданныхДокумента Из Метаданные.ЖурналыДокументов.ДокументыКОформлениюЭСЧФ .РегистрируемыеДокументы Цикл
ЭлементыФормы.ВидДокумента.СписокВыбора.Добавить(ОписаниеМетаданныхДокумента);
КонецЦикла;
В элемент формы "ВидДокумента" Свойства - ПриИзменении поставил ОбновитьТЧ()//это места где обновляется у меня Табличная Часть;
Затем в Процедуру ОбновитьТЧ() после выполнения запроса вставил часть кода:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// +++Тут добавил поучение документов если пустая строка, и если стоит значение документа
ВидДок = СокрЛП(ВидДокумента.Отбор.ВидДокумента.Значение);
Если ПустаяСтрока(ВидДок) Тогда
// Вставить обработку выборки ВыборкаДетальныеЗаписи
НоваяСтрока = ТабличноеПоле1.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
ИначеЕсли СокрЛП(ТипЗнч(ВыборкаДетальныеЗаписи.Ссылка))<>ВидДок тогда
Продолжить;
КонецЕсли;//---
// Вставить обработку выборки ВыборкаДетальныеЗаписи
НоваяСтрока = ТабличноеПоле1.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
КонецЦикла;
; ПоказатьИтог все работает!
Отдельное спасибо DenisVol за помощь.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот