Имя: Пароль:
1C
1С v8
Вызов общего модуля из модуля управляемой формы.
,
0 Greiv
 
03.08.13
15:32
Приветствую. Проблема в следующем, есть некая обработка размещённая в ОбщихМодулях которая пори запуске системы должна помечать на удаление элементы срок гарантии которых истёк, эта обработка работает нормально, но если я пытаюсь вызвать обработку в модуле управляемого приложения то при запуске системы мне вываливается сообщение "Переменная запрос не определена, ЗапросОбор = новый <<?>>Запрос".

Галочки в ОбщихМодулях на сервере, на килиенте и вызов сервера установлены.

Код написанный в модуле управляемой формы выглядит следующим образом:

Процедура ПриНачалеРаботыСистемы()

ОбработкаГарантии.ОбрабГарантии();

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


Причём когда галочки выше указанные в общем модуле не стояли то он сразу ругался на ОбработкаГарантии, что переменная не определена, но это как я понимаю связанно с тем что я пытался вызвать серверную процедуру, а модуль упр. прил. поддерживает только клинские процедуры и операторы.

Так вот после установки этих галочек почему он не хочет отрабатывать весь код и спотыкается на ЗапросОбор = новый Запрос;?
1 Капитан О
 
03.08.13
15:38
что такое обработка, размещённая в модулях? дальше читать пока не хочу
2 GROOVY
 
03.08.13
15:44
Галку "Клиент" убери.
3 GROOVY
 
03.08.13
15:44
Чуваки, как вы вообще кодите с такими познаниями?
4 Greiv
 
03.08.13
15:46
Обработка размещённая в модулях это значит, что есть процедура которая размещена в Общих Модулях и называется эта процедура ОбрабГарантии.
5 Greiv
 
03.08.13
15:46
Убирал, эффект тот же.
6 Капитан О
 
03.08.13
15:48
(4) узнай, что такое обработка. термин такой
7 Капитан О
 
03.08.13
15:50
(3) плохо кодят. я вот убирался крайний раз за чуваками - 5 секунд на запрос вместо 75 секунд циклов, например
8 Greiv
 
03.08.13
15:52
Знаю я что такое обработка, делал кстати всё это через обработку, всё работало, но там меня не устраивало что форма используется, мне форма не нужна.
9 Капитан О
 
03.08.13
15:56
>помечать на удаление элементы срок гарантии которых истёк
а на зачем? индикация негодности и пометка удаления ваще-то разные вещи. дальше опять не читал
10 Greiv
 
03.08.13
16:00
Я думаю вам дальше и не стоит читать, мне тоже не хочется на каждый бессмысленный вопрос отвечать. Я понимаю, что тут все гуру и лишний раз потролить милое дело.
11 Капитан О
 
03.08.13
16:09
(10) у тебя есть задача, нам неизвестная. ты выдумал какое-то её решение, впёрся в грабли, и пошёл на форум. тебе намекнули на то, что есть другое, более правильное решение. а ты начал ерепениться. да иди ты лесом с таким подходом
12 Greiv
 
03.08.13
16:16
Мне не нужно другое решение, я хочу разобраться с этой проблемой, я вижу вы мне помочь не можете, не стоит больше не чего писать.
13 Капитан О
 
03.08.13
16:18
(12) выяснить причину проблемы не трудно. но ты же будет претворять это в жизнь. а это очень плохо
14 GROOVY
 
03.08.13
16:19
Код покажи. Похоже тупо синтаксическая ошибка.
15 GROOVY
 
03.08.13
16:19
Если только ты точно галку "клиент" с общего модуля снял.
16 Капитан О
 
03.08.13
16:20
/* человек, похоже, даже не задумался. долбит и долбит*/
17 GROOVY
 
03.08.13
16:31
Все, клиент слился...
18 Greiv
 
03.08.13
16:31
Капитан О не переживайте это моя база и я не программист 1С, а руководитель ИТ отдела так что можете расслабится.

Теперь что касается кода и синтаксических ошибок возможно товарищ GROOVY прав, возможности проверить сейчас нет, база на работе осталась. Сейчас что то похожее только в сокращённом варианте напишу дома и проверю.
19 Капитан О
 
03.08.13
16:36
(18) да ваще понакласть, чья это база и кто ты. не хочешь по-хорошему - твоё личное дело
20 GROOVY
 
03.08.13
16:37
(18) Хороший руководитель отдела должен понимать предмет с которым работают его подчиненные, а то лапшу на уши вешать будут.

"?    Greiv
5 - 03.08.13 - 15:46
«   х       
Убирал, эффект тот же." - это о чем было?
21 zladenuw
 
03.08.13
16:37
(20) заПи...делся
22 GROOVY
 
модератор
03.08.13
16:38
(21) Не выражайтесь, а то роспотребнадзор сайт закроет.
23 Капитан О
 
03.08.13
16:41
(22) матофильтр там у себя настройте
24 Pahomich
 
03.08.13
16:41
(22) А кто предъявит на это свои права собственности?
25 Greiv
 
03.08.13
16:47
Я вообще то, не про галочку которая стоит в общих модулях, а про ошибку в коде, если у меня ошибка в коде то не зависимо стоит ли голочка Клиет или нет всё ровно вываливается ошибка только в 1 случае это будет "ОбработкаГарантии переменная не определена", а в другом "Переменная запрос не определена, ЗапросОбор = новый <<?>>Запрос".

Есть большие подозрения, что ЗапросОбор = новый Запрос(); отсутствуют скобки после слова запрос, но как я уже сказал возможности проверить сейчас нет.

У меня нет в подчинении программеров 1С у нас он вообще 1 и то фриланс, только админы.
26 Капитан О
 
03.08.13
16:48
(25) моптить, ять. твоё слово "запрос" тупо не компилируется. а не компилируется оно на клиенте
27 GROOVY
 
03.08.13
16:50
(25) Боже, да какой из тебя руководитель... Мозг включи.
28 Капитан О
 
03.08.13
16:50
(27) из этих - лучшие руководители. не служил?
29 GROOVY
 
03.08.13
16:53
(28) Нет. В мое время это утопично было, слава богу обстоятельства не позволили.
30 Greiv
 
03.08.13
16:59
Как можно было из такого фуфлового вопроса (для тех кто знает 1С) раздуть столько не нужного трёпа, думаю дальше сами справитесь.
31 Капитан О
 
03.08.13
16:59
GROOVY, раз уж ты здесь, чисто по человечески хочу сказать спасибо за чистов.спб(как-то так) - весьма полезно и интересно. и выразить "фи" за вымарывание постов про подготовку к профессионалу
32 Капитан О
 
03.08.13
17:00
(30)да на овоща ты нам нужен, чтоб справляться ;)
33 GROOVY
 
03.08.13
17:04
(30) Раздул ты. Ответ был во втором сообщении.

(31) Спасибо, в том числе за критику.
34 Greiv
 
03.08.13
17:05
Ага и вам спасибо.
35 Greiv
 
05.08.13
11:58
Кому интересно и может пригодится:

Код модуля управляемого приложения:

Процедура ПриНачалеРаботыСистемы()
     ОбработкаГарантии.ПометкаУдаление();
КонецПроцедуры


Код процедуры в Общих Модулях:

Процедура ПометкаУдаление()    Экспорт
    Т="";
    э ="";
    Сооб=Истина;
    ЗапросОбор = новый Запрос();
    ЗапросОбор.Текст =   "ВЫБРАТЬ
                         |    ГарантийноеОборудование.Ссылка
                         |ИЗ
                         |    Справочник.ГарантийноеОборудование КАК ГарантийноеОборудование
                         |ГДЕ
                         |    ГарантийноеОборудование.ОкончаниеГарантии <= &ОкончаниеГарантии
                         |    И ГарантийноеОборудование.ПометкаУдаления = ЛОЖЬ";
    
    ЗапросОбор.УстановитьПараметр("ОкончаниеГарантии", ТекущаяДата());
    Результат = ЗапросОбор.Выполнить().Выбрать();
    Пока результат.Следующий() цикл  
        
        ЭлемСправочника=Результат.Ссылка;
        ОбъектСправ = ЭлемСправочника.ПолучитьОбъект();        
        Попытка
        ОбъектСправ.УстановитьПометкуУдаления(истина);        
        Э =Э + ЭлемСправочника.Наименование + ", ";
        Исключение
        Сооб=Ложь;  
        Т=Т + ЭлемСправочника.Код + ", ";    КонецПопытки;
        
КонецЦикла;


    Если Сооб=Ложь
        Тогда     
        
    Сообщить("Ошибка, обработка не выполнена " +Т);
        Иначе
    Сообщить("Обработка выполнена успешно." );
    
КонецЕсли;

Сообщить("Срок гарантии вышел у: " + символы.ПС + Э);

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

В Общих модулях установлены галочки "Сервер", "Вызов сервера" и при данной конструкции всё заработало с учётом скобок после слова Запрос, без скобок не пашет, хотя при конструкции типа Запрос = новый Запрос; всё работает и без скобок. У меня 1С:Предприятие 8.2 (8.2.18.82) установлена и этот косяк с запросом проявляется только в модуле управляемого приложения наверно.