Имя: Пароль:
1C
1С v8
Написать программу с количеством рабочих дней
0 Oksana_74
 
26.01.12
10:59
Дали задание написать программу с количеством рабочих дней в ЛЮБОМ году с 1900 по 9999. Как это сделать? И где вообще этому научиться? Может азы какие то написания программ и функций... Ну не знала я этого никогда. Я бухгалтер а меня фирма отправила учиться на программиста 1С по платформе 8.2. Заранее спасибо!

Ах еще где найти функции "Если..то" по моему...
1 Rusty Nail
 
26.01.12
11:00
То Света, то Оксана...
2 ProProg
 
26.01.12
11:00
ухахаха
"Я бухгалтер а меня фирма отправила учиться на программиста 1С по платформе 8.2. "
жестяк
3 Господин ПЖ
 
26.01.12
11:00
>Ну не знала я этого никогда. Я бухгалтер а меня фирма отправила учиться на программиста

зачем?
4 Ненавижу 1С
 
гуру
26.01.12
11:00
интересно, а кто знает какие дни были рабочими этак в 1926 году? или какими будут рабочие в 7856? ))
5 DrShad
 
26.01.12
11:00
срочно замуж! и детей рожать
6 Alex S D
 
26.01.12
11:01
Вас направили учиться на мисту чтоли?)
7 Vakhrin
 
26.01.12
11:01
да... суровы челябинские работодатели...
8 Oksana_74
 
26.01.12
11:01
Учиться отправили потому что это внутренняя программа развития сотрудников. И все же кто-нить может помочь? И при чем тут Света?
9 Oksana_74
 
26.01.12
11:02
Ребята ну кто-нить может помочь?
10 manyak
 
26.01.12
11:02
(8) ты реально не догоняешь что-ли? как можно узнать сколько рабочих дней булет например в 2013 году? новый президент возьмет и наделает новых праздников...
11 Ненавижу 1С
 
гуру
26.01.12
11:02
вот этот Нуф-Нуф товарищ может тебя научить играть на кожаной флейте!
12 vmv
 
26.01.12
11:03
(9) втихаря идите на кулинарные курсы - это будет более разумно
13 Ненавижу 1С
 
гуру
26.01.12
11:03
(0) Что эта программа должна уметь делать интересно?
14 Alex S D
 
26.01.12
11:03
почитай Радченко
15 manyak
 
26.01.12
11:04
раз ты бухгалтер - узнай ка нам производственный календарь на 2020 год и форму счета -фактуры какая будет?
16 Alex S D
 
26.01.12
11:04
а кол-во рабочих дней.. посмотри как работает производственный календарь в УПП
17 vmv
 
26.01.12
11:04
(8) Света, единственная женщина 1С-к, которая успешно прошла все курсы
18 Oksana_74
 
26.01.12
11:05
"Сделать обработку с количеством рабочих дней с 1900 по 9999 года... Исключая выходные..."

Вот так звучало задание. В конфигураторе надо  написать чтобы в самой программе выскакивало окошко туда вводился номер года и пр...
19 Ненавижу 1С
 
гуру
26.01.12
11:05
(18) вообще то еще и праздники есть, которые не рабочие, ну и перенос праздников конечно
20 salvator
 
26.01.12
11:05
Развод какой-то
21 Wobland
 
26.01.12
11:05
(9) ответь на (4)
22 MatrosoV AleXXXand_R
 
26.01.12
11:06
(18) Смешно
23 vmv
 
26.01.12
11:06
(19) сейчас и год високосный
24 MatrosoV AleXXXand_R
 
26.01.12
11:06
А если завтра добавят / уберут праздничные дни?
25 ptiz
 
26.01.12
11:06
Составителей программы курсов - на переподготовку!
26 salvator
 
26.01.12
11:06
(18) Это копипаст из задания? Прямо таки с многоточиями?
27 Oksana_74
 
26.01.12
11:07
извините. Как закрыть тему или удалить?
28 ssh2006
 
26.01.12
11:07
(0) учти что
В России григорианский календарь введён в 1918 году декретом Совнаркома, согласно которому в 1918 году после 31 января следовало 14 февраля.
29 Wobland
 
26.01.12
11:07
(27) а тема автору не принадлежить, она уже наша ;)
аську включи
30 Ненавижу 1С
 
гуру
26.01.12
11:08
(27) не... не... не...
31 Glenas
 
26.01.12
11:08
(27)  Увы - никак. Терь будешь отдуваться за все праздники и выходные до 9999 года...
32 Alex S D
 
26.01.12
11:08
(29) понравилась ? ;)
33 Wobland
 
26.01.12
11:09
(32) я добр после принятия обеда
34 almar
 
26.01.12
11:09
А с какого года в России введена 5-и дневная рабочая неделя?
35 1Сергей
 
26.01.12
11:09
36 Glenas
 
26.01.12
11:10
(34) Что - то вроде с 60 - х годов прошлого века
37 Mikeware
 
26.01.12
11:11
(7) суровость челябинских работодателей компенсируется суровостью челябинских работников :-))
38 Tatitutu
 
26.01.12
11:12
Вечный календарь
http://infostart.ru/public/85067/
с открытым кодом на 8.2 (там есть и для 7.7)
39 БалбесВ1с
 
26.01.12
11:12
(0)Конфигурация дана или свою написать надо?
40 Зеленый Кот
 
26.01.12
11:19
ох уж эти программисты 1С не могут загрузить курс долара на год вперед (с)
41 ковер
 
26.01.12
11:21
(0) оч просто, делаешь цикл по счетчику от 1900 до 9999 год  

и в каждом году считаешь количество рабочих дней.
42 salvator
 
26.01.12
11:22
(41) Хорошо пошутил
43 Wobland
 
26.01.12
11:27
(41) не так. в цикле получаешь количество дней, проверяешь, не на нужный ли год получили, если да, говоришь ответ
44 ковер
 
26.01.12
11:29
(43) какюсь нетак задание прочитал :)
45 ковер
 
26.01.12
11:29
каюсь :)
46 hhhh
 
26.01.12
11:33
(42) еще проще можно, создаешь регистр сведений: измерение Год, ресурс Количество дней. Профит. Cажаешь девочку, она в календаре смотрит, сколько выходных в году и заносит в регистр.
47 Wobland
 
26.01.12
11:34
(46) я так понимаю, автору уже пофиг на РегламентированныйПроизводственныйКалендарь...
48 Wobland
 
26.01.12
11:35
+(47) хоть как-то близко к решению
49 БалбесВ1с
 
26.01.12
11:47
(47)Если конфа самописка?
50 Oksana_74
 
26.01.12
12:05
как раз программу и надо было написать
51 Ненавижу 1С
 
гуру
26.01.12
12:05
(50) КАКУЮ?
52 Oksana_74
 
26.01.12
12:06
А которой надо было бы просто год ввести а она выдает сколько в этом году рабочих
53 Reset
 
26.01.12
12:07
Вот накорябал из спортивного интереса.
Если использовать допущение, что выходные дни - это только субботы и воскресенья, то можно что-то вроде нижеприведенного.
Разумеется, неучет праздников сводит практический смысл на нет, но недоэкзаменаторы, возможно, буду довольны.


Функция КоличествоРабочихДнейВГоду(Год)
   // Определяем как количество дней всего, минус количество воскресений, минус количество суббот
   НачПериода=Дата(Год,1,1);
   КонПериода=Дата(Год,12,31);
   Возврат КоличествоДнейВГоду(Год)-КоличествоДняНеделиВПериоде(6,НачПериода,КонПериода)-КоличествоДняНеделиВПериоде(7,НачПериода,КонПериода);
КонецФункции

Функция КоличествоДнейВГоду(Год)
   Возврат (Дата(Год,12,31)-Дата(Год,1,1))/24/60/60;
КонецФункции

Функция КоличествоДняНеделиВПериоде(ИндексДня,НачПериода,КонПериода)
   СмещениеПервогоВСекундах=(ИндексДня-ДеньНедели(НачПериода))*24*60*60;
   возврат Цел(
   (
       НачалоДня(КонПериода)
           -НачалоДня(НачалоДня(НачПериода)+СмещениеПервогоВСекундах)
   )/7/24/60/60
   )+?(СмещениеПервогоВСекундах<=НачалоДня(КонПериода)-НачалоДня(НачПериода),1,0);
КонецФункции
54 Alex S D
 
26.01.12
12:07
мде..
55 Dmitry77
 
