|
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 Тогда
Это если ее надо будет и интерактивно открывать.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший