Глюк в ЗУП 2.5.41.3 - модуль "ЗаполнениеДокументовЗК"

31.10.11

Задачи пользователя - Адаптация типовых решений

Исправление глюка в ЗУП 2.5.41.3 (общий модуль "ЗаполнениеДокументовЗК")

Заметил, что в документе "Кадровое перемещение" при подборе сотрудников не всегда во вкладку

"Начисления" попадают все начисления сотрудника. Начал ковырять сначала пользовательские настройки

и последовательность заполнения всех документов, параметров учёта и т.д...

Выяснил, что эта фигня наблюдается только при наличии штатного расписания Smile

Причём, если штатное расписание по должности нужного сотрудника заполнено ПОСЛЕ даты документа

"Кадровое перемещение организации", всё работает отлично. Если же штатное расписание заполнено в

тот же день или ранее, начинаются глюки. Стало интересно... оказалось, что не только в этом документе

наблюдается данный глюк.

После этого пошли ковыряния в конфигураторе... Нашёл )))) Оказывается в одни и те же поля в разных кусках запроса

запихивается то 0, то NULL, а потом по этим полям идёт объединение. После чего в 14-м вложенном запросе и далее

нужные данные просто отсекаются.

Общий модуль "ЗаполнениеДокументовЗК". Там есть такая функция:

 

Функция ПолучитьТаблицуДействийСНачислениями(ДанныеДокумента, ДокументСсылка, ДокументДата, Организация, ИмяДатыДействия, КоэффициентИндексацииЗаработка = 1, ПоДаннымТрудовогоДоговора = Ложь, ПолучатьПлановыеНачисления = Истина, ОбособленноеПодразделение = Неопределено) Экспорт

Нужно найти все вхождения запроса где происходит "ВНУТРЕННЕЕ СОЕДИНЕНИЕ" по полям "Показатель1", "Показатель2",... "Показатель6".

И добавить в сравнение проверку на NULL: ПоказательN -> ЕстьNULL(ПоказательN, 0)

Получается вот такое сравнение:

 

|ПОМЕСТИТЬ Начисления

|ИЗ

| НачисленияСтаройПозицииСрезПоследних КАК НачисленияСтаройПозицииСрезПоследних

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленияНовойПозицииСрезПоследних КАК НачисленияНовойПозицииСрезПоследних

| ПО НачисленияСтаройПозицииСрезПоследних.ВидНадбавки = НачисленияНовойПозицииСрезПоследних.ВидНадбавки

///<+ Автор='Токарев Виталий'; 28.10.2011 18:31:11; Текст='';

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель1, 0) = ЕСТЬNULL(НачисленияНовойПозицииСрезПоследних.Показатель1, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель2, 0) = ЕСТЬNULL(НачисленияНовойПозицииСрезПоследних.Показатель2, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель3, 0) = ЕСТЬNULL(НачисленияНовойПозицииСрезПоследних.Показатель3, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель4, 0) = ЕСТЬNULL(НачисленияНовойПозицииСрезПоследних.Показатель4, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель5, 0) = ЕСТЬNULL(НачисленияНовойПозицииСрезПоследних.Показатель5, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель6, 0) = ЕСТЬNULL(НачисленияНовойПозицииСрезПоследних.Показатель6, 0)

| И НачисленияСтаройПозицииСрезПоследних.Сотрудник = НачисленияНовойПозицииСрезПоследних.Сотрудник

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НачисленияСотрудника КАК НачисленияСотрудника

| ПО НачисленияСтаройПозицииСрезПоследних.ВидНадбавки = НачисленияСотрудника.ВидРасчета

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель1, 0) = ЕСТЬNULL(НачисленияСотрудника.Показатель1, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель2, 0) = ЕСТЬNULL(НачисленияСотрудника.Показатель2, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель3, 0) = ЕСТЬNULL(НачисленияСотрудника.Показатель3, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель4, 0) = ЕСТЬNULL(НачисленияСотрудника.Показатель4, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель5, 0) = ЕСТЬNULL(НачисленияСотрудника.Показатель5, 0)

| И ЕСТЬNULL(НачисленияСтаройПозицииСрезПоследних.Показатель6, 0) = ЕСТЬNULL(НачисленияСотрудника.Показатель6, 0)

// TVA/>

| И НачисленияСтаройПозицииСрезПоследних.Сотрудник = НачисленияСотрудника.Сотрудник

|

|ОБЪЕДИНИТЬ

 

Вуаля! Всё работает... Ну, соответственно, где есть неравенство "<>", тоже добавляем...

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    11939    35    15    

42

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

6000 руб.

07.02.2023    12877    116    22    

72

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение позволяет автоматически заполнять отдельные реквизиты загружаемых банковских документов, основываясь на известных значениях реквизитов и тексте назначения платежа. Простая настройка, широкие возможности анализа назначения платежа без написания кода и сложных шаблонов.

9760 руб.

17.06.2025    3340    9    0    

8

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Расширение для УНФ, чтобы автоматически отменять старые резервы и не мешалть эффективно продавать.

9150 руб.

02.08.2023    8110    25    5    

41

Адаптация типовых решений 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    1191    2    0    