26.01.12
12:08
Возьми типовой ЗиУП, покуажи там календари
56 Ненавижу 1С
 
гуру
26.01.12
12:09
(52) сама ответь мне, сколько рабочих дней в 2020 году?
57 Serg_1960
 
26.01.12
12:10
Источник: http://slovari.yandex.ru/~книги/БСЭ/Рабочий%20день/

Ещё 29 октября (11 ноября) 1917 Советским правительством был издан декрет "О восьмичасовом рабочем дне". Социалистическое государство строго контролировало соблюдение этой нормы продолжительности Р. д. В дальнейшем были осуществлены переход к 7-часовому Р. д. (1928—33), введение в начале 30-х гг. пятидневной рабочей недели (рабочая пятидневка при шестом выходном дне). В 1940, в связи с начавшейся 2-й мировой войной 1939—45 и напряжённой международной обстановкой, был издан Указ Президиума Верховного Совета СССР "О переходе на восьмичасовой рабочий день, на семидневную рабочую неделю". В 1956—1960 Р. д. в СССР был вновь сокращён до 7 ч (в ряде отраслей и производств — до 6 ч) при шестидневной рабочей неделе, а затем был осуществлен переход на пятидневную рабочую неделю с двумя выходными днями. В связи с этим, оставшаяся неизменной недельная норма рабочего времени (не более 41 ч в неделю) отрабатывается трудящимися не за 6, а за 5 дней."

PS: я так думаю: вышесказанно, регламентный производственный календарь и т.д. ни какого отношения не имеет к заданию ТС. И скорее всего,  задача сводится к подсчету количества дней недели. Из календарных дней года нужно вычесть субботы и воскресенья...
58 Wobland
 
26.01.12
12:12
(52) а посчитай без программы, любым удобным для себя способом, сколько градусов завтра будет на улице
59 ПиН
 
26.01.12
12:12
не обижайте девачку... бяки...
60 Wobland
 
26.01.12
12:14
(57) эх, сколько ж дней будет в неделе 9999го? ;)
61 Oksana_74
 
26.01.12
12:14
Reset огромное спасибо!!!!
62 ковер
 
26.01.12
12:16
(53) зачем так  
Функция КоличествоДнейВГоду(Год)
   Возврат (Дата(Год,12,31)-Дата(Год,1,1))/24/60/60;
КонецФункции

можно проще
Функция КоличествоДнейВГоду(Год)
   Возврат ДеньГода(Дата(Год,12,31));
КонецФункции
63 Reset
 
26.01.12
12:21
(62) не возражаю, про ДеньГода() не знал/забыл [и вообще не претендую на оптимальность кода ;)]
64 Serg_1960
 
26.01.12
12:23
А слабо написать алгорит, чем короче тем лучше? :о)
65 БалбесВ1с
 
26.01.12
12:29
РабДнейВГодуГлавбух(Паяльник,Анально,Истина)
66 Ненавижу 1С
 
гуру
26.01.12
12:34
Функция КоличествоДнейВГодуБезСубботыВоскресенья(Год)
   КонецГода = Дата(Год,12,31);
   ДнейВГоду = ДеньГода(КонецГода);
   Возврат 260+?(ДеньНедели(КонецГода)<6,1,0)+?((ДнейВГоду=366) и (ДеньНедели(КонецГода-86400)<6),1,0);
КонецФункции
67 Oksana_74
 
26.01.12
13:18
А как научиться писать алгоритмы?
68 Wobland
 
26.01.12
13:19
(67) поступить?
69 Alex S D
 
26.01.12
13:19
что в твоем понимании "алгоритм"?
70 Alex S D
 
26.01.12
13:20
я бы посоветовал и дальше работать бухгалтером..
71 Wobland
 
26.01.12
13:24
а как научиться составлять проводки?
72 gudvin77
 
26.01.12
13:28
Спасибо всем пользователям, давно я так не смеялся!
73 Jaffar
 
26.01.12
13:48
(64) "чем короче тем лучше"
обычно чем длиннее - тем лучше :-)
74 Vladal
 
26.01.12
15:03
(73) Для меня качественный алгоритм такой, который работает оптимально.
75 MSII
 
26.01.12
15:51
Жесть.
Закон Брукера: Даже маленькая практика стоит большой теории.