Имя: Пароль:
1C
1С v8
1с 8.2 Управление зарплатой и кадрами
, ,
0 koketka
 
23.05.12
11:50
Девушки из отдела кадров при приеме на работу используют помощник. Так вот там есть номер договора. Вот он натикал до 99 и дальше автоматически присваивается не хочет. Хотя в справочнике Организаций поле Номер Договора -11 символов.Вот процедура и вней усердно выбирается номер 99 хотя уже есть 101 Функция ПолучитьНомерТрудовогоДоговора() Экспорт
   
   Если Организация.Пустая() Тогда
       Возврат НомерДоговора;
   КонецЕсли;
   
   ВидыДоговоров    = Новый Массив;
   ВидыДоговоров.Добавить(Перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор);

   СотрудникиОрганизацийПереопределяемый.ДополнитьВидыДоговоровДляПолученияНомера(ВидыДоговоров);

   Если ВидыДоговоров.Найти(ВидДоговора) = Неопределено Тогда
       Возврат НомерДоговора;
   КонецЕсли;
   
   Запрос = Новый Запрос;
   
   ДатаДоговораДляЗапроса = ?(ЗначениеЗаполнено(ДатаДоговора), ДатаДоговора, ОбщегоНазначения.ПолучитьРабочуюДату());
   
   Запрос.УстановитьПараметр("парамОрганизация",Организация);
   Запрос.УстановитьПараметр("парамНачалоГода" ,НачалоГода(НачалоДня(ДатаДоговораДляЗапроса)));
   Запрос.УстановитьПараметр("парамКонецГода"  ,КонецГода(КонецДня(ДатаДоговораДляЗапроса)));
   Запрос.УстановитьПараметр("парамВидДоговора" ,ВидДоговора);
   
   ТекстЗапроса =
   "ВЫБРАТЬ
   |    МАКСИМУМ(СотрудникиОрганизаций.НомерДоговора) КАК НомерДок
   |ИЗ
   |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
   |ГДЕ
   |    СотрудникиОрганизаций.Организация = &парамОрганизация
   |    И СотрудникиОрганизаций.ВидДоговора = &парамВидДоговора
   |    И СотрудникиОрганизаций.ДатаДоговора МЕЖДУ &парамНачалоГода И &парамКонецГода";
   
   Запрос.Текст = ТекстЗапроса;
   Если Запрос.Выполнить().Пустой() Тогда
       Возврат Организация.Префикс + "0000001";
   Иначе
       
       СтрокаРезультата = Запрос.Выполнить().Выгрузить()[0];
       Если НЕ ЗначениеЗаполнено(СтрокаРезультата.НомерДок) Тогда
           Возврат Организация.Префикс + "0000001";
       Иначе
           Возврат ПроцедурыУправленияПерсоналом.ПолучитьСледующийНомер(СокрП(СтрокаРезультата.НомерДок),11);
       КонецЕсли;
       
   КонецЕсли;
   
   
КонецФункции
1 koketka
 
23.05.12
11:51
Хотя в справочнике СотрудникиОрганизаций*
2 koketka
 
23.05.12
11:52
Не могу понять почему? В 8.2 первый раз залезла!
3 RomaH
 
naïve
23.05.12
11:54
ПроцедурыУправленияПерсоналом.ПолучитьСледующийНомер
см сюда
4 koketka
 
23.05.12
11:56
(3) после нее тоже возвращает 99
5 koketka
 
23.05.12
11:57
меня смущает почему в запросе не выбирает 101(ведь есть такой договор),а потом к нему должна добавится 1 и следующий 102! А у меня 99
6 RomaH
 
naïve
23.05.12
12:00
101 < 99 потомучто
7 koketka
 
23.05.12
12:00
это как?
8 koketka
 
23.05.12
12:01
и как с этим бороться!
9 Обработка
 
23.05.12
12:02
еще со времен 1с77 была такая проблема. 1с82 не знаю как это решили но сама система понимает приращение если вы вводили 0000000098, 0000000099, 0000000100, 0000000101 .... то он поймет что следующая 00000000102
10 wise
 
23.05.12
12:03
(7) зато 099<101

:-)
11 Обработка
 
23.05.12
12:04
+(9) а в вашем случае 99--------- но потом кто-то руками ввел 101--------
итд
12 DrShad
 
23.05.12
12:05
вообще-то конфа называется Зарплата и Управление персоналом, а не так как в сабже
13 koketka
 
23.05.12
12:05
Вот я руками и ввела 100,101 а он выбирает 99, а не 101
14 Обработка
 
23.05.12
12:06
(8) Вам надо написать обработку по перекодировке с добавлением нулей ну хотябы в 3-4 знака и запустить
15 koketka
 
23.05.12
12:06
(12) да вы правы

Зарплата и Управление Персоналом, редакция 2.5 (2.5.35.3) (http://v8.1c.ru/hrm/)
Copyright (С) ООО "1C", 2007-2011. Все права защищены
(http://www.1c.ru)
16 Обработка
 
23.05.12
12:08
(13) У вас первые коды должны были быть не 01 02 или еще хуже 1,2,3.. а 0001 0002 0003 .... 0099 хотябы если не 00000000099
17 koketka
 
23.05.12
12:09
спасибо!
18 koketka
 
23.05.12
12:25
(Я решила поле "Номер Договора" в число переделать)
19 Aleks73
 
23.05.12
12:30
(18) даже не знаю, кому посочувствовать...хотя объективно после такого со следующим программистом не торгуются.
20 koketka
 
23.05.12
12:53
(19) Базу мы переписываем под себя так что обновления все мимо нас проходят
21 koketka
 
23.05.12
12:56
Хотя я всеми руками и ногами за неизменение базы а обновление ее! Мне кажется так правильно! А в итоге получается наствят задач на кодишь а потом им не так а вот так надо и в результате все перелопали а зачем не понятно! Такая политика партии
22 orange777
 
23.05.12
13:37
(21)может все-таки нолики спереди прибавить?...
23 koketka
 
23.05.12
13:49
я изложила все начальнику он сказал так! что через число!
24 koketka
 
23.05.12
13:51
Просто базу по кадрам веду не я. Рассказала начальнику причину и пути решения он выбрал так!
25 Aleks73
 
23.05.12
14:20
(24) на этот форум не бросай резюме. после твоей темы вряд ли возьмут.
26 Бледно Золотистый
 
23.05.12
14:23
(24) А про последствия "через число" начальнику рассказали?
27 Drac0
 
23.05.12
14:27
(23) пичаль. У вас все в компании такие?
28 Aleks73
 
23.05.12
15:19
(27) жадный дир съэкономил на проге, взял подаванку вместо спеца.
А виноватой сделают её.
см (19)
29 maxmb
 
23.05.12
15:25
Уважаемый автор, все посочувствовали Вашей проблеме и отметили Ваше умение разруливать сложнейшие ситуации судьбы. Не могли бы Вы разместить Ваше фото, для более быстрой реакции на Ваши вопросы и решения по ним.