Имя: Пароль:
1C
1С v8
Внешняя обработка, ДЗ по видеоурокам
,
0 Hennessy
 
14.01.14
09:58
Подскажите, пожалуйста, алгоритм вычисления количества рабочих дней в году, если за выходные принять субботу и воскресенье.
1 Godofsin
 
14.01.14
10:01
ну я даже не знаю... 5000?
2 1dvd
 
14.01.14
10:01

Если Год = 2013 Тогда
    Возврат 261;
ИначеЕсли Год = 2014 Тогда
    Возврат 260;
    ...




ЗЫ цифры взял от фонаря
3 butterbean
 
14.01.14
10:01
дели всё на 7 и умножай на 5
4 Nenaviwu1c20
 
14.01.14
10:04
ВЫБРАТЬ
    0 КАК Цифра
ПОМЕСТИТЬ ТабЦифр

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    9
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, ТабЦифр1.Цифра + 10 * ТабЦифр2.Цифра + 100 * ТабЦифр3.Цифра + 1000 * ТабЦифр4.Цифра) КАК День
ПОМЕСТИТЬ ТабДней
ИЗ
    ТабЦифр КАК ТабЦифр1,
    ТабЦифр КАК ТабЦифр2,
    ТабЦифр КАК ТабЦифр3,
    ТабЦифр КАК ТабЦифр4
ГДЕ
    ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, ТабЦифр1.Цифра + 10 * ТабЦифр2.Цифра + 100 * ТабЦифр3.Цифра + 1000 * ТабЦифр4.Цифра) <= &ДатаКон

ИНДЕКСИРОВАТЬ ПО
    День
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    КОНЕЦПЕРИОДА(ТабДней.День, ДЕНЬ) КАК День
ИЗ
    ТабДней КАК ТабДней
5 1dvd
 
14.01.14
10:04
(4) слишком просто, имхо
6 Nenaviwu1c20
 
14.01.14
10:04
ну там и добавь условие что день не равень субботе или воскресенью
7 Nenaviwu1c20
 
14.01.14
10:05
(5) все иронизируешь?)
8 1dvd
 
14.01.14
10:06
(7)
:)
9 Maxus43
 
14.01.14
10:07
если православно - то юзать производственный календарь токмо
10 Trainee
 
14.01.14
10:08
РС Производственный календарь.
11 Wobland
 
14.01.14
10:09
думаю, надо поскласть количество понедельников с количеством вторников...
12 Sserj
 
14.01.14
10:18
Ну можно и без календаря, если праздники не интересуют, то исключительно попользоваться

НеделяГода(КонецГода(ДатаОтчета)) - количество недель в году, ну и вычесть/добавить конечный остаток если начало или конец на выходные, там использовать ДеньНедели(НачалоГода(ДатаОтчета)) и ДеньНедели(КонецГода(ДатаОтчета)), ну вообщем алгоритм понятен более менее :)
13 singlych
 
14.01.14
10:41
В году полных 52 недели.
Если год невисокосный, то лишний будет 1 день, и это будет тот же день недели, на который начинается год. То есть, будет лишний выходной, если год начинается (или кончается) на Сб или Вс.
Если високосный, то лишних два дня, и последний день - следующий день недели от первого дня года. Тогда лишний выходной будет, если год начинается на Пт или Вс (кончается на Сб или Пн), и два лишних, если год начинается на Сб (кончается на Вс).