Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 сен 2024, 20:31

Нужен отбор с видом сравнения в обработке на 1С 8.3 в режиме управляемого приложения

Автор PavelVaskan, 24 окт 2018, 16:25

0 Пользователей и 1 гость просматривают эту тему.

PavelVaskan

1С 8.3, режим Управляемого приложения (т.е. формы на Управляемом интерфейсе)

По условиям задания надо создать внешнюю обработку, открываемую из формы документа Поступление по кнопке "Заполнение...".

На форме обработки нужно реализовать отбор по Партнёру (справочник Партнёры) с видом сравнения.

Насколько я знаю, поле типа "ВидСравнения" было легко и просто создать в формах на 1С 8.2 в режиме Обычного приложения. 1С 8.3 в режиме Управляемого приложения с типом "ВидСравнения" не дружит! :-(

Разве что - он появляется при использовании-реализации отборов в СКД.

А если мне не надо СКД? А при этом отборы с видом сравнения нужны? Как быть???

ЕСТЬ ЛИ СПОСОБ ИХ РЕАЛИЗОВАТЬ ПОМИМО СКД ???

Буду благодарен за любые мысли и помощь!

Есть мысли "велосипедно"-вручную "долепливать" имитацию вида сравнения через поле типа СписокЗначений со строками, соответствующими значениям вида сравнения в обычном приложении 1С 8.2... И только!

Либо - мучаться как-то через СКД, делая обработку внешним отчётом с СКД, что тоже "через заднее место", извиняюсь...

wise

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

alex0402

Цитата: PavelVaskan от 24 окт 2018, 16:25ЕСТЬ ЛИ СПОСОБ ИХ РЕАЛИЗОВАТЬ ПОМИМО СКД ???

Есть. Построитель запросов, построитель отчетов, генерация запросов своим колом.
В СКД проще всего!!!
1) Сформировать запрос.
2) Создать настройки отчета.
Готово.
Спасибо за Сказать спасибо

PavelVaskan

Цитата: alex0402 от 24 окт 2018, 17:19
Цитата: PavelVaskan от 24 окт 2018, 16:25ЕСТЬ ЛИ СПОСОБ ИХ РЕАЛИЗОВАТЬ ПОМИМО СКД ???

Есть. Построитель запросов, построитель отчетов, генерация запросов своим колом.
В СКД проще всего!!!
1) Сформировать запрос.
2) Создать настройки отчета.
Готово.

А конкретнее - с примером кода - можно (не через СКД)? Особенно - по пункту 2) ...

А если форма - не форма выбора, а обычная форма обработки? И она уже открыта или открывается (допустим, она первая и единственная в обработке).

vitasw

Смешалось в кучу кони-люди.
Приведите пожалуйста дословный текст задания, потому что ваша интерпритация задания лично у меня вызывает серьезные вопросы. Насколько я понимаю по вашим вопросам - вы еще новичек. Но то как вы интерпретировали задание - говорит об необходимости достаточно серьезных знаний.

PavelVaskan

Цитата: vitasw от 25 окт 2018, 10:51
Смешалось в кучу кони-люди.
Приведите пожалуйста дословный текст задания, потому что ваша интерпритация задания лично у меня вызывает серьезные вопросы. Насколько я понимаю по вашим вопросам - вы еще новичек. Но то как вы интерпретировали задание - говорит об необходимости достаточно серьезных знаний.

Не такой и новичок. Просто, есть пробелы в некоторых моментах использования управляемых форм...
Уж извините, но судя по молчанию-мычанию, и Вы не знаете, как сделать то, что мне нужно (отбор с видом сравнения на обычной, основной форме обработки в управляемом интерфейсе)... Эксперты-коллеги в офисе тоже "сломались" пока при попытке помочь мне...

ТЕКСТ ЗАДАЧИ:

Обработка для заполнения документа поступления. Открытие списка заказов клиента, установка отметки по товару и перенос этих товаров в документ поступления.


После устного уточнения с постановщиком задания:

Создаём обработку. Форма обработки открывается из открытой формы документа Поступление по кнопке «Заполнение...». В обработке 2 (два) шага: 1) заполняем таблицу товаров; 2) из заполненной таблицы формируем документ Поступление.

Шаг 1): делаем сложный (стандартный, с видом сравнения) отбор по клиенту (партнёру), и простой — по периоду, по организации и по складу. По кнопке заполняем по отбору таблицу товаров. Заказы клиента отбираются НЕ СО СТАТУСОМ «Закрыт» (Заказы клиента со статусом «Закрыт» исключаются.)!!! При повторном нажатии на кнопку заполнения таблица товаров очищается и заполняется новыми данными.

По кнопке «Заполнить Поступление» товары переносятся в табличную часть документа Поступление. Если для Партнёра в шапке документа и указанных в строке Номенклатуры и Характеристики есть Номенклатура поставщика, то её заполняем в строке документа тоже.

***************************
Пока коллеги насоветовали делать вид сравнения в виде строкового списка, а не типа ВидСравнения или ВидСравненияКомпоновкиДанных... Но и тогда "всплывают" неразрешаемые "подводные камни" (например, в режиме выбора из списка постоянно надо выбирать тип в начале ввода кажого значения в списке... заполнение

Элементы.Партнер.СписокВыбора.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Партнеры");

должно теоретически помогать, но практически не помогает ...).

