Имя: Пароль:
1C
1С v8
Надо сообщение вбухать в цикл как
, ,
0 sr_deadman
 
29.11.12
19:38
Функция Выходной(ТекДень)
Если
ДеньНедели(ТекДень) >= 6
Или
ТекДень = Дата(Год(ТекДень),01,01)
Или
ТекДень = Дата(Год(ТекДень),02,23)
Или
ТекДень = Дата(Год(ТекДень),03,08)
Тогда
Возврат Истина;
Иначе
Возврат ЛОЖЬ
КонецЕсли;
КонецФункции
Функция ПодсчетВЦикле(ТекГод)
КолДнейВГоду = ?((ТекГод%4) = 0, 366, 365);

ТекДата = НачалоГода(Дата(ТекГод,01,01));
Счетчик = 0;
Для Итератор = 1 По КолДнейВГоду Цикл
Если Не Выходной(ТекДата) Тогда
Счетчик = Счетчик + 1;
КонецЕсли;

ТекДата = ТекДата + (24*3600);
КонецЦикла;
Возврат Счетчик;
КонецФункции

Для Счетчик = ПодсчетВЦикле(2010) по ПодсчетВЦикле(2015)Цикл
   
   Сообщить(Счетчик)
   
КонецЦикла;
1 simol
 
29.11.12
19:39
А вопрос какой?
2 zulu_mix
 
29.11.12
19:40
дарю

Функция Выходной(ТекДень)
возврат
ДеньНедели(ТекДень) >= 6
Или
ТекДень = Дата(Год(ТекДень),01,01)
Или
ТекДень = Дата(Год(ТекДень),02,23)
Или
ТекДень = Дата(Год(ТекДень),03,08)
КонецФункции
3 Dzenn
 
гуру
29.11.12
19:40
(1) юзай telepatbot.dll :)
4 sr_deadman
 
29.11.12
19:43
Надо вывести сообщение например сколько рабочих дней в году 2010 по 2030 например без перебирания
Сообщить ПодсчетВЦикле(2010)
Сообщить ПодсчетВЦикле(2011)
Сообщить ПодсчетВЦикле(2012)
Сообщить ПодсчетВЦикле(2013)
Сообщить ПодсчетВЦикле(2014)
Сообщить ПодсчетВЦикле(2015)
Сообщить ПодсчетВЦикле(2016)
Сообщить ПодсчетВЦикле(2017) без этого сразу как сделать
5 DrShad
 
29.11.12
19:45
Для н = 2010 по 2030 Цикл
Сообщить ПодсчетВЦикле(н)
6 zulu_mix
 
29.11.12
19:46
для и=2010 по 2017 цикл
сообщить(подсчетвцикле(и))
конеццикла
7 sr_deadman
 
29.11.12
19:53
спасибо
8 Fragster
 
гуру
29.11.12
21:40
Функция ПодсчетБезЦикла(Год)
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    СУММА(РегламентированныйПроизводственныйКалендарь.Пятидневка) КАК КоличествоДней
   |ИЗ
   |    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
   |ГДЕ
   |    РегламентированныйПроизводственныйКалендарь.Год = &Год";
   Запрос.УстановитьПараметр("Год",Год);
   Результат = Запрос.Выполнить();
   Выборка = Результат.Выбрать();
   Выборка.Следующий();
   Если Выборка.КоличествоДней = NULL Тогда
       ВызватьИсключение "Необходимо заполнить регл. календарь за " + XMLСтрока(Год) + " год";
   Иначе
       Возврат Выборка;
   КонецЕсли;
КонецФункции
9 Fragster
 
гуру
29.11.12
21:41
ну и да - для заполнения календаря в типовых и БСП есть кнопка.
10 zulu_mix
 
29.11.12
21:42
(8) ну ты лошара. ни версии платформы не знаешь, ни конфигурации. а если там самописка голимая?
11 echo77
 
29.11.12
21:43
пздц
12 Fragster
 
гуру
29.11.12
21:44
(10) я д'Артаньян, ибо смотрю глубже. Количество и даты праздников имеют тенденцию меняться год от года, что, каждый раз обновление выкатывать?
13 Fragster
 
гуру
29.11.12
21:46
если же его в конфе нету - он впиливается из БСП за 15 минут
14 zulu_mix
 
29.11.12
21:48
(13) куда ты впиливать собрался? в клюшкину избушку? ты на версию ветки не смотри. она ни о чем
15 Fragster
 
гуру
29.11.12
21:50
(14) А вы "Возврат А = Б" в клюшки собрался впилить? ну-ну...
16 Fragster
 
гуру
29.11.12
21:50
*ты
17 Fragster
 
гуру
30.11.12
08:59
ну что, получилось?
18 zulu_mix
 
30.11.12
16:31
(15) пля. 1:1