Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Изменение условий отпуска без содержания в упп1.3 1с8.2  (Прочитано 4244 раз)
0 Пользователей и 1 Гость смотрят эту тему.
IssakN
Участник

ru
Offline Offline

« : 31-08-2012 06:50 » 

Здравствуйте, уважаемые товарищи.
прошу помощи в таком вот вопросе:
в нашем законодательстве прописано, что если человек за свой рабочий год нагулял больше 14 дней отпуска без сохранения заработной платы,
то необходимо его рабочий год сместить на количество_дней_без_содержания - 14.
кадровики попросили, что-нибудь сделать с этим(2 дня пытались сами понять что хотят).
Моя задумка на форме отпусков поставить галочку,по умолчанию выключенную(что будет означать что кусок кода(цикл проверки) не будет проверяться)
      
Код:
Пока ?(ВключатьТекущийРабочийГод, ДатаОкончанияРабочегоГода < ДобавитьМесяц(ДатаОграничения, 12), ДатаОкончанияРабочегоГода < ДатаОграничения) Цикл
Строка = ТаблицаОстатков.Добавить();
ЗаполнитьЗначенияСвойств(Строка, Выборка);
Строка.ДатаНачалаРабочегоГода = ДатаНачалаРабочегоГода;
Строка.ДатаОкончанияРабочегоГода = ДатаОкончанияРабочегоГода;

Если Строка.ДатаОкончанияРабочегоГода < Дата(2006, 10, 6) Тогда
КоличествоДнейВключаемых = 7;
Иначе
[b]КоличествоДнейВключаемых = 14;[/b]
КонецЕсли;
при включении галочки этот цикл будет выполняться.

я нашел куда надо вписать мое условие, но

{ОбщийМодуль.ПроцедурыУправленияПерсоналом.Модуль(3659,7)}: Переменная не определена (СместитьГод)
   Если <<?>>СместитьГод = Истина Тогда ВыборкаПоОтпускам = ПодготовитьДанныеПоРегламентированнымОтпускам(ТаблицаПериодов, Ссылка); (Проверка: Толстый клиент (обычное приложение))

пробовал по всякому обратиться к моей галочке - и не получается. Вопрос как мне грамотно обратиться к галочке, что бы выполнилось мое условие?

Код:
Если ФлажокПриИзменении() Тогда Выборка = ПолучитьДополнениеОстатковОрганизаций(Запрос, Регистратор, ВключатьТекущийРабочийГод)
КонецЕсли;

Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 31-08-2012 07:10 » 

У тебя кусок кода из общего модуля - значит тебе нужно обращаться к реквизиту объекта через переменную объекта, что-то в духе Объект.СместитьГод (где Объект - это параметр процедуры/функции)
Записан
IssakN
Участник

ru
Offline Offline

« Ответ #2 : 31-08-2012 07:25 » 

Если Объект.СместитьГод Тогда Выборка = ПолучитьДополнениеОстатковОрганизаций(Запрос, Регистратор, ВключатьТекущийРабочийГод)
      КонецЕсли;

та же ошибка.
Записан
IssakN
Участник

ru
Offline Offline

« Ответ #3 : 31-08-2012 07:39 » 

   Если ЭлементыФормы.РаботникиОрганизации.ТекущиеДанные.СместитьГод Тогда Выборка = ПолучитьДополнениеОстатковОрганизаций(Запрос, Регистратор, ВключатьТекущийРабочийГод)
      КонецЕсли;
пробовал и так обратиться, но все равно переменная не определена.
никак в толк не возьму почему не хочет к ней обращаться?
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 31-08-2012 07:43 » 

Ты не гадай - а посмотри внимательно заголовок процедуры/функции: какие параметры в нее передаются? Как она вызывается из формы?
Записан
IssakN
Участник

ru
Offline Offline

« Ответ #5 : 31-08-2012 07:56 » 

поясни пожалуйста заголовок какой именно процедуры\функции?я капитально запутался что-то.
Записан
IssakN
Участник

ru
Offline Offline

« Ответ #6 : 31-08-2012 08:20 » 

   // Подготовим временную таблицу с актуальными остатками
   ПодготовитьТаблицуАктуальныхОстатковОрганизаций(Запрос, ИспользоватьОстатки);
   
   ТаблицаОстатков = Новый ТаблицаЗначений;
   ТаблицаОстатков.Колонки.Добавить("Ссылка",                        Новый ОписаниеТипов("СправочникСсылка.ОстаткиОтпусковОрганизаций"));
   ТаблицаОстатков.Колонки.Добавить("Сотрудник",                     Новый ОписаниеТипов("СправочникСсылка.СотрудникиОрганизаций"));
   ТаблицаОстатков.Колонки.Добавить("НомерСтроки",                     Новый ОписаниеТипов("Число"));
   ТаблицаОстатков.Колонки.Добавить("Количество",                     Новый ОписаниеТипов("Число", , Новый КвалификаторыЧисла(7, 3)));
   ТаблицаОстатков.Колонки.Добавить("ДатаНачалаРабочегоГода",            Новый ОписаниеТипов("Дата"));
   ТаблицаОстатков.Колонки.Добавить("ДатаОкончанияРабочегоГода",         Новый ОписаниеТипов("Дата"));
   ТаблицаОстатков.Колонки.Добавить("НеАктуальный",                  Новый ОписаниеТипов("Булево"));
   ТаблицаОстатков.Колонки.Добавить("ДатаПриемаНаРаботу",               Новый ОписаниеТипов("Дата"));
   ТаблицаОстатков.Колонки.Добавить("ДатаПолученияДанных",               Новый ОписаниеТипов("Дата"));
   ТаблицаОстатков.Колонки.Добавить("ДатаОстатков",                  Новый ОписаниеТипов("Дата"));
   ТаблицаОстатков.Колонки.Добавить("ВидЕжегодногоОтпуска",            Новый ОписаниеТипов("СправочникСсылка.ВидыЕжегодныхОтпусков"));
   
   // Получим текущие наиболее актуальные остатки отпусков
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ОстаткиОтпусков.*
   |ИЗ
   |   ВТАктуальныеОстатки КАК ОстаткиОтпусков
   |
   |УПОРЯДОЧИТЬ ПО
   |   НомерСтроки,
   |   ВидЕжегодногоОтпуска,
   |   ДатаНачалаРабочегоГода";
   
   ТекущиеОстатки = Запрос.Выполнить().Выгрузить();
   
   // Теперь дополним существующие в системе остатки
   // Остатки будут дополнены по тем рабочим годам, которые в остатках не значатся
   // Кроме того, если будет включен текущий рабочий год, запрос ВСЕГДА вернет запись
   // за текущий рабочий год. Это позволит посчитать текущий остаток с учетом уже отгуленных
   Если ФлажокПриИзменении(Элемент) Тогда Выборка = ПолучитьДополнениеОстатковОрганизаций(Запрос, Регистратор, ВключатьТекущийРабочийГод)
      КонецЕсли;

ты имеешь ввиду ТаблицуАктуальныхОстатковОрганизаций?внести в нее мою функцию

Функция ФлажокПриИзменении(Элемент) Экспорт
                 КонецФункции
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines