Имя: Пароль:
1C
1С v8
Пенсионный возраст
0 Marseille
 
12.06.13
14:44
Добрый день!

Прошу Вас помочь с программированием.
Надо сделать отчет. Отобрать сотрудников которым в этом году исполняется пенсионный возраст и разделить по полу.

Мужчины - 63 лет
Женщины - 58 лет

http://s018.radikal.ru/i523/1306/c2/699fb244eca3.jpg
1 Ненавижу 1С
 
гуру
12.06.13
14:52
ГДЕ
 (Пол=&МужскойПол и ГОД(ДатаРождения)=&МужскойГод)
ИЛИ
 (Пол=&ЖенскийПол и ГОД(ДатаРождения)=&ЖенскийГод)

ИТОГИ ПО Пол
2 Marseille
 
12.06.13
14:54
Ошибка. Надо дополнить код, который в картинке
4 Marseille
 
12.06.13
14:56
Извини, я только обучаюсь
5 Ненавижу 1С
 
гуру
12.06.13
14:57
(4) ну так в чем ошибка то? добавь текст в (1) в конец твоего запроса
6 Тоненький Клиент
 
12.06.13
14:59
(5) про параметры умолчал...
7 Ненавижу 1С
 
гуру
12.06.13
15:01
(6) бывает
8 Marseille
 
12.06.13
15:04
http://s019.radikal.ru/i630/1306/13/a165b04e7204.jpg

Может с функциями языка запросов поиграть?
http://s019.radikal.ru/i632/1306/da/991cbf9a317b.jpg
9 vicof
 
12.06.13
15:07
(8) Жмакни кнопку параметры, и ничем играть не нужно будет
10 Marseille
 
12.06.13
15:13
11 Фокусник
 
12.06.13
15:16
(10) "Получить из запроса" :)
12 Alexey87
 
12.06.13
15:17
седня вроде не пятница
13 Тоненький Клиент
 
12.06.13
15:17
(8) как чувствовал
14 Marseille
 
12.06.13
15:21
15 Тоненький Клиент
 
12.06.13
15:22
(14) теье нужно задать эти параметры руками !!!
16 Marseille
 
12.06.13
15:23
А еще этот отчет надо добавить в консоль заданий, чтобы высылал каждый месяц электронное письмо отдел кадров.
17 Alexey87
 
12.06.13
15:25
(16)в отдел кадров нужен не отчет, а тебе сходить и написать заявление, лучше одним днем
18 Marseille
 
12.06.13
15:33
Ну не стоит стебаться, Вы тоже когда-то были чайниками.
19 Marseille
 
10.07.13
12:54
Вот такую обработку написал гуру-программист.

Процедура КнопкаВыполнитьНажатие(Кнопка)
   МассивПенсионеров = Новый Массив;
   
   ПенсионныйВозрастДляМужчин = 63;
   ПенсионныйВозрастДляЖенщин = 58;
   
   ТекущийМесяц = Месяц(ТекущаяДата());
   ТекущийГод = Год(ТекущаяДата());
   
   Выборка = Справочники.ФизическиеЛица.Выбрать();
   Пока Выборка.Следующий() Цикл
       Если Выборка.ЭтоГруппа Тогда
           Продолжить;
       КонецЕсли;
       
       Если Не ЗначениеЗаполнено(Выборка.ДатаРождения) Тогда
           Продолжить;
       КонецЕсли;
       
       Если Не ЗначениеЗаполнено(Выборка.Пол) Тогда
           Продолжить;
       КонецЕсли;
       
       ГодРождения = Год(Выборка.ДатаРождения);
       МесяцРождения = Месяц(Выборка.ДатаРождения);
       
       Возраст = ТекущийГод-ГодРождения;
       Месяцев = МесяцРождения-ТекущийМесяц;
       
       Если Месяцев <> 0 Тогда
           Продолжить;
       КонецЕсли;
       
       Если Выборка.Пол = Перечисления.ПолФизическихЛиц.Мужской Тогда
           Если Возраст = ПенсионныйВозрастДляМужчин Тогда
               МассивПенсионеров.Добавить(Выборка.Ссылка);
           КонецЕсли;
       ИначеЕсли Выборка.Пол = Перечисления.ПолФизическихЛиц.Женский Тогда
           Если Возраст = ПенсионныйВозрастДляЖенщин Тогда
               МассивПенсионеров.Добавить(Выборка.Ссылка);
           КонецЕсли;
       КонецЕсли;
       
   КонецЦикла;
   
   Для Инд=0 По МассивПенсионеров.Количество()-1 Цикл    
       Сообщить(МассивПенсионеров[Инд].Наименование);
       Сообщить(МассивПенсионеров[Инд].ДатаРождения);
   КонецЦикла;
   Сообщить("Финиш");
КонецПроцедуры

Как правильно написать вариант в консоле запросов?
20 zak555
 
10.07.13
13:53
ВЫБРАТЬ
   ФизЛицо.Ссылка,
   ФизЛицо.Пол,
   ФизЛицо.ДатаРождения
ИЗ
  Справочник.ФизическиеЛица КАК ФизЛицо

ГДЕ
 (Пол=&МужскойПол и ГОД(ДатаРождения)=&МужскойГод)
ИЛИ
 (Пол=&ЖенскийПол и ГОД(ДатаРождения)=&ЖенскийГод)

ИТОГИ ПО Пол
22 Marseille
 
11.07.13
08:11
Большой респект Вам мужики! Уважуха!
23 0xFFFFFF
 
11.07.13
08:25
(19) Гуру, ага... :)
Программист всегда исправляет последнюю ошибку.