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

Хранилище

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

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



> Глобальные переменные общего модуля          
bolobol Подменю пользователя
сообщение 22.09.11, 8:27
Сообщение #1

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

Здравствуйте!

Подскажите, пожалуйста, как определить глобальные переменные в общем модуле, который содержит процедуры подписки на события?

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

Ещё вопрос. Как определить глобальные переменные для всей конфигурации в целом и как для каждого сеанса в отдельности?

Flexy Подменю пользователя
сообщение 22.09.11, 8:29
Сообщение #2

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

В общем модуле не существует раздела определения глоб. переменных.
Только описание процедур и функций.

logist Подменю пользователя
сообщение 22.09.11, 9:46
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(bolobol @ 22.09.11, 9:27) *
Ещё вопрос. Как определить глобальные переменные для всей конфигурации в целом и как для каждого сеанса в отдельности?

ПараметрыСеанса


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: bolobol,

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

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

Цитата(Flexy @ 22.09.11, 9:29) *
В общем модуле не существует раздела определения глоб. переменных.
Только описание процедур и функций.

Зато есть в модуле обычного приложения и т.д.


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

bolobol Подменю пользователя
сообщение 23.09.11, 6:04
Сообщение #5

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

Цитата(Ardi @ 22.09.11, 12:29) *
Зато есть в модуле обычного приложения и т.д.

Что есть "модуль обычного приложения"? Чем оно выгодно отличается от необычного приложения?

shurik_shurik Подменю пользователя
сообщение 23.09.11, 6:48
Сообщение #6

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 124
Из: Полтавская обл.
Спасибо сказали: 72 раз
Рейтинг: 0

Тем, что работает на толстом клиенте..... а необычное приложение - это тонкий клиент, или WEB-клиент, или внешнее соединение.... biggrin.gif biggrin.gif

Сообщение отредактировал shurik_shurik - 23.09.11, 6:49

bolobol Подменю пользователя
сообщение 25.09.11, 19:57
Сообщение #7

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

Цитата(shurik_shurik @ 23.09.11, 7:48) *
Тем, что работает на толстом клиенте..... а необычное приложение - это тонкий клиент, или WEB-клиент, или внешнее соединение.... biggrin.gif biggrin.gif

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

Ardi Подменю пользователя
сообщение 25.09.11, 20:24
Сообщение #8

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

Тут была картинка...


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

bolobol Подменю пользователя
сообщение 25.09.11, 21:42
Сообщение #9

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

Цитата(Ardi @ 25.09.11, 21:24) *
Тут была картинка...

Что это значит?

Ardi Подменю пользователя
сообщение 25.09.11, 22:36
Сообщение #10

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

Цитата(bolobol @ 25.09.11, 22:42) *
Что это значит?

Это значит что я туда вставил картинку-ответ.


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

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

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

Цитата(Ardi @ 25.09.11, 23:36) *
Это значит что я туда вставил картинку-ответ.

Её упёрли, что ли...? 0_о

Vofka Подменю пользователя
сообщение 26.09.11, 7:01
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
Её упёрли, что ли...?

Ага

vbi Подменю пользователя
сообщение 26.09.11, 9:01
Сообщение #13

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Цитата(bolobol @ 25.09.11, 20:57) *
Тогда, я не понимаю, что нужно установить, чтобы общий модуль стал модулем обычного приложения?, и мог использовать глобальные переменные.


Общий модуль не может быть модулем обычного приложения. Модуль обычного приложения - это, так сказать, глобальный модуль. В нем выполняются процедуры при запуске системы, подключаются обработчики ожидания и т. д. - тоесть выполняются такие глобальные задачи. Я даже не вижу смысла использовать там какие-то переменные. Есть модуль управляемого приложения - этот модуль "заменяет" модуль обычного приложения, когда 1С запускается в управляемом режиме. Есть модуль внешнего соединения - экспортные процедуры в этом модуле доступны при подключении к даной базе из другой базы.

Если все уж так плохо с получением данных из регистров, можно воспользоватся "СохранитьЗначение", "ВосстановитьЗначение". Но я бы занялся именно оптимизацией получения данных из регистров smile.gif


Signature
Впроваджую, супроводжую

Спасибо сказали: bolobol,

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

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

Щас взломаем правила:
вот видео:
[необходимо зарегистрироваться для просмотра ссылки]
[необходимо зарегистрироваться для просмотра ссылки]


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

Спасибо сказали: bolobol,

bolobol Подменю пользователя
сообщение 26.09.11, 13:37
Сообщение #15

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

Цитата(vbi @ 26.09.11, 10:01) *
Если все уж так плохо с получением данных из регистров, можно воспользоватся "СохранитьЗначение", "ВосстановитьЗначение". Но я бы занялся именно оптимизацией получения данных из регистров smile.gif

Плохо, если требуется пять раз за операцию получать одни и те же значения из БД. Придётся переписывать сам модуль, использующий пятикратное обращение к одним и тем же данным. Жаль.

Цитата(Ardi @ 26.09.11, 12:31) *
Щас взломаем правила:
вот видео:
[необходимо зарегистрироваться для просмотра ссылки]
[необходимо зарегистрироваться для просмотра ссылки]

Теперь мне понятно, где собака порылась. Другой вопрос, что эти модули на поддержке и мне это вариант не подходит. Буду переписывать.

Спасибо!

logist Подменю пользователя
сообщение 26.09.11, 13:46
Сообщение #16

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(bolobol @ 26.09.11, 14:37) *
Придётся переписывать сам модуль, использующий пятикратное обращение к одним и тем же данным. Жаль.

Я не знаю что Вы там делаете, но если допустить что между этими обращениями данные могут измениться, то такое обращение вероятно оправдано. А если данные 101% не меняются между обращениями, то возможно стоит пересмотреть логику всего кода который их обрабатывает, что бы в результате получить одну процедуру с одним обращением...?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

vbi Подменю пользователя
сообщение 26.09.11, 15:53
Сообщение #17

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Есть еще один очень хитрый вариант, если данные меняются не часто: Использовать свойство внешнего модуля "Повторное использование возвращаемых значений" (Повторне використання значень, що повертаються).
1. Создаете новый общий модуль
2. Ставите галку "Повторное использование возвращаемых значений"
3. Пишите функцию, которая Вам возвращает Ваши труднособираемые данные в этом модуле
4. Функция обязательно должна иметь параметр (например число. Параметр не обязательно использовать внутри функции)

Например у Вас функция:
 Функция ПолучитьСложныеДанные(КакойТоПараметр)

...

// Нигде в функции "КакойТоПараметр" не встречается, но функция путем запросов возвращает данные
КонецФункции


Далее дело обстоит так: когда Вы вызываете функцию и например передаете число или строку:

Результат = ПолучитьСложныеДанные(5);


Функция проведет сложные расчеты и вернет Вам результат. Но если вы ее вызовите снова:

Результат = ПолучитьСложныеДанные(5);


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

Если теперь вызвать
Результат = ПолучитьСложныеДанные(6);


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

Если снова вызвать
Результат = ПолучитьСложныеДанные(6);
- тот же результат но без вычислений
Результат = ПолучитьСложныеДанные(5);
- результат полученный в первый раз тоже без вычислений.

И все это делает галочка в модуле "Повторное использование возвращаемых значений".

Честно говоря я не тестировал это все, но теоретически - должно работать smile.gif


Signature
Впроваджую, супроводжую

Спасибо сказали: bolobol,

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

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

Цитата(bolobol @ 26.09.11, 14:37) *
Теперь мне понятно, где собака порылась. Другой вопрос, что эти модули на поддержке и мне это вариант не подходит. Буду переписывать.
Спасибо!

Может там уже есть готовая объявленная переменная для этого дела.


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

bolobol Подменю пользователя
сообщение 28.09.11, 14:36
Сообщение #19

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

"Повторное использование" - Да! Спасибо за наводку ))

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


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

 

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