Имя: Пароль:
1C
1С v8
Получить форму на сервере 1с (продолжение)
,
0 Антиквар
 
19.05.19
22:13
Начало тут:
Получить форму на сервере 1с
Топик не мой, и к тому же двухлетней давности :)
Но поскольку мы только в этом году перешли с ЗУП 2.5 на ЗУП 3.1, то столкнулся со всеми этими прелестями.
Пытаемся что-то автоматизировать, т.к. у нас очень большие объемы данных, документы грузятся из сторонних программ, и много других задач, когда требуется программно сделать расчет документов.
Полностью согласен с "mercur_1c", перетащить в свою обработку на сервер из формы документа функции и процедуры не реально, весь код модуля формы за собой утянешь.
Но в сообщении № 71 форумчанин под ником "Aletar" написал про новый на тот момент релиз ЗУПа(3.1.2):  

"Вроде бы улучшили логику работы с документами, теперь форма не нужна чтобы рассчитать."

Что-то я в своем актуальном ЗУП 3.1.5 не вижу таких возможностей. Всё по-прежнему, все функции расчета в модуле формы.
Т.е. ничего не поменялось с тех пор?
1 Garykom
 
гуру
19.05.19
22:44
(0) Ну навтыкайте в модули форм своих процедур и запускайте клиента-робота, который все что надо сделает.

Да изврат но оно вполне работает, еще со времен 77 где подобное было никак иначе.
2 Garykom
 
гуру
19.05.19
22:45
(1)+ Причем процедур можно расширением добавить, даже не трогая конфу и метаданные.
3 Антиквар
 
19.05.19
23:06
(1) Зачем в модули форм что-то втыкать, если с сервера эти модули не сможешь использовать.
4 Garykom
 
гуру
19.05.19
23:15
(3) Как это не сможешь?

На сервере будет запускаться тонкий клиента и стучаться к серверу с запросами вида "Что мне делать?"
В ответ сервер говорит ну вот создай документу такого вида, туда эти данные и посчитай, потом сохрани.
Как сохранишь сообщи я дальше скажу что делать ))
5 Garykom
 
гуру
19.05.19
23:15
Короче программная эмуляция действий юзера по сути, как будто он кнопки на форме нажимает.
Редкостный изврат по сути
6 Антиквар
 
19.05.19
23:28
(4) "На сервере будет запускаться тонкий клиента "
Если я правильно Вас понял, то не будет запускаться. Это регламентное задание.
Я с тем же успехом могу написать обработку, которая бежит в цикле по документам, получает их формы и вызывает экспортные процедуры формы. Но таких обработок много, каждая должна выполниться сама в своё время, поэтому нужны регламентные задания.
7 Garykom
 
гуру
19.05.19
23:35
Короче хочу на кактус влезть и яйки не оцарапать? Ну так отстегните яйки то и лезьте.

Ну нельзя на сервере-1С получить форму и открыть ее, только запустив на сервере-компе, где выполняется сервер-1С еще и клиента-1С чтобы он формы и открывал.

Да я понимаю (как и многие) что разработчики ЗУПа слегка недодумали или возможно у них были какие то причины для того что они так сделали, засунув кучу кода в модули форм.
8 Антиквар
 
19.05.19
23:42
(7) "Ну нельзя на сервере-1С получить форму и открыть ее".

Открыть не надо, только получить. Но не суть. Просто я именно об этом и спрашивал в (0):

"Т.е. ничего не поменялось с тех пор?"

Значит ответ: "Не поменялось".
9 runoff_runoff
 
19.05.19
23:47
(8) в расширении можно все сделать.. заимствовать форму.. добавить в неё экспортный метод (можно серверный), включающий вызовы методов формы.. которые вам нужно..
вызывать его вы будете при загрузке "из других источников".. Форма.ИмяМетода()..
10 Garykom
 
гуру
19.05.19
23:51
(9) А если там &НаКлиенте считают? Короче смотреть надо, но вполне может прокатить
11 Антиквар
 
19.05.19
23:54
(9) Вы наверное суть не поняли.
"Форма.ИмяМетода().." не заработает, т.к. на сервере форма недоступна.
Т.е. например регламентное задание не сможет выполнить процедуру, в которой будет "Форма.ИмяМетода()..", ибо выполняется оно на сервере
12 ГдеСобака Зарыта
 
20.05.19
00:18
1. Не понятно зачем с нового года было переходить на прошлогодний релиз. 3.1.8 вроде еще до НГ выпустили.
2. В каких это документах все расчеты в форме? Все расчеты как раз таки в менеджерах и общих модулях.
13 Garykom
 
гуру
20.05.19
00:19
(12) >Все расчеты как раз таки в менеджерах и общих модулях.

Скорее всего проблема в том что некто до них не добрался через тонны кода и вызовов.
И хочет решить проблему в лоб по тупому ка привык до этого.
14 Akela has missed
 
20.05.19
00:28
(12) в менеджере расчета только расчет, а подготовка показателей, интервалов, распределение по территориям и т.д. связано с формами
15 ГдеСобака Зарыта
 
20.05.19
00:28
(19) Так и есть. Смущает одно. В конторе с большим объемом данных в ЗУПе поди работает как минимум три одинесника, у одного из которых стаж овер 9 лет. Неужели ни один из них дальше трех вызов в стеке не способен продвинуться? Бедная контора
16 Антиквар
 