2

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    1243    1    8    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Voody 20 31.10.11 11:48 Сейчас в теме
Спасибо.
Тоже заметил это через день после обновления. Вот только сел разбираться, и нашел ваше решение. :)
2. VitaliyTokarev 222 31.10.11 13:34 Сейчас в теме
Сэкономили как минимум пол дня ;)
3. Gesperid 2 31.10.11 13:46 Сейчас в теме
Эта процедура - и была не без греха, так ещё и новых багов поднасыпали.
Кстати, кроме описанного бага, появился и другой, также связанный со ШР. Например, в ШР у вас ставка "месячная", например, 20К руб., а у сотров оклад по часам, то при перемещении и т.п. получите "начать 'Оклад по дням'".
см. процедуру ДобавитьОбъединенияВЗапросПолученияДействийСНачислениями, вызываемую из ПолучитьТаблицуДействийСНачислениями.
Risa; Voody; BoneD; VitaliyTokarev; +4 Ответить
5. BoneD 615 31.10.11 15:51 Сейчас в теме
(3) Ага, я у себя полностью убрал всё, что они добавили в процедуру "ДобавитьОбъединенияВЗапросПолученияДействийСНачислениями" в 41 релизе (сделал, как было в 40.3). И ещё задолго до этого кучу изменений внёс в "ПолучитьТаблицуДействийСНачислениями", чтобы надбавки из шатного не переносились в кадровое перемещение и приём на работу (они и так попадут в начисления сотра, а потом индивидуально их менять замучаешься). Проще в штатном заменить (на всю должность во всём подразделении).
14. prog-eg 87 03.11.11 14:55 Сейчас в теме
спасибо автору и (3)
19. Risa 22.11.11 22:14 Сейчас в теме
(3) Вышел новый релиз, а проблема подстановки "не того" вида расчета из штатного расписания осталась. Это разве так и должно быть? =(
4. VitaliyTokarev 222 31.10.11 13:57 Сейчас в теме
О, спасибо, поковыряю...
6. silver-fox87 31.10.11 17:17 Сейчас в теме
Спасибо! Поправим.
7. Lukich66 85 31.10.11 20:44 Сейчас в теме
Ой,молодцы. Если будет время и желание проверьте еще формирование СЗВ для эл.сварщика(27-2 232000-17956 это особые условия труда) которого переместили 01/06/2011 на график 2, а в ШР- для этой должности график 1. Ну не формирует вредность пока в перемещении не поставишь график 1.
8. mikhailovaew 127 01.11.11 17:48 Сейчас в теме
Спасибо, добрый человек! Как раз попали на эти грабли...
9. mikhailovaew 127 02.11.11 15:44 Сейчас в теме
еще хочу добавить:
было бы здорово, если бы Вы приложили полностью текст исправленной процедуры.
Чтобы благодарным последователям не искать эти соединения по неравенсту и равенству.
11. VitaliyTokarev 222 02.11.11 18:16 Сейчас в теме
(9) mikhailovaew, Она ОЧЕНЬ огромная...
Могу номера строк типового модуля написать:
1108-1123
1154-1168
1380-1385
13. mikhailovaew 127 03.11.11 09:03 Сейчас в теме
(11) да мне-то уже не надо, все найдено и поправлено, я за других переживаю :)
а архив текстового файла с процедурой значительно бы сэкономил время ))
10. nitr02k 02.11.11 16:13 Сейчас в теме
Спасибо пригодилась данное решение..
12. Beta 11 03.11.11 05:34 Сейчас в теме
тоже столкнулась с этой проблемой, потому что дописывала функцианал, чтобы автоматически выбирался разряд из штатного расписания... после обновления все пришлось переписывать.... бороться с NULL...
15. Галко 08.11.11 10:19 Сейчас в теме
спасибо, сэкономила время
16. Lyuda11 08.11.11 18:10 Сейчас в теме
Спасибо огромное.
17. ГердаКай 5 11.11.11 14:16 Сейчас в теме
Спасибо огромное, тоже уже столкнулись с этим глюком, и сразу нашли ваше решение
18. vec435 17 15.11.11 16:57 Сейчас в теме
Спасибо за экономию времени
20. VitaliyTokarev 222 22.11.11 23:01 Сейчас в теме
Некоторые глюки годами тянутся... Увы...
21. Risa 23.11.11 08:57 Сейчас в теме
(20) Ну просто в 42ом релизе написано "Исправлена ошибка 10092419: При заполнении начислений в документе "Кадровое перемещение организаций" иногда возникают ошибки". Вот и боюсь, что все, что осталось - это не ошибка, а так и должно быть по их мнению =(
22. serega_sun 01.12.11 08:15 Сейчас в теме
Правил Комплексную автоматизацию 1.1.15.1 по данному алгоритму - не помогло.
Разбираться в запросе некогда и я не могу их настолько легко анализировать.
23. VitaliyTokarev 222 01.12.11 14:35 Сейчас в теме
В комплексной возможно ещё какие-то регистры тянутся, там же всё немного сложнее...
К сожалению в данный момент с ней не работаю, а просто так смотреть некогда ))))
24. Elis-Velis 15.12.11 10:27 Сейчас в теме
Спасибо, очень помогло ) У нас три базы УПП 1.3.19.2
25. Den_Zenit 19 21.12.11 23:28 Сейчас в теме
Спасибо огромное!
уже дня 3 бился над этой проблемой
Оказалось все почти тривиально)
Для отправки сообщения требуется регистрация/авторизация