![]() |
![]() |
![]() |
|
v7: Форма Т2 - "задвоение" записей | ☑ | ||
---|---|---|---|---|
0
Balabass
15.06.12
✎
04:16
|
У сотрудника есть 3 подряд идущих приказа по отпуску:
http://screencast.com/t/Sgz4paUUoUEv В форме Т2 все ок: http://screencast.com/t/BZ6up3qCpsJY Но стоит начать вводить на основании Начисления отпусков: http://screencast.com/t/0fwgjf3mnsOf то начинается фигня какая то: http://screencast.com/t/m5bxGl8KJt Приказ один №001336, а записи по нему 2 с разными днями. 2 запись появляется при вводе Начисления по 2 приказу №001337. Почему вдоит - непойму. Кто нибудь сталкивался с таким случаем? |
|||
1
1C-band
15.06.12
✎
04:22
|
Да в табелях ВСЕХ версий 1С И НЕ ТАКОЕ БЫВАЕТ! :-/
|
|||
2
Мимохожий Однако
15.06.12
✎
06:13
|
(0)Зачем ввели 3 отпуска подряд в один день?
|
|||
3
Balabass
15.06.12
✎
07:06
|
(2) компенсации и 1 отпуск.
|
|||
4
Balabass
15.06.12
✎
07:07
|
Ввел разными датами - не помогло.
|
|||
5
Мимохожий Однако
15.06.12
✎
07:09
|
(3)Расшифруй
|
|||
6
Мимохожий Однако
15.06.12
✎
07:09
|
Сделать на 3 приказа 1 документ в 1С попробуй
|
|||
7
Balabass
15.06.12
✎
07:09
|
Короче дело в начислении отпуска
//****************************************************************************** // Функция ПолучитьПриказПоОтпуску(ДокНачОтп) // // Параметры: ДокНачОтп - Документ.НачислениеОтпуска // // Описание: Возвращает документ.ПриказПоОтпуску, на основании которого и был введен документ ДокНачОтп. // Если приказПоОтпуску не найден, возвращает 0; Функция ПолучитьПриказПоОтпуску(ДокНачОтп) Если ДокНачОтп.Вид() = "ОтпускПоУходуЗаРебенком" Тогда ДокументОснование = ДокНачОтп.ДокументОснование; Иначе ДокументОснование = ДокНачОтп.ДокОснование; КонецЕсли; ДокПриказ = СоздатьОбъект("Документ"); ДокПриказ.ВыбратьПоЗначению(, , "Сотрудник", Сотрудник); Пока ДокПриказ.ПолучитьДокумент() = 1 Цикл Если ДокПриказ.ТекущийДокумент().Вид() = "ПриказПоОтпуску" Тогда Если ((ДокНачОтп.Начало = ДокПриказ.Начало) и (ДокНачОтп.Окончание = ДокПриказ.Окончание)) или (ДокументОснование = ДокПриказ.ТекущийДокумент()) Тогда Возврат ДокПриказ.ТекущийДокумент(); КонецЕсли; КонецЕсли; КонецЦикла; Возврат 0; КонецФункции // ПолучитьПриказПоОтпуску У Компенсации отпуска нет ни Начало ни Окончание. А проверка делается по этим рекувизитам - и они естественно сходятся. |
|||
8
Balabass
15.06.12
✎
07:10
|
(6) Кадрым не нравится так.
Они хотят в Т2 видеть все до мельчайших подробностей. Я думаю компенсацию сделать 1 документом. |
|||
9
Balabass
15.06.12
✎
07:13
|
А если в
Если ((ДокНачОтп.Начало = ДокПриказ.Начало) и (ДокНачОтп.Окончание = ДокПриказ.Окончание)) или (ДокументОснование = ДокПриказ.ТекущийДокумент()) Сделать Если ((ДокНачОтп.Начало = ДокПриказ.Начало) и (ДокНачОтп.Окончание = ДокПриказ.Окончание)) и (ДокументОснование = ДокПриказ.ТекущийДокумент()) Проверка по датам мне вообще не нравиться. |
|||
10
Balabass
15.06.12
✎
07:15
|
Тут не прокатит если документ Приказ по отпуску исправлен другим документом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |