|
ЗУП3. Есть ли возможность быстро и просто начислить зарплату программно? | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
DTX 4th
11.07.18
✎
18:42
|
Вроде 1С старается структурировать свой, да и редакция уже третья по счету, но простого способа программно начислить зарплату я не нашёл. Ожидал увидеть что-нибудь вроде
|
|||||||||||||
1
Мимохожий Однако
11.07.18
✎
18:49
|
Что-то делаешь не так. Традиционное: зачем?
|
|||||||||||||
2
DTX 4th
11.07.18
✎
18:52
|
(1) Да масса вариантов может быть. От "начислить зарплату, не заходя в базу", до "хочу обработку, которая начислит зарплату, проведёт синхронизацию, создаст платежки и всё-всё-всё одной кнопкой".
|
|||||||||||||
3
APXi
11.07.18
✎
19:15
|
(0) геморойно там программно это делать.
Мне не нравится код ЗУП3 |
|||||||||||||
4
mmmarat
11.07.18
✎
20:02
|
(0) смотрите примеры использования обработки "менеджер расчёта зарплаты". Если разобраться, то там все просто.
|
|||||||||||||
5
DTX 4th
12.07.18
✎
11:26
|
(4) Обработку нашёл. Примеры - нет. Где их можно посмотреть?
|
|||||||||||||
6
DTX 4th
12.07.18
✎
14:42
|
Бесит.
Мне не нравится код ЗУП3 |
|||||||||||||
7
Skylark
12.07.18
✎
14:59
|
ИМХО в типовые 1С напустили "тру-программеров".
Теперь вместо написания бизнес-логики на макроязыке полноценное забубенное программирование, которое могут осилить не только лишь все. |
|||||||||||||
8
Малыш Джон
12.07.18
✎
15:32
|
(7) "ходют и ходют, топчуть и топчуть..." )))
"тру-программеры" не при чем. захотелось универсализации и модульности? получайте "утяжеление" кода в нагрузку. (0) смотря что значит быстро и просто... пол-ЗУПа(а может и больше) как раз и занимается тем, что создает документ "Начисление ЗП". Если бы можно было обойтись пятью строчками - ну наверное бы так и сделали? |
|||||||||||||
9
jsmith82
12.07.18
✎
15:35
|
Используй команды формы
|
|||||||||||||
10
ptiz
12.07.18
✎
15:35
|
(0) Возможность программного создания документов в ЗУП 3 максимально усложнена.
Мне не нравится код ЗУП3 |
|||||||||||||
11
El_Duke
гуру
12.07.18
✎
15:40
|
(0) В комбинации из 3 хотелок "быстро", "просто" и "правильно" можно одновременно реализовать только любые 2 из них
|
|||||||||||||
12
DTX 4th
12.07.18
✎
15:42
|
>Если бы можно было обойтись пятью строчками - ну наверное бы так и сделали?
(8) Руками это делается в два действия. Открыть форму, нажать заполнить. Как минимум, это можно было позволить делать программно, всего лишь добавив везде "Экспорт". (9) Можно как-то форме отправить неэкспортную команду? Про ComConnector даже спрашивать не буду.. (11) Какие их этих хотелок примеными к коду ЗУПа? xd Разве что "быстро", но это не точно. |
|||||||||||||
13
Вафель
12.07.18
✎
15:44
|
(12) сделай расширение и добавь экспорт
|
|||||||||||||
14
Вафель
12.07.18
✎
15:44
|
верене так
|
|||||||||||||
15
Вафель
12.07.18
✎
15:45
|
зуп конечно очень страдает расчетами через форму
|
|||||||||||||
16
DTX 4th
12.07.18
✎
15:46
|
(13) Не вариант. Баз много, все типовые. Обновляются батником.
|
|||||||||||||
17
mmmarat
12.07.18
✎
15:48
|
(5)
Пример в РасчетЗарплатыРасширенный.ДанныеДляЗаполненияТаблицДокумента В строке МенеджерРасчета.РассчитатьЗарплату(); запускается расчет. В МенеджерРасчета.Зарплата итоги расчета. |
|||||||||||||
18
Вафель
12.07.18
✎
15:48
|
(16) но это же расширение
|
|||||||||||||
19
Akela has missed
12.07.18
✎
16:12
|
МенеджерРасчета = РасчетЗарплатыРасширенный.СоздатьМенеджерРасчета(Объект.ПериодРегистрации, Объект.Организация);
ЗаполнитьНастройкиМенеджераРасчета(МенеджерРасчета, ПериодРасчетаЗарплаты); ЗаполнитьНачисления(МенеджерРасчета, ПериодРасчетаЗарплаты); ЗаполнитьПерерасчеты(МенеджерРасчета); ЗаполнитьУдержания(МенеджерРасчета); ЗаполнитьПараметрыРасчетаПособияПоНетрудоспособности(МенеджерРасчета); МенеджерРасчета.РассчитатьЗарплату(); РасчетЗарплатыВДанныеФормы(МенеджерРасчета.Зарплата); Задумано и выглядит круто, а на деле всё уныло. Взять хотябы этот код из больничного. Задача просто его рассчитать. Нормальный человек, как тут сказали "тру-программер", сделал бы универсальный интерфейс одним-двумя методами. А здесь минимум 8!, да еще и с участием контекста формы. Мне не нравится код ЗУП3 |
|||||||||||||
20
APXi
12.07.18
✎
16:42
|
(7) Что то наверное наоборот, нормальных программеров выкинули.
Мне не нравится код ЗУП3 |
|||||||||||||
21
Skylark
12.07.18
✎
17:02
|
(19) поэтому "тру-программер" и в кавычках
|
|||||||||||||
22
Alexandr_U1982
12.07.18
✎
17:40
|
(18)ТС похоже не в курсе, что такое расширение и как ими пользоваться)
|
|||||||||||||
23
Alexandr_U1982
12.07.18
✎
17:42
|
(16)Как раз вариант, когда баз много и все типовые.
Ты делаешь расширение и один раз подключаешь его к каждой базе. Базы продолжают обновляться батником. |
|||||||||||||
24
DTX 4th
12.07.18
✎
17:46
|
(23) Ага, а потом форма меняется, расширение перестаёт работать. И снова лезть в каждую базу?
И с ComConnector'ом не поможет в любом случае. Да и костылить формы такое себе удовольствие. |
|||||||||||||
25
Emery
12.07.18
✎
18:45
|
(0) > ЗУП3. Есть ли возможность быстро и просто начислить зарплату программно?
Есть! Но только не ЗУПе, любой версии. А так, не совсем понятен термин «начислить». Я понимаю «учет и расчет заработной платы». Дополнительными модулями к этому могут быть «кадровый учет», «управление персоналом» (что к «зарплате», на мой взгляд, имеет мало отношения), «учет рабочего времени» и т.п. Ну, да ладно, пусть будет «начислить». Вот берем ЗУП последней версии и сохраняем конфу в xml-формате. Получаем «всего лишь» 1.3 гектара данных в более чем 28 тысячах файлов. И что-ж «они» туда «напхали»? Смотрим: – \Ext\ParentConfigurations\ЗарплатаИУправлениеПерсоналомКОРП.cf – 200 МБ; – \Catalogs\ЭлементыЭлектронныхРесурсов\Templates\КонвертерВидеоWindows\Ext\Template.bin – 34,3 МБ; – \Catalogs\ЭлементыЭлектронныхРесурсов\Templates\КонвертерВидеоLinux\Ext\Template.bin – 22,3 МБ – \Catalogs\ЭлементыЭлектронныхРесурсов\Templates\КонвертерВидеоMac\Ext\Template.bin – 10,7 МБ; Далее пошли вроде обязательные объекты конфигурации. Посмотрим бинарники: – \DataProcessors\ОбщиеОбъектыРеглОтчетности\Templates\ДистрибутивКомпонентыПечатиМашиночитаемыхФорм\Ext\Template.bin – 6,0 МБ; – \CommonTemplates\КомпонентаОбмена165\Ext\Template.bin – 5,0 МБ; – \Catalogs\СертификатыКлючейЭлектроннойПодписиИШифрования\Templates\КомпонентаXMLDSIG\Ext\Template.bin – 4,5 МБ; – \Catalogs\ЭлементыЭлектронныхРесурсов\Templates\ПрограммаCURL\Ext\Template.bin – 3,9 МБ; – \CommonTemplates\КомпонентаСклоненияФИО\Ext\Template.bin – 2,0 МБ; И т.д. А что, насчет кода? Смотрим файлы *.bsl и *.txt: – \DataProcessors\ДокументооборотСКонтролирующимиОрганами\Ext\ObjectModule.bsl – 4.3 МБ (более 57 тысяч строк кода); – \CommonTemplates\ЗарплатаКадрыПереносДанныхИзЗУП25\Ext\Template.txt – 4,0 МБ (почти 58 тысяч строк кода); – \CommonTemplates\ЗарплатаКадрыПереносДанныхИзЗУП25КОРП\Ext\Template.txt – 4,0 МБ (почти 58 тысяч строк кода); – \CommonModules\УчетСтраховыхВзносов\Ext\Module.bsl – 3,7 МБ (почти 46 тысяч строк кода); – \Reports\РегламентированныйОтчетРасчетПоСтраховымВзносам\Ext\ObjectModule.bsl – 3,5 МБ (почти 47 тысяч строк кода); – \CommonModules\УчетНДФЛ\Ext\Module.bsl – 1,9 МБ (более 23 тысяч строк кода); – \CommonModules\КадровыйУчетРасширенный\Ext\Module.bsl – 1,8 МБ (более 26 тысяч строк кода); И т.д. Всего файлов *.bsl – 6699, общим объемом более 225 МБ. Не, ну что можно сказать? – Монстр, однозначно! Уже по объему данных и кода это чудо природы вызывает легкую оторопь. – Ребята! Может не надо нам такого универсального чудовища? Может быть, написать простенькую, легкую базовую систему, наращиваемую десятками и сотнями плагинов / компонент, с открытым SDK либо даже опенсорсных и не засовывать без нужды в память сервера бинарники для Линукса и Мака, вроде конверторов видео или там модуль склонения фамилий на все случаи жизни? Или может быть, ждать этого ранее прихода эпохи «Цифрового Коммунизма» не стоит? Свой вариант |
|||||||||||||
26
Вафель
12.07.18
✎
18:50
|
(25) ты еще на микросервисы предложи перейти
|
|||||||||||||
27
nicxxx
12.07.18
✎
18:51
|
(25) еще один убийца 1С появился :)))))
|
|||||||||||||
28
Emery
12.07.18
✎
18:57
|
(26) Не, ну одному, конкретному предприятию реально столько всего не надо. Нужна ясная концепция программы и легкость доступа к нужному месту кода. Где-то была статистика, что только в России бродит не менее 200 тысяч программ-самописок по расчету заработной платы. Наверное, не от хорошей жизни народ пишет что-то свое, а не использует всеми обожаемый ЗУП :) .
|
|||||||||||||
29
Web00001
12.07.18
✎
18:57
|
(27)Каждый 1Сник должен хотя бы раз в жизни сказать "это должно быть проще! Я точно знаю!" Ну некоторые даже садятся писать это самое проще. А некоторые просто говорят. Итог все равно один.
|
|||||||||||||
30
Web00001
12.07.18
✎
19:00
|
(12)autoit или сценарное тестирование?
|
|||||||||||||
31
DTX 4th
12.07.18
✎
19:11
|
(30) Если это вопрос, зачем мне это нужно, то для автоматизации :)
|
|||||||||||||
32
Emery
12.07.18
✎
19:12
|
(29) > Итог все равно один.
Я про свою собственную, внедренную на своем предприятии, программу по расчету зарплаты здесь говорил уже много раз. Программа (на «семерке») работает более 13 лет и необходимости ее замены на ЗУП или любую другую нет. Да, я живу в ЛНР, а не в России, но наше законодательство приспосабливается к вашему, а валюта давно уже ваша. В прошлом году адаптировал расчет средних, «как в России», разницы, почти никакой. НДФЛ наш, правда, попроще вашего, но отчетность в пенсионный и налоговую, тоже не без приколов, ЗУП бы здесь бы нам помог мало. Теперь я понимаю, почему мою программу трудно предложить другим. Из конкретной она должна становится универсальной, а это значит более сложной, для чего нужно больше мотивации, чем имеется. Однако сама идея простой и гибкой «зарплаты» никуда не денется. Она всегда будет витать в воздухе, пока какой-нибудь умелец или даже фирма (чем чёрт не шутит, может быть и «1С») не реализует ее. |
|||||||||||||
33
Akela has missed
12.07.18
✎
19:57
|
(28) Вот бы их все посмотреть и пощупать на предмет интересных идей и решений.
|
|||||||||||||
34
Garikk
12.07.18
✎
20:05
|
ЗУП всегда был кошмаром, даже когда он был еще ЗиК-ом
там всегда какието заумные решения были которые настоящий ад был отлаживать и пытаться туда ченить свое подпихнуть до сих пор с содроганием вспоминаю многостраничные запросы которые практически нереально вытащить чтобы позапускать вручную |
|||||||||||||
35
Emery
12.07.18
✎
20:41
|
(32) + > наше законодательство приспосабливается к вашему
Вот, жду, когда у нас начнут повышать пенсионный возраст, «как в России». И это при том, что предприятие платит в ПФ не 22%, а 31%, а ранее (когда мы были еще в составе Украины) было 38-42%, в зависимости от категории страхователя (только 8% для инвалидов было). Нас, правда, «успокаивает», то, что обычная пенсия в ЛНР – 3 тыс. рублей, т.е., что есть, что нету, в любом случае, если хочешь прожить – работай, либо оформляй вторую пенсию в Украине (но лично я от этого варианта отказался в принципе). (34) > до сих пор с содроганием вспоминаю многостраничные запросы которые практически нереально вытащить чтобы позапускать вручную Это лишний раз доказывает, что я выбрал правильную стратегию (отвечать можно только за свою программу, а не за чужую, а то, пишет один, внедряет другой, а ответственность несет третий). У меня все запросы на VFP к файлам dbf «семерки» очень компактны. И вообще, весь код внешнего VFP приложения занимает чуть более полумегабайта в исходниках. Уже только в силу этого работа у меня любимая и приятная :) . |
|||||||||||||
36
DTX 4th
19.07.18
✎
10:40
|
(17) Менеджер расчета всё посчитал, выдал таблицу с данными, которая по структуре очень похожа на структуру документа Начисления зарплаты. Залил всё это в документ - тот провёлся. С виду всё хорошо, но если копнуть глубже, то всплывает, что в некоторых регистрах не заполнен реквизит ИдентификаторСтроки, что, думаю, не очень важно, но что более огорчило, так это то, что в документе, созданном программно, отсутствуют движения по регистру сведений ЗначенияПоказателейНачисления. Полез смотреть, как они формируются, и о чудо - всё происходит в событии ФОРМЫ "ПередЗаписью", которое использует данные менеджера расчета с дополнительной обработкой тоже на форме. То есть после перепроведения движения не появляются.
Как так то??? |
|||||||||||||
37
mmmarat
19.07.18
✎
10:52
|
(36) идентификаторы строк должны быть, по ним идет связь между табличными частями. Проверьте что в ТЧ и в результате менеджера расчета совпадают имена реквизитов идентификаторов строк. Возможны варианты ИдентификаторСтроки,ИдентификаторСтрокиВидаРасчета,ИдентификаторСтрокиНДФЛ. Пустые движения по ЗначенияПоказателейНачисления могут быть связаны с тем, что у вам не заполнены показатели. В документе они в отдельной табличной части, а в менеджере расчета в каждой строке начислений отдельной таблицей значений.
|
|||||||||||||
38
VladZ
19.07.18
✎
11:04
|
(25) Есть такая. ЗИК 7.7 называется.
|
|||||||||||||
39
rsv
19.07.18
✎
11:08
|
(25) :)
|
|||||||||||||
40
VladZ
19.07.18
✎
11:10
|
Забыл проголосовать.
Мне не нравится код ЗУП3 |
|||||||||||||
41
AliceLight
19.07.18
✎
11:23
|
(36) очень важно заполнение этих Идентификаторов.
Например: отчет АнализНачисленийИВзносов, особенно его вариант "Расчетный листок"(может, конечно, в последних релизах его снова перепилили и сейчас уже не так) строится по данным регистра накопления "Начисления и удержания по сотрудникам" и данным регистра расчета "Начисления" (из него отработанные часы для отчете берутся), связанными как раз по идентификаторам строк. Если идентификаторов не будет, отработанные в расчетном листке поедут. И это только 1 пример. |
|||||||||||||
42
Alexandr_U1982
19.07.18
✎
11:33
|
(36)Да ты просто не заполнил ТЧ "Показатели" в документе "НачислениеЗарплаты", вот у тебя и нет движений по РС "ЗначенияПоказателейНачисления".
|
|||||||||||||
43
DTX 4th
19.07.18
✎
11:42
|
(42) Потому что я не смог понять, какой метод нужно вызвать, чтобы они заполнились. Не руками же я буду это делать. Потом конфу поменяют, и всё поплывёт.
Мб у кого есть пример программного заполнения документа начисления? |
|||||||||||||
44
Alexandr_U1982
19.07.18
✎
11:47
|
Метод "ЗаполнитьЗначенияСвойств()" ;)
Когда-то расчет зарплаты находился в общем модуле, а потом его перенесли в обработку "МенеджерРасчетаЗарплаты". Так что, если снова конфу поменяют у тебя все равно все поплывет ;) |
|||||||||||||
45
DTX 4th
19.07.18
✎
12:04
|
(44) >Метод "ЗаполнитьЗначенияСвойств()" ;)
Так сейчас почти так и сделано. Только завтра смогу код на обозрение выложить. |
|||||||||||||
46
Alexandr_U1982
19.07.18
✎
12:15
|
(45)Как сказано в (37) значения показателей находятся в одной из ячеек таблицы с результатами расчета зарплаты. Там вложенная таблица значений. Точного названия ячейки не помню, что-то вроде "Показатели" или "ПоказателиРасчета". Тебе нужно перенести значения показатели из этой вложенной таблицы в ТЧ "Показатели" документа "НачисленияЗарплаты". Для связи строк используются поля с названием "ИдентификаторСтрокиВидаРасчета".
|
|||||||||||||
47
DTX 4th
20.07.18
✎
10:32
|
Пробовал вот так:
&НаСервереБезКонтекста
ОписаниеДокумента() выдирал из формы. Если кому интересно, то вот оно: https://pastebin.com/raw/mWaFMsZp Что находится в результате можно посмотреть на скрине: https://i.imgur.com/nSj4wn0.png |
|||||||||||||
48
DTX 4th
20.07.18
✎
10:45
|
Заполнил показатели:
https://i.imgur.com/DkgRPPI.png Для каждого КлЗн Из Результат.ДанныеДляЗаполненияТаблицДокумента Цикл
Движение не появилось. |
|||||||||||||
49
mmmarat
20.07.18
✎
10:45
|
(47)
Забыли Для Каждого СтрокаНачисления Из Результат.ДанныеДляЗаполненияТаблицДокумента.Начисления Цикл для Каждого СтрокаПоказателя Из СтрокаНачисления.Показатели Цикл ЗаполнитьЗначенияСвойств(Объект.Показатели.Добавить(), СтрокаПоказателя); КонецЦикла; КонецЦикла; |
|||||||||||||
50
DTX 4th
20.07.18
✎
11:18
|
(37) Идентификатор начислений встал, спасибо.
А вот идентификатор строки НДФЛ почему-то пуст. Сейчас движения документа отличаются только из-за него. https://i.imgur.com/x3Y19yv.png (49) В (48) ответил, но, видимо, тогда не заметил движений, с этим всё ок, спасибо. Там, правда, есть показатели "Время в днях" и "Норма дней по графику полного рабочего времени", но думаю в этом ничего страшного нет, если они будут болтаться в регистре. |
|||||||||||||
51
supersonic
20.07.18
✎
11:22
|
И не понятно. И не логично.
Мне не нравится код ЗУП3 |
|||||||||||||
52
DTX 4th
20.07.18
✎
12:24
|
В общем, идентификатор НДФЛ просто заполняется по порядку. Так и поступим...
Всем спасибо за поддержку, особенно mmmarat Но это беда (: |
|||||||||||||
53
BeerHelpsMeWin
20.07.18
✎
12:54
|
ЗУП3 страшно трогать, особенно учитывая текущую чехарду в версиях.
Мне не нравится код ЗУП3 |
|||||||||||||
54
Alexandr_U1982
20.07.18
✎
13:01
|
Код более структурирован и универсален чем в 2.5.
Гораздо меньше дублирующегося кода. Явно лучше чем ЗУП2, но до идеала далеко |
|||||||||||||
55
DTX 4th
26.07.18
✎
11:59
|
Ещё немного поковырял конфу. Многие документы создаются очень аккуратно, мне понравилось. Поэтому меняю своё мнение. Но с модулём расчета всё равно беда :)
Явно лучше чем ЗУП2, но до идеала далеко |
|||||||||||||
56
Мимохожий Однако
26.07.18
✎
12:41
|
(55) Продолжай исследования. По мере изучения показатели улучшатся.
Свой вариант |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |