|
v7: Тип договора из состояния сотрудника | ☑ | ||
---|---|---|---|---|
0
1С-ница
26.07.13
✎
14:58
|
ЗИК 7.70.338
Для подготовки данных в ПФР нужно получить актуальное на отчетный период состояние физ лица (для корректного проставления Типа договора (Трудовой или Гражданско-правовой) Функция ВернутьТипДоговора(Сотрудник, ОтчетныйПериод) Перем ОписаниеСостояния; Если (ПустоеЗначение(Сотрудник)=1)или(Сотрудник.ЭтоГруппа()=1) Тогда Возврат "" КонецЕсли; ДатаАктуальности = ОтчетныйПериод; Периодический.ИспользоватьОбъект("СостояниеФизлица",Сотрудник); СостояниеФЗ = Периодический.ЗначениеНаДату(ДатаАктуальности); Если ПустоеЗначение(СостояниеФЗ)=0 Тогда //Не пустое значение Если Периодический.НайтиЗначение(ДатаАктуальности,90)=1 Тогда ДатаПриема = Периодический.ДатаЗнач; КонецЕсли; Если ПустоеЗначение(ДатаПриема) = 0 Тогда Возврат Перечисление.ТипДоговораСЗВ63.Трудовой; Иначе Возврат Перечисление.ТипДоговораСЗВ63.ГражданскоПравовой; КонецЕсли; Иначе Возврат Перечисление.ТипДоговораСЗВ63.ГражданскоПравовой; КонецЕсли; КонецФункции // СостояниеСотрудника Функция возвращает что то не то |
|||
1
1С-ница
26.07.13
✎
15:09
|
Очень нужно, подскажите!!!
|
|||
2
dk
26.07.13
✎
15:12
|
пятнично
>Функция возвращает что то не то |
|||
3
1С-ница
26.07.13
✎
15:14
|
да, очень пятнично, но тем не менне
|
|||
4
Бертыш
26.07.13
✎
15:14
|
Э как вы барышня извращаетесь
|
|||
5
1С-ница
26.07.13
✎
15:14
|
Напишите ваш вариант, буду признательна))
|
|||
6
Бертыш
26.07.13
✎
15:15
|
Вы объект Периодический почему -то не создаете
|
|||
7
1С-ница
26.07.13
✎
15:15
|
(6) Создаю, но не в этой функции
|
|||
8
dk
26.07.13
✎
15:16
|
про отладчик уже было?
|
|||
9
Бертыш
26.07.13
✎
15:16
|
Объясните для начала что вы хотите получить.
|
|||
10
Бертыш
26.07.13
✎
15:17
|
Почему Вы не используете Сотрудник.СостояниеФизлица.Получить(ДатаОтчета)
|
|||
11
Бертыш
26.07.13
✎
15:18
|
Сотрудник.СостояниеФизлица.Получить(ОтчетныйПериод)
Вернет Вам актуальное состояние физлица |
|||
12
1С-ница
26.07.13
✎
15:18
|
Сначала я пробовала так:
Функция ВернутьТипДоговора(Сотрудник, ОтчетныйПериод) СостояниеСотрудника = Сотрудник.СостояниеФизЛица.Получить(ОтчетныйПериод); Если СостояниеСотрудника = Перечисление.СостояниеФизЛица.СотрудникОсновной ИЛИ СостояниеСотрудника = Перечисление.СостояниеФизЛица.СотрудникОсновной Тогда Возврат Перечисление.ТипДоговораСЗВ63.Трудовой; Иначе Возврат Перечисление.ТипДоговораСЗВ63.ГражданскоПравовой; КонецЕсли; КонецФункции |
|||
13
1С-ница
26.07.13
✎
15:19
|
Но я не знаю какое состояние у физ лица должно быть, чтобы отнести его к гражданско-правовому договору
|
|||
14
1С-ница
26.07.13
✎
15:19
|
Может быть пустое значение?
|
|||
15
Бертыш
26.07.13
✎
15:23
|
(14) А что ты планируешь в случае пустого значения делать?
|
|||
16
1С-ница
26.07.13
✎
15:23
|
Думаю более правильное будет смотреть на конец отчетного периода?
|
|||
17
1С-ница
26.07.13
✎
15:23
|
(15) В случае пустого значения буду возвращать Тип договора = гражданско-правовой
|
|||
18
Gucci76
26.07.13
✎
15:27
|
Периодический.ИспользоватьОбъект("СостояниеФизлица",Сотрудник);
Периодический.ОбратныйПорядок(1); Периодический.ВыбратьЗначения(,ДатаАктуальности); Пока Периодический.ПолучитьЗначение() = 1 Цикл Если ПустоеЗначение(Периодический.Значение)=0 Тогда Возврат Периодический.Значение КонецЕсли; Возврат "" КонецЦикла; |
|||
19
Gucci76
26.07.13
✎
15:28
|
Может так?
|
|||
20
Бертыш
26.07.13
✎
15:30
|
(19) Вопрос чего она хочет. Протелепатировать трудно. Значение актуальное на дату как получить проще всего я ей указал. Но проблемы с методологией это не решит. Она сама себе пытается методологию изобрести для какой-то жутко секретной задачи.
|
|||
21
Gucci76
26.07.13
✎
15:33
|
Видимо надо вернуть последнее до увольнения состояние ФЛ
|
|||
22
Бертыш
26.07.13
✎
15:34
|
ПФР помойму и так сам придумывает состояние договора, а она чего то химичит.Чем не устраивает методология отчета "ПодготовкаСведенийДляПФР2010"?
|
|||
23
Бертыш
26.07.13
✎
15:35
|
Типа методология 1С в корне не верна?
|
|||
24
1С-ница
26.07.13
✎
15:50
|
(22) Не устраивает вот этим:
//Если ПустоеЗначение(Док.ТипДоговора)=1 Тогда // ТипДоговора = Перечисление.ТипДоговораСЗВ63.Трудовой; //Иначе // ТипДоговора = Док.ТипДоговора; //КонецЕсли; |
|||
25
1С-ница
26.07.13
✎
15:52
|
Пока работает так, на всех сотрах не проверяла
Функция ВернутьТипДоговора(Сотрудник, ОтчетныйПериод) СостояниеСотрудника = Сотрудник.СостояниеФизЛица.Получить(ДобавитьМесяц(ОтчетныйПериод,3)); Если ПустоеЗначение(СостояниеСотрудника) = 0 Тогда Возврат Перечисление.ТипДоговораСЗВ63.Трудовой; Иначе Возврат Перечисление.ТипДоговораСЗВ63.ГражданскоПравовой; КонецЕсли; КонецФункции |
|||
26
Gucci76
26.07.13
✎
15:54
|
(25) Если сотрудника уволили, то он из Трудового превратиться в ГПХ
|
|||
27
Gucci76
26.07.13
✎
15:57
|
Тогда лучше так:
Периодический.ИспользоватьОбъект("СостояниеФизлица",Сотрудник.ОсновнойОбъект); Периодический.ОбратныйПорядок(1); Периодический.ВыбратьЗначения(,ДатаАктуальности); Пока Периодический.ПолучитьЗначение() = 1 Цикл Если Периодический.Значение = Перечисление.ХХХХ.Основной Тогда Возврат Перечисление.ТипДоговораСЗВ63.Трудовой; КонецЕсли; КонецЦикла; Возврат Перечисление.ТипДоговораСЗВ63.ГражданскоПравовой; Перечисление.ХХХХ.Основной - правильно написать перечисление |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |