Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Обраотка ячейки таблицы          
DAS_Alex Подменю пользователя
сообщение 24.01.11, 10:44
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте. Из книжек: "Если данная процедура описана в модуле формы, то вызывается она, иначе система запускает одноименную процедуру из глобального модуля."
У меня происходит наоборот сначала запускается из глобального. Что не так делаю?

Ardi Подменю пользователя
сообщение 24.01.11, 14:11
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

вы перепутали какую-нибудь букву в имени процедуры.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

DAS_Alex Подменю пользователя
сообщение 24.01.11, 15:11
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Ardi @ 24.01.11, 15:11) *
вы перепутали какую-нибудь букву в имени процедуры.


Исключено. Вытащил из помощника.

DAS_Alex Подменю пользователя
сообщение 24.01.11, 16:05
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Закоментировал процедуру в глобальном модуле теперь при двойном нажатии на таблице появляется диалог: на нем изображен желтый треугольник с восклицательным знаком и значения поля расшифровка, которое я там запоминаю. Моя процедура ОбраоткаЯчейкиТаблицы не обрабатывается.

Flexy Подменю пользователя
сообщение 24.01.11, 16:53
Сообщение #5

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

А в каком режиме находиться Таблица?Если в режиме для ввода, то попробуйте выводить ее в Таб.ТолькоПросмотр(1).
Вот тут что-то подобное обсуждали [необходимо зарегистрироваться для просмотра ссылки]

Ardi Подменю пользователя
сообщение 24.01.11, 19:55
Сообщение #6

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

А - это процедура "Обработка ячейки таблицы". Вроде она так и работает - если есть в глобальнике - то далее как-то по хитрому.

Можнотак - тогда обе будут срабатывать:

в глобальнике
Процедура ОбработкаЯчейкиТаблицы(Зн,Фл,Таб,Адрес) Экспорт
Сообщить("глобальничег");
КонецПроцедуры // ОбработкаЯчейкиТаблицы()


в отчете:
Процедура SheetCellProcessing(Зн,Таб,фл,Адрес) //язык другой, вот в чем фишка... 
Сообщить("Локальная");
КонецПроцедуры // SheetCellProcessing()


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

dmiter Подменю пользователя
сообщение 25.01.11, 0:04
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

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

DAS_Alex Подменю пользователя
сообщение 25.01.11, 8:22
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Расскажу подробней. Есть три отчета. Первый формируется при нажатии на кнопку диалога отчета.

Второй - при двойном нажатии на ячейке таблицы первого отчета, в модуле формы первого отчета срабатывает одноименная процедура:

Процедура ОбработкаЯчейкиТаблицы(_Знач)
ОткрытьФорму("Отчет.2-й отчет",_Знач);
КонецПроцедуры

Третий (с которым проблема) при двойном нажатии на ячейке таблицы второго отчета, но так как второй отчет формировался через ОткрытьФорму("Отчет.2-й отчет",_Знач);
в конце процедуры ПриОткрытии (2-й отчет) используется СтатусВозврата(0), чтобы не появлялся диалог пользователя 2-го отчета - здесь как Я понял теряется контекст формы и не выполняется локальная ОбработкаЯчейкиТаблицы().

Если второй отчет сформировать через дыалог пользователя - третий отчет выполняется без проблем. То есть два вложенных отчета из трех мне не получить или все таки.....?

dmiter Подменю пользователя
сообщение 25.01.11, 23:30
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

Можно получить - только параметры надо передавать так чтобы глобальная процедура ОбработкаЯчейкиТаблицы знала как его обрабатывать.
Поскольку контекст формы отчета (второго) потерян то можно сказать что печатная таблица второго отчета отцеплена от контекста - поэтому и вызывается
глобальная процедура обработки ячейки (локальной процедуры Формы нет).

Также можно - вызвать не сразу третий отчет - а последовательно:
Вызвать второй отчет (через глобальную процедуру ОбработкаЯчейкиТаблицы) с параметром что необходимо отработать локальную процедуру
Обработка ячейки таблицы с передаваемыми параметрами. Также необходимо учитывать что локальные переменные второго отчета также будут обнулены,
то есть необходимо все необходимые данные записывать в расшифровку

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 26.04.24, 16:06
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!