20.05.19
00:36
(13) "И хочет решить проблему в лоб по тупому ка привык до этого."
Именно как привык до этого, но не считаю это тупым, а наоборот, очень красивым и правильным решением. Но такое решение теперь недоступно. И вы тут предлагаете весь модуль формы в свои обработки переносить. Это разве умно? Просто по-другому нельзя, но так и говорите, а причем тут умно / не умно.
17 Антиквар
 
20.05.19
00:39
(12) 1. Переходили целый год
     2. Интересуют на данный момент документы с расчетом среднего
18 ГдеСобака Зарыта
 
20.05.19
00:39
Ну не знаю... Может на ОФ и можно было создавать документ заполнением формы, только мне такая идея даже в голову ни разу не приходила. Всегда юзал общие модули, ибо производительность. У тебя все-таки большие объемы данных.
19 ГдеСобака Зарыта
 
20.05.19
00:44
(17) Типа вы документы с расчетом среднего в 2.5 Автоматом создвали и расчтитывали?
20 ГдеСобака Зарыта
 
20.05.19
00:47
Создай документ под правами кадровика. Посмотри какие там реквизиты заполняются и делай по аналогии. Расчетчики потом сами расчитают как надо
21 Антиквар
 
20.05.19
00:47
(18) Как раз таки не надо было никакие формы заполнять и получать, можно было вызвать экспортную процедуру модуля документа, в которой и был расчет. Теперь этот расчет в модуле формы.
Понятно, что внутри этого расчета вызываются всякие общие модули, кроме этого вызывается море всяких функций и процедур самой формы. Ну и плюс, как вы правильно подметили, у меня пока ума не хватило докопаться до нужной процедуры общего модуля и передать в неё всё что нужно.
22 Garykom
 
гуру
20.05.19
00:49
(21) Там не ум а усидчивость нужна и способность понимать чужой код (неважно насколько он запутан).
Да я тоже фигею с того что там творится в типовых, особенно когда тоже самое дублируют по 2-3 и более раз в общих модулях.
23 Антиквар
 
20.05.19
00:56
(19) Ну по среднему задача несколько иная.
Требуется для большого набора сотрудников получить их средний заработок, допустим для расчета отпуска, на определенную дату. Эти данные должны периодически отсылаться в другую систему. Я и планировал программно создать документ Отпуск (не записывая его), в цикле заполнять его разными сотрудниками и нужными датами отпуска, имитировать нажатие кнопки Рассчитать, и полученную цифру среднего заработка забирать.
Конечно изначально я поискал, а нет ли такой волшебной процедуры, в которую передашь сотрудника, месяц начисления, даты отпуска, и на выходе получишь средний заработок. Хрен там, не нашлось. Вот и стал плясать от модуля формы документа.
24 Garykom
 
гуру
20.05.19
00:59
25 ГдеСобака Зарыта
 
20.05.19
01:00
(23) Уверяю Вас, такая процедура есть. Надо поискать получше. Например в общих модулях УчетСреднегоЗароботка....
26 ГдеСобака Зарыта
 
20.05.19
01:18
Прям вот даже самая первая функция - УчетСреднегоЗаработка.УчетСреднегоЗаработка(). Нашел за одну минуту
27 ГдеСобака Зарыта
 
20.05.19
01:19
* УчетСреднегоЗаработка.СреднийЗаработок() . Копипаст не сработал
28 hhhh
 
20.05.19
01:21
(0) а зачем вам самому писать загрузку из сторонних программ, когда там есть уже типовой импорт из сторонних программ? Просто надо изучить, как там сделано, и что нужно подать на вход. А лазить по формам вам совсес не нужно.
29 Garykom
 
гуру
20.05.19
01:25
30 ГдеСобака Зарыта
 
20.05.19
01:32
(29) Век тебя не забуду, спасибо
31 Garykom
 
гуру
20.05.19
01:34
(30) Эээ я же по "УчетСреднегоЗаработка.УчетСреднегоЗаработка()" после (26) нашел
32 Garykom
 
гуру
20.05.19
01:35
Уже в который раз убеждаюсь что в инете есть все что угодно, только чем более редкая хрень тем хреновей найти.
33 ГдеСобака Зарыта
 
20.05.19
01:53
(32) Я это гуглил, но никак не мог найти сборник всего прог интерфейса ЗУП. Ты открыл для меня это сокровище
34 ГдеСобака Зарыта
 
20.05.19
01:59
(28) Поподробнее про типовой импорт. Где смотреть?
35 hhhh
 
20.05.19
02:05
(34) вебинары, курсы
36 ГдеСобака Зарыта
 
20.05.19
02:09
(35) Продаете?
37 hhhh
 
20.05.19
02:15
(36) типовую зуп?
38 ГдеСобака Зарыта
 
20.05.19
02:19
(37) Курсы и вебинары. Где найти типовой импорт? Что вы имели ввиду?
39 hhhh
 
20.05.19
02:37
(38) ну ройте документ ДанныеДляРасчетаЗарплаты
40 ГдеСобака Зарыта
 
20.05.19
02:44
(39) Не вижу в этом документе кнопки "импорт из сторонних программ"
41 Сияющий в темноте
 
20.05.19
08:55
Вопрос-а внешнее соединение тоже формы не видит в упор?
42 Антиквар
 
20.05.19
13:12
(24) Не родственник, но мысли с ней у нас сходятся :)
(28) Не знаю, о каком типовом импорте речь, не нашел такого функционала. Хотите сказать, что у 1С есть стандартный импорт в документы с последующим автоматическим расчетом этих документов???
(29) Garykom, большое человеческое спасибо! :) Очень много полезного.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн