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

Программное создание кнопки на форме и выполнение процедуры заполнения коллекций - не отражается результат заполнения на форме.

Автор SergBeg, 25 мая 2023, 07:19

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

SergBeg

Добрый день.

Делал в программно кнопку на форме для заполнения,по вот такой методике:
"Обработка заполнения объекта, вызов клиентского метода. Подключение через расширение"
Публикация № 903971
expert.chistov.pro/public/903971/ 

Но не прилетают данные обратно в итоге, не понимаю где копать
В модуле формы обработки процедура заполнения корректно отрабатывает:

&НаКлиенте
Процедура Подключаемый_ЗаполнитьОбъект(МассивОбъектов, ПараметрыВыполнения) Экспорт

ИсточникФорма = ПараметрыВыполнения.Форма;
ИсточникОбъект = ИсточникФорма.Объект;

ИсточникОбъект.ЗначенияПоказателей.Очистить();
ИсточникОбъект.ФизическиеЛица.Очистить();

РезультатЗапроса = ПолучитьДанныеДляЗаполнения(ИсточникОбъект);

Для каждого Строк Из РезультатЗапроса Цикл

НоваяСтрока = ИсточникОбъект.ЗначенияПоказателей.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,Строк);

КонецЦикла;

Для каждого Строк Из РезультатЗапроса Цикл

НоваяСтрока = ИсточникОбъект.ФизическиеЛица.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,Строк);

КонецЦикла;


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

Заполнение коллекции происходит в этой процедуре, но данные не возвращаются на форму по завершении выполнения.
Спасибо!


LexaK

SergBeg, зачем такие сложности?
обычно используются внешние обработки для заполнения/обработки документов
при их подключении ни какие кнопки создавать не надо.

Что за база у вас? Используется ли БСП?
если помогло нажмите: Спасибо!

SergBeg

Цитата: LexaK от 25 мая 2023, 10:33Используется ли БСП?
База ERP 2.5.8.443 (БСП конечно есть)

Про внешние - это не этот конкретный случай ;)

Суть задачи - автоматизировать заполнение показателя в документе данными для определенных должностей и подразделений.

Можно, конечно, и внешнюю/дополнительную обработку использовать, но как-то странно для такой задачи мне кажется.

Так же понятно, что можно было бы затащить форму документа в расширение и добавить там и кнопку и саму процедуру заполнения, но это тянет за собой последующие усложнения при обновлении баз.


Поэтому вариант изначальный как в статье мне показался наиболее интересным, простым в тиражировании для других объектов конфигурации, используя БСП.

Еще поковыряюсь немного, и если не получится понять проблему, придется вернуться методике добавления через доп.обработку...

LexaK

Цитата: SergBeg от 25 мая 2023, 11:28Суть задачи - автоматизировать заполнение показателя в документе данными для определенных должностей и подразделений.
воооот, ключевое слово - Автоматизировать!
самое простое напишите регламентное задание! задайте расписание 1 раз в час, вот пусть оно автоматически и заполняет все что надо!
и без всяких кнопок! и опять же его можно написать как внешнюю обработку и подключить как Регламентное задание!
если помогло нажмите: Спасибо!

SergBeg

Цитата: LexaK от 25 мая 2023, 11:33воооот, ключевое слово - Автоматизировать!
самое простое напишите регламентное задание! задайте расписание 1 раз в час, вот пусть оно автоматически и заполняет все что надо!

Так автоматизировать заполнение, а не создание документов (тут то вопросов вообще никаких):)
А в данном случае порядок такой: Создается документ и сотрудник заполняет данными, которые ранее вычислял "на коленке" тратя кучу времени.
причем он сам, предварительно, выбирает и период и организацию  и подразделение нужные ему в данный момент, а так же за первую половину месяца или за полный месяц, и только после этого будет нажимать заполнение данных, после чего снова смотреть, результат, и менять его если нужно. или вносить изменения и снова тут же заполнять/проверять. То есть это интерактивная работа, но получение данных автоматизировано должно быть :)

LexaK

SergBeg, ну хорошо, интерактивная так  интерактивная  работа,
а вы код своей обработки проходили под отладчиком?
правильно ли форма (владелец) передается?
формируются ли данные функцией ПолучитьДанныеДляЗаполнения(..);

так вроде все правильно. (пробовал на тестовой базе, ТЧ документа отлично изменяется и изменения сразу видны на форме (владельце))
если помогло нажмите: Спасибо!

SergBeg

LexaK, дак в том то и дело :)

как уже писал, в конце все данные коллекций формы: 
ИсточникОбъект.ЗначенияПоказателей
ИсточникОбъект.ФизическиеЛица

заполнены, в отладчике и смотрел... но после завершения процедуры ничего не происходит, не возвращаются они обратно
причем, к примеру, есть строка в ТЧ перед заполнением, в функции данные очищаются, но так как обратно ничего не прилетает ничего - эта строка и остается.. мистика..

чувствую где-то нюанс есть, причем простой, но вот где? Может расширение чудит...

SergBeg


Теги:

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

Рейтинг@Mail.ru

Поиск