|
ЗУП 3.1 Заполнить прием на работу по штатному расписанию | ☑ | ||
---|---|---|---|---|
0
breezee
01.03.19
✎
05:34
|
Коллеги, добрый день!
Подскажите, пожалуйста: Имеем ЗУП 3.1 Есть задача - программно создавать прием на работу и заполнять по штатному расписанию. Посмотрел при изменении штатного расписания - там кошмар, все функции привязаны к контексту формы. Нет каких-то процедур общего назначения, которые это делают? Хочу красивое решение в пару строк, которое при обновлении конфы не сильно сломается. |
|||
1
SleepyHead
гуру
01.03.19
✎
05:38
|
(0) Подсовывай вместо формы структуру с аналогичными полями.
|
|||
2
ДенисЧ
01.03.19
✎
05:43
|
(0) "Хочу красивое решение в пару строк" и ЗУП - тут нужен ПКВ...
|
|||
3
breezee
01.03.19
✎
05:44
|
(1) Ну так и буду делать, похоже( Но почему такая завязка на форму то? Кошмар прям
|
|||
4
SleepyHead
гуру
01.03.19
✎
05:45
|
(3) Элементарно, Ватсон! Вы пытаетесь научить робота рулить рулевым колесом, а не передавать управляюший сигнал сразу исполнительному механизму поворотом.
|
|||
5
breezee
01.03.19
✎
06:21
|
(4) Не понимаю(
|
|||
6
SleepyHead
гуру
01.03.19
✎
06:41
|
(5) Ну вот я переносил данные полтора года назад из самописной 1с77 через КД2 в ЗУП 3.1 и ничего мне не мешало связать приемы на работу со штатным расписанием без всяких танцев вокруг форм.
Изучай структуру конфы, и все получится. |
|||
7
breezee
01.03.19
✎
07:08
|
(6) Да не в этом вопрос. Вопрос в том, сколько на это уйдет времени и почему разработчики типовых не сделали получения данных удобно. Напрашивается очевидная функция:
Передаешь штатное расписание, возвращается структура параметров, структурой заполняется форма. На кой черт туда форму передавать и заполнять её в общих модулях. Это можно же было сделать после получения всех параметров по штатному расписанию. Вот получили эту структуру и заполнили ей форму. Извините, крик души |
|||
8
SleepyHead
гуру
01.03.19
✎
07:12
|
(7) Потому что все рассчитано на ввод данных оператором. Не думаю, что разработчики предполагали, что кто-то будет заполнять эти данные программно. А ты пытаешься использовать этот функционал для автоматического заполнения, о чем я и написал в (4).
Насчет сколько уйдет времени - все зависит от масштабов переноса. Вот у меня было две большие базы в ЗУП ГУ (госучреждение), и около 200 баз довольно мелких в обычной ЗУП, и мне было выгодно написать этот перенос, хотя разработка и отладка заняла приличное время, заодно изучил структуру ЗУП. Если у тебя достаточно небольшой перенос, тогда да, реально напрягает. |
|||
9
Провинциальный 1сник
01.03.19
✎
07:19
|
(7) Совершенно верно. Я тоже с этим сталкивался в ЗУПе. Любят там общие модули для обработки контекста формы документа создавать. Причем, в этом же общем модуле делают получение объекта формы и работают далее с ним. А почему бы не передать сразу объект в функцию? А вот чтобы зае..лись все!
|
|||
10
Провинциальный 1сник
01.03.19
✎
07:23
|
(6) "Изучай структуру конфы, и все получится."
Вот тут Куда движется архитектура ЗУП 3 утверждают, что это неправильный подход. "Тебе не надо знать, что где в каких регистрах хранится, тебе надо знать процедуры и функции, которые вернут тебе эти данные." |
|||
11
SleepyHead
гуру
01.03.19
✎
07:28
|
(10) В моем комментарии речь идет о переносах данных, см 8, а у автора задача - не чтение данных средствами общих модулей, а заполнение данных. Так что ссылка не вполне в тему. Считаю, что если ты заполняешь данные - знание актуальной структуры на момент заполнения просто необходимо.
|
|||
12
breezee
01.03.19
✎
07:32
|
(8) (9) (10) Понял)
Блин, было бы разово, все ок. Заказчик хочет вести по 2 организациям учет, и прием сотрудника должен копироваться и заполняться по штатному расписанию. Ладно, буду мучаться) Спасибо, разрабы типовых |
|||
13
SleepyHead
гуру
01.03.19
✎
07:33
|
(9) Ну как сказать, я вот решал задачу автоматического создания заполнения ведомостей на выплату, и автоматического же заполнения НДФЛ в них. Если копнуть все 10-12 вызовов общих модулей недостаточно глубоко и примерно на пятом упереться в работу с формой, то да, мложно и задолбаться. Но если копнуть еще дальше, идет работа непосредственно с табличной частью объекта и сделано достаточно удобно.
Сократив все эти ненужные вызовы, передаю в общий модуль массив ссылок на физических лиц, в версиях по 3.1.7 включительно это выглядело примерно так: ВзаиморасчетыССотрудникамиРасширенный.ВедомостьОбновитьНДФЛ(Док, ФизЛица); Начиная с версии 3.1.8 стало немного сложнее и этот функционал перенесли в модуль менеджера объекта и стало примерно так: Модуль = ОбщегоНазначения.ОбщийМодуль("ВедомостьНаВыплатуЗарплаты"); ТНДФЛ = Модуль.НалогиКУдержанию( ТЗП, // табличная часть зарплаты ПараметрыЗаполнения.ОписаниеОперации, ПараметрыЗаполнения.ПараметрыРасчетаНДФЛ, ПараметрыЗаполнения.Финансирование, Док.Ссылка); Док.УстановитьНДФЛ(ТНДФЛ); |
|||
14
SleepyHead
гуру
01.03.19
✎
07:33
|
+13 вывод - просто недостаточно глубоко копают, решение может быть найдено всегда.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |