|
Задачка |
☑ |
0
Oz11
30.08.11
✎
18:39
|
Друзья, есть такая задача. Имеется число (длина 3, точность 0), которое обозначает срок оплаты (количество дней). Так же есть галочка, которая уточняет календарные эти дни или рабочие. И есть документ Счет, от даты которого начинать считать и есть или нету документ ПлатежноеПоручение, которое имеет ДатуОплаты. Необходимо отобрать просроченные счета, то есть те, у которых Дата счета + СрокОплаты > ДатыОплаты в ПлатежномПоручении. Помогайте, а то под конец дня совсем нифига не соображаю.
|
|
1
Просто Лёха
30.08.11
✎
18:47
|
Регистр сведений регламентированный календарь есть в конфигурации?
|
|
2
Oz11
30.08.11
✎
19:02
|
(1) есть РегламентированыйПроизводственныйКалендарь
|
|
3
IamAlexy
30.08.11
✎
19:06
|
лови универсальную функцию которая работает во всех конфигурациях не зависимо от наличия производственного календаря:
Функция ПоискКоличестваРабочихДней(НачалоПериода,КонецПериода)
Начдата = НачалоДня(НачалоПериода);
ТекДата = НачДата;
РабочихДат = 0;
пока ТекДата < КонецПериода Цикл
Ответ = Вопрос("Эта дата "+ ТекДата + " рабочая?",РежимДиалогаВопрос.ДаНет);
Если Ответ = КодВозвратаДиалога.Да Тогда
РабочихДат=РабочихДат+1;
КонецЕсли;
ТекДата=НачалоДня(ТекДата+24*60*60+1);
КонецЦикла;
Сообщить("Всего между " + НачДата + " и " + ТекДата + " примерно " + РабочихДат + " рабочих дней");
Возврат РабочихДат;
КонецФункции
|
|
4
Mort
30.08.11
✎
19:08
|
(3) Зачет! Индусы отдыхают.
|
|
5
Evpatiy
30.08.11
✎
19:09
|
(3) )))
-Анечка, сделайте мне, пожалуйста, расчет дополнительных отпусков по третьему цеху.
-Хорошо, Игорь Анатольевич, через две недели будет готово!
|
|
6
Просто Лёха
30.08.11
✎
19:10
|
(2) Ну так запрос тогда - счет + платежное поручение + регламентированный календарь - там есть вид дня рабочий, выходной
|
|
7
IamAlexy
30.08.11
✎
21:29
|
мой метод надежнее
|
|
8
Necessitudo
30.08.11
✎
22:01
|
(7) Ржу) А если скажем нужно обработать полгода? 180 раз жмакать по кнопке?
|
|
9
IamAlexy
30.08.11
✎
22:03
|
(8) зато надежно.. кнопка это надежность.. это не какието скрытые алгоритмы которых никто не понимает.. за кнопкой всегда есть ответственный нажимальщик который отвечает за каждое нажатие - за результат..
|
|
10
IamAlexy
30.08.11
✎
22:03
|
+(9) плюс универсально.. если есть клавиатура или мышка - то в любой конфе работать будет
|
|
11
sergeev-ag-1977
31.08.11
✎
07:50
|
Главное на середине не ошибиться - нужно добавить обработку прерывания пользователя - что бы возвращаться назад.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший