Имя: Пароль:
1C
1C 7.7
v7: Про Глобальный модуль
,
0 almair_ne
 
18.04.12
17:35
Недавно пришлось начать изучать 1с, не обесудьте если вопрос нубский
У меня такой вопрос, написал синхронизацию с интернет магазином , коннект к фтп (dialmail), забирание xml и разбор, возврат результата. Все работает, но в итоге Глобальный модуль подрос на 1000 строк, это нормально держать все в 1 м файле?  Или как то можно это разделить/вынести, а то после ООП не люблю класть все яйца в одну корзину.
1 andrewks
 
18.04.12
17:35
я вижу, типовой ЗиК ты не видел?
2 andrewks
 
18.04.12
17:36
а так - 1с++
3 ptiz
 
18.04.12
17:38
При желании можно общие процедуры и через код в формах реализовать.
4 ComPAS
 
18.04.12
17:39
эээ... 60 мб размер md-шника норм.
5 Гость2
 
18.04.12
17:40
А внешней обработкой? Не фонтан?
6 Sedoy
 
18.04.12
17:43
(0) Все можно сделать...
7 Ыщъ
 
18.04.12
17:51
"подрос на 1000 строк"
Сколько там строк всего?
8 Гость2
 
18.04.12
17:51
1001
9 Ыщъ
 
18.04.12
17:54
(8) )))))
10 almair_ne
 
18.04.12
18:00
Попробовал вынести во внешнюю обработку , но в связи с тем что опыта маловато. Не получилось.
Описываю алгоритм:
Заходит в 1с бот , проверяется что это бот далее идет ОбработкаОжидания из нее вызывается процедура и пошло по процедурам... вынес во внешнюю, подключил , но как  обратиться к процедуре внешней формы без открытия этой формы так и не понял, пробовал так:
файл = КаталогИБ()+"Extforms\web.ert";
[code]
Если ОткрытьФорму("Отчет",,файл) = 1 Тогда
               Сообщить("ок");
               
           Иначе
               Сообщить("нет");
           КонецЕсли;[/code]
Во внешней форме:
[code]
Процедура ПриОткрытии()
   ПодключениеФТП();
КонецПроцедуры
[/code]
Не надо тролить, строк 26000, это не типовая конфигурация, досталась мне в наследство.
11 andrewks
 
18.04.12
18:10
(10) а не надо обращаться к процедурам внешки, делай всё в самой внешке.

в ГМ только? ПриНачРабСист: если бот - запускаем обработку, в ней уже делаем Форма.ОбработкуОжидания()
12 viktor_vv
 
18.04.12
18:10
Только не надо обращаться к процедуре во внешней обработке. Весь код связанный с обменом закинь туда.

Процедура ПриОткрытии()
   ПодключениеФТП();
   // и все что надо выполнить для обмена.
   СтатусВозврата(0);
   Возврат ;
КонецПроцедуры


можно еще передать параметр, чтобы знать что это робот.
ЭтоРобот = 1 ;
Если ОткрытьФорму("Отчет",ЭтоРобот,файл) = 1 Тогда

Процедура ПриОткрытии()
   Если Форма.Паарметр = 1 Тогда // это робот
     ПодключениеФТП();
     // и все что надо выполнить для обмена.
     СтатусВозврата(0);
     Возврат ;
   КонецЕсли ;
КонецПроцедуры
13 viktor_vv
 
18.04.12
18:12
(11) :)

(12)*  Если Форма.Параметр = 1 Тогда

Это если ее надо будет и интерактивно открывать.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.