Как бы - маленькая, но трудноисполняемая деталь в задаче (то, что выделено жирным, см. выше).

Просто, начальница хочет, чтобы элементарно - был бы при отборе вид сравнения, как 8.2, в режиме обычного приложения, а у нас сейчас в задаче режим Управляемого приложения, и я не знаю, как реализовать в нём вид сравнения, то есть, то, что в 8.2 в режиме обычного приложения было проще некуда... А заодно и объяснить начальнице, что это труднореализуемо! )))))

Добавлено: 25 окт 2018, 12:29


Если есть возможность создать элемент формы (обычной, основной формы обработки) типа "Отбор" или что-то вроде - буду благодарен за помощь! Спасибо!..
Добавлено: 25 окт 2018, 12:49


Ну вот, с последней локальной подзадачей справились: при выборе вида сравнения ВСписке и т.п., когда выбор из списка, надо в коде делать не

Элементы.Партнер.СписокВыбора.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Партнеры");


, а


Элементы.Партнер.ОграничениеТипа     = Новый ОписаниеТипов("СписокЗначений");
Партнер = Новый СписокЗначений;
Партнер.ТипЗначения    = Новый ОписаниеТипов("СправочникСсылка.Партнеры");

Добавлено: 25 окт 2018, 12:53


Тогда работает: тогда тип при добавлении каждого нового значения в список руками выбирать не надо - он всегда будет СправочникСсылка.Партнеры

vitasw

 
Цитата: PavelVaskan от 25 окт 2018, 11:54Уж извините, но судя по молчанию-мычанию, и Вы не знаете, как сделать то, что мне нужно
Уважаемый, у вас очень странный метод просить помощь... оскорбляя других - странно ждать помощи. Или вы считаете что кроме как висеть на форуме - других задач нет?
То что вы написали в первом посте не соответствует полностью приведенному заданию. В первом посте речь шла о
Цитата: PavelVaskan от 24 окт 2018, 16:25создать внешнюю обработку,
В полном задании речь уже не идет о ВНЕШНЕЙ обработке. или для вас это не играет принципиальную роль?
Раз вы нашли уже решение вашей локальной задачи, какие-то еще вопросы остались?


PavelVaskan

В любом случае, без типа ВидСравнения для реквизита формы и без легко реализуемого отбора с видом сравнения в случае обычных форм и без СКД на Управляемом приложении неприятно!
Добавлено: 25 окт 2018, 13:50


Цитата: vitasw от 25 окт 2018, 13:14
Цитата: PavelVaskan от 25 окт 2018, 11:54Уж извините, но судя по молчанию-мычанию, и Вы не знаете, как сделать то, что мне нужно
Уважаемый, у вас очень странный метод просить помощь... оскорбляя других - странно ждать помощи. Или вы считаете что кроме как висеть на форуме - других задач нет?
То что вы написали в первом посте не соответствует полностью приведенному заданию. В первом посте речь шла о
Цитата: PavelVaskan от 24 окт 2018, 16:25создать внешнюю обработку,
В полном задании речь уже не идет о ВНЕШНЕЙ обработке. или для вас это не играет принципиальную роль?
Раз вы нашли уже решение вашей локальной задачи, какие-то еще вопросы остались?

Ну уж извините, начальство этот вид обработки называет "внешней обработкой, подключаемой к документу"... Она прописывается в "Администрирование -> Дополнительные отчеты и обработки", и, по сути, да... внешняя...
Добавлено: 25 окт 2018, 13:56


Никого оскорблять не хотел... Приношу свои извинения. Всего лишь констатировал факты!

Вопрос остался прежним - не имитируя поле типа ВидСравнения или ВидСравненияКомпоновкиДанных с помощью строкового поля со списком, отбор с видом сравнения на основной форме обработки без с СКД реализовать можно?

Я так понял, раз тип "ВидСравнения" исчез, предлагается либо создавать самому перечисление, но для этого надо менять конфигурацию, а в большинстве случаев конфигурация неизменна или малоизменяема по условиям задачи. Если конфигурация неизменяема - остаётся только создать поле со списком на форме. Я и спрашиваю: породить "стандартный" вид сравнения в случае обычной формы на управляемом интерфейсе без СКД никак нельзя?

Ещё лучше понять, как сразу создавать отбор с видом сравнения в случае основной формы обработки (никакой не формы выбора). Внешняя обработка или не внешняя - без разницы, конечно же...

vitasw

По сути вопроса о виде сравнения. Я бы нарисовал динамический список и его отбор

PavelVaskan

Просто, в случае необходимости переводов видов сравнения на 3-5 языков при реализации через поле со списком, жизнь программиста усложняется в геометрической прогрессии... ))))

Какой проблемы, по-моему, не было, когда ВидСравнения был стандартным выбираемым для реквизитов типом...
Добавлено: 25 окт 2018, 14:36


Цитата: vitasw от 25 окт 2018, 14:25
По сути вопроса о виде сравнения. Я бы нарисовал динамический список и его отбор

Спасибо огромное! B) С типом ДинамическийСписок работал пока слабо и мало. Сейчас попробую разобраться и почитать об этом.

Пробую. Не совсем понимаю, как добиться отображения отбора с видом сравнения на форме, как заказала начальница... Для отбора надо лезть в настройки списка по отдельной кнопке...

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск