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

Проблемы с оператором Перем

Автор ekaterinka87, 14 июл 2015, 23:16

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

vitasw

1. УсловныеОператоры();
2. СчастливоеЧисло=777

Впихните вызов УсловныеОператоры(); в ПриНачалеРаботыСистемы. На текущий момент у вас сначала выполняется процедура, а затем происходит присвоение значения переменной. Естественно все скатывается в "неопределено".

cska-fanat-kz

Цитата: vitasw от 15 июл 2015, 10:35
1. УсловныеОператоры();
2. СчастливоеЧисло=777

Впихните вызов УсловныеОператоры(); в ПриНачалеРаботыСистемы. На текущий момент у вас сначала выполняется процедура, а затем происходит присвоение значения переменной. Естественно все скатывается в "неопределено".


да, да. я и спрашивал, где эта процедура вызывается. потому как если она просто "лежит" в модуле то она фиг выполнится.
но в любом случае присвоение происходит первее.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Цитата: cska-fanat-kz от 15 июл 2015, 11:54но в любом случае присвоение происходит первее.
Поясните, как присвоение при такой организации кода происходит первее чем вызов процедуры?



Kironten

Цитата: vitasw от 15 июл 2015, 12:07
Цитата: cska-fanat-kz от 15 июл 2015, 11:54но в любом случае присвоение происходит первее.
Поясните, как присвоение при такой организации кода происходит первее чем вызов процедуры?
Очевидно имелось ввиду: "Присвоение должно происходить первее".
Просто cska-fanat-kz двусмысленно выразился.

cska-fanat-kz

Цитата: vitasw от 15 июл 2015, 12:07
Цитата: cska-fanat-kz от 15 июл 2015, 11:54но в любом случае присвоение происходит первее.
Поясните, как присвоение при такой организации кода происходит первее чем вызов процедуры?




процедуры в данном случае модуля упр. прил. сами по себе не вызываются, где бы они не стояли.
если конечно это не процедуры обработки события - в нашем случае это не так.
а вот раздел операторов (все что ниже описания процедур и функций) исполняется автоматом.
я запихнул вызов процедуры УсловныеОператоры() в ПриНачалеРаботыСистемы() (да и в Перед...) и на входе у переменной СчастливоеЧисло было значение 777.

Или вы про что-то другое говорите? конец рабочего дня и я недопонимаю? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

ekaterinka87

Цитата: vitasw от 15 июл 2015, 10:35
1. УсловныеОператоры();
2. СчастливоеЧисло=777

Впихните вызов УсловныеОператоры(); в ПриНачалеРаботыСистемы. На текущий момент у вас сначала выполняется процедура, а затем происходит присвоение значения переменной. Естественно все скатывается в "неопределено".
Если я правильно понимаю
Процедура ПриНачалеРаботыСистемы ()
   СчастливоеЧисло=777;
   УсловныеОператоры ();
КонецПроцедуры

Тааким макаром все работает. Но так как я только учусь, может покажите, как надо правильно? )) И спасибо огромное за объяснения, почему не работало. :ooifh:

vitasw

Цитата: ekaterinka87 от 15 июл 2015, 20:36Процедура ПриНачалеРаботыСистемы ()
   СчастливоеЧисло=777;
   УсловныеОператоры ();
КонецПроцедуры
Можно и так. Принципиальной разницы с тем что я имел ввиду нет.
Хотя если бы писал для себя то писал:

Процедура УсловныеОператоры(СчастливоеЧисло)
   
   Если СчастливоеЧисло=777 Тогда
      Сообщить("777");
   ИначеЕсли СчастливоеЧисло=999 Тогда
      Сообщить("999");
   Иначе
      Сообщить("Все пропало!");
  КонецЕсли;
  Сообщить (СчастливоеЧисло);

КонецПроцедуры
Процедура ПриНачалеРаботыСистемы ()
   СчастливоеЧисло=777;
   УсловныеОператоры (СчастливоеЧисло);
КонецПроцедуры


Не люблю глобальных переменных. О них часто забываешь.

ekaterinka87

Большущее спасибо за помощь :bleh:

cska-fanat-kz

"СчастливоеЧисло=777;"

можно оставить где и было ;)
хотя если буквоедствовать, то нас на курсах учили, что в модуле упр. прил. кроме обработчиков событий вообще ничего не должно быть ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Цитата: cska-fanat-kz от 16 июл 2015, 06:52хотя если буквоедствовать, то нас на курсах учили, что в модуле упр. прил. кроме обработчиков событий вообще ничего не должно быть ;)

:)Абсолютно согласен. Модуль приложения компилится в момент запуска приложения и чем больше сам модуль тем дольше компилится, а пользователи, бывает, нервничают, что так долго запускается.

Теги:

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

Рейтинг@Mail.ru

Поиск