Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
Здравствуйте! Непонятная проблема замучила. У меня есть процедура поиска по серийному номеру с именем ПоискПСН(). В поле акта приема я ввожу серийный номер, и, если нажать на кнопку, на которую я повесил эту процедуру, то осуществляется перебор всех документов, и данные документов с этим серийным номером заносятся в таблицу значений ТЗ. Дата приема, кто делал, номер телефона клиента и т.п. Затем создается печатная форма таблицы Таб и выводится все это в приличном виде на экран. Все меня устраивало. Но сегодня я решил, что удобнее будет, если эту процедуру повесить не на кнопку, а прямо на поле ввода серийного номера. Чтобы после ввода серийника без кнопки запускалась процедура поиска документов с данным серийником и все выводилось. И тут возникла проблема. Код процедуры я не менял, а всего лишь, ВСЕГО прописал в поле Дополнительно название процедуры ПоискПСН(), которая на кнопке нормально работает. Синтакс, естественно, все ОК. Но при проверке после введения серийного номера появляется сообщение, что имя файла ПоискПСН не найдено:
Таб.Исходная таблица ("ПоискПСН") Документ АктПриема модуль такой-то Неверное имя ПоискПСН Вот так вот. Хотя таблица печатной формы с именем ПоискПСН имеется и с кнопки все отлично работает. Что за хрень? Операционка Виндовс 10. Спасибо
Группа: Местный
Сообщений: 372
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 66.3
Хрень в том, что "таблица печатной формы" наверно интерактивная и имеет поле-кнопку с формулой #ПоискПСН()
Обработка генерирует этот табличный документ, и если закрыть форму обработки, теряется связь (контект) этой рпоцедуры с табличного поля и формой обработки. Вот и ошибка.
Как лечить: выводить табличный документ на форму обработки.
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
Vladal @ Сегодня, 19:49
, Поле-кнопку не имеет. Кнопка находится на форме. Я не понимаю, почему ошибка выскакивает, если я не меняю код программы, а просто меняю кнопку, которая находится на форме на поле ввода, которое тоже находится на форме.
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
У меня есть еще одна кнопка с полем ввода. Там такая же процедура, только не с серийником, а с номером телефона. Так вот, если процедуру повесить на поле ввода номера телефона, то выскакивает эта же ошибка. То есть, не находит таблицу печатной формы ПоискПТФ. А с кнопки все работает. Это что-то системное. Может, нельзя вообще с поля ввода запускать процедуры с выводом таблиц печатной формы? Где собака порылась?
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
ZUBR @ Вчера, 21:26
, Пришел к выводу, что ошибки нет, просто, когда запускается процедура не с кнопки, а с поля ввода, программа ищет таблицу в виде файла. И не находит. Можно ли обойти эту проблему?
ZUBR @ Вчера, 21:26 * , Пришел к выводу, что ошибки нет, просто, когда запускается процедура не с кнопки, а с поля ввода, программа ищет таблицу в виде файла. И не находит. Можно ли обойти эту проблему?
Для виклику друку із поля вводу потрібно робити через Ложное закрытие. Здається я вже Вам раз давав як виглядає це ложне закриття. Нагадаю:
Процедура ПечатьИзПоляВвода() // цю процедуру вішаємо на поле вводу МожноЗакрыть = 0; Форма.Закрыть(0); КонецПроцедуры
Процедура ПриЗакрытии() Если МожноЗакрыть = 0 Тогда МожноЗакрыть = 1; Сформувати(); // ця процедура, яку потрібно виконатити СтатусВозврата(0); // відмінити закриття форми Возврат; // протрібно якщо нижче в цій процедурі є ще якийсь код, і не потрібно щоб він виконувався КонецЕсли; КонецПроцедуры
Якшо у вас на цій формі вже використовується ложне закриття для інших цілей, то використовуйте разні значення для змінної МожноЗакрыть для різних цілей, і в ПриЗакритии просто аналізуючи яке його значення виконувати потрібні дії
Сообщение отредактировал volodya1122 - 03.05.20, 12:16
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
volodya1122 @ Сегодня, 13:04
, Дуже дякую. проте, такий метод мені не подобається... Якщо інших рішень немає, доведеться відмовитись від виводу друкованої форми.
ZUBR @ Вчера, 17:31
, і чим він не подобається. Це звичайне рішення, в багатьох місцях його використовують. Для користувача взагалі ніяких відмінностей небуде.
інший вихід- таблицю значень помістити прямо на форму
Сообщение отредактировал volodya1122 - 04.05.20, 8:40
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!