:: Visual Foxpro, Foxpro for DOS
Re: Узнать количество дней в определенном месяце(?)
Божья_коровка

Сообщений: 25720
Дата регистрации: 23.08.2001
lulgu
Божья_коровка
Спасибо конечно, но мне не надо У меня 5 лет назад поменялась предметная область и определять рабочие дни в году необходимости больше нет.

Это схема для работы с датами.
Конкретика может быть любой.
Спасибо, но я еще раз откажусь :-[


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
AndyNigmatec
Вручную-вручную, не перживайте за меня :xixi:
Ваш мазохистский подход я еще полгода назад оценил - понравилось )))

это же

lulgu
tcPr = '20170102,20170103,20170104' && Праздники
tcRab = '20170101,20170107' && Рабочие дни в выходные

вам боженька прописал

Нет, такие строки откуда-нибудь берутся автоматически или вводятся, например, в ListBox.
Причем, через IIF вы можете вписать в цикл свои любые "Вручную-вручную".



Исправлено 1 раз(а). Последнее : lulgu, 28.08.18 13:26
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Ну вообще-то в фокспро все подобные данные, в том числе и подобные, обычно хранятся в таблицах.
А уж суммировать или выбирать что-то по условию из таблицы в цикле - как говорится, это не наш метод, Шурик.
Начиная с того, что есть множество аггрегирующих функций, типа SUM, COUNT и т.п., также разумеется CALCULATE.
Ну и для ряда случаев, уже само собой бывает и проще, и удобнее использовать и SQL-выборки.
Все это существовало в фокспро чуть ли не изначально, в версии 2.0 уже точно было. Что намного повышало удобство и скорость работы.
Т.е. возможно в каких-то древних фоксбейс-версиях и нужны были циклы для подсчетов. Но Фокспро в этом отношении уже намного превосходил всех предшественников. Тем не менее, видимо по аналогии с фоксбейсовскими методами, некоторые, чаще начинающие конечно, по-прежнему используют циклы без всякой на то необходимости.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
skuns
Taran
За 15 лет 3 десятка постов пахнущих скунсом.

Реплика в никуда...
Последние 10 лет на FOXPRO не писал а тут пришлось вспоминать

П.С. И скунсик у меня на аватарке добрый и жизнерадостный

Ок. Ну тогда за доброту и жизнерадостность.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Crispy
Ну вообще-то в фокспро все подобные данные, в том числе и подобные, обычно хранятся в таблицах. А уж суммировать или выбирать что-то по условию из таблицы в цикле - как говорится, это не наш метод, Шурик.
Начиная с того, что есть множество аггрегирующих функций, типа SUM, COUNT и т.п., также разумеется CALCULATE.
Ну и для ряда случаев, уже само собой бывает и проще, и удобнее использовать и SQL-выборки.
Все это существовало в фокспро чуть ли не изначально, в версии 2.0 уже точно было. Что намного повышало удобство и скорость работы.
Т.е. возможно в каких-то древних фоксбейс-версиях и нужны были циклы для подсчетов. Но Фокспро в этом отношении уже намного превосходил всех предшественников. Тем не менее, видимо по аналогии с фоксбейсовскими методами, некоторые, чаще начинающие конечно, по-прежнему используют циклы без всякой на то необходимости.

Покажите, пожалуйста, ваш способ заполнения таблицы-календаря, откуда вы сможете делать свои так подробно вами описанные выборки.
В моем примере нужные вам REPLACE вы легко можете вставить сами.



Исправлено 1 раз(а). Последнее : lulgu, 28.08.18 14:13
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
AndyNigmatec

Сообщений: 1552
Откуда: Волгоград
Дата регистрации: 28.06.2015
Как бы не заполнялась таблица - это делается один раз - и сразу доступно всем в системе ... а не вызывается подсчет-пересчет при кажной надобности.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
lulgu
Покажите, пожалуйста, ваш способ заполнения таблицы-календаря, откуда вы сможете делать свои так подробно вами описанные выборки.
На любом сайте, посвященном любому SQL рассказывают про таблицу-календарь и ништяки, которые она даёт. Гуглите, да обрящете.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
ssa
lulgu
Покажите, пожалуйста, ваш способ заполнения таблицы-календаря, откуда вы сможете делать свои так подробно вами описанные выборки.
На любом сайте, посвященном любому SQL рассказывают про таблицу-календарь и ништяки, которые она даёт. Гуглите, да обрящете.

Кто спорит.
Но в данной теме речь идет о FoxPro.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
AndyNigmatec
Как бы не заполнялась таблица - это делается один раз - и сразу доступно всем в системе ... а не вызывается подсчет-пересчет при кажной надобности.

Извините, вы уже в n-ый раз с одним и тем же ломитесь.
Покажите, пожалуйста, ваш способ заполнения календаря в FoxPro, если вы умеете на нем программировать.



Исправлено 1 раз(а). Последнее : lulgu, 28.08.18 14:34
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
AndyNigmatec

Сообщений: 1552
Откуда: Волгоград
Дата регистрации: 28.06.2015
Я ему - Васенька
Он мне - Петенька
(с)


Способ (код) заполнения не имеет значения - разговор идет (вернее шел полгода назад) именно о дальнейшем использовании.
А для начального заполнения - полагаю и ваш вполне подойдет, хотя я ранее делал тупой цикл в котором автоматом помечались дни сб и вс как выходные, а затем ответственный юзверь тупо проставлял сдвиги/праздники - вся эта канитель занимала неск.минут для заполнения всего этого добра на один год вперед.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Да делайте как хотите, надоели.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
lulgu
Да делайте как хотите, надоели.

Ура!
Ratings: 0 negative/2 positive
Re: Узнать количество дней в определенном месяце(?)
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Еще один.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
lulgu
ssa
lulgu
Покажите, пожалуйста, ваш способ заполнения таблицы-календаря, откуда вы сможете делать свои так подробно вами описанные выборки.
На любом сайте, посвященном любому SQL рассказывают про таблицу-календарь и ништяки, которые она даёт. Гуглите, да обрящете.

Кто спорит.
Но в данной теме речь идет о FoxPro.
В FoxPro тоже есть подмножество SQL, если вы ещё не в курсе.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
lulgu
Еще один.

Да не дуй губки, малыш. Всё наладится. ;)
Ratings: 0 negative/1 positive
Re: Узнать количество дней в определенном месяце(?)
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
ssa
В FoxPro тоже есть подмножество SQL, если вы ещё не в курсе.

Ничего не имею против.
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Taran
skuns
П.С. И скунсик у меня на аватарке добрый и жизнерадостный
Ок. Ну тогда за доброту и жизнерадостность.
Олег ты не прав. Скунс в теме один, но воняет же совсем другой


------------------
WBR, Igor
Ratings: 0 negative/2 positive
Re: Узнать количество дней в определенном месяце(?)
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
Igor Korolyov
Taran
skuns
П.С. И скунсик у меня на аватарке добрый и жизнерадостный
Ок. Ну тогда за доброту и жизнерадостность.
Олег ты не прав. Скунс в теме один, но воняет же совсем другой

Да я к тому, что я несколько вызывающе высказывался именно к skuns.
А он не бурчит и не огрызается. А вполне чувствуется серьезность возраста.
В отличие от того, который "воняет же совсем другой". ;)



Исправлено 1 раз(а). Последнее : Taran, 29.08.18 04:55
Ratings: 0 negative/1 positive
Re: Узнать количество дней в определенном месяце(?)
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
lulgu
Покажите, пожалуйста, ваш способ заполнения таблицы-календаря, откуда вы сможете делать свои так подробно вами описанные выборки.
В моем примере нужные вам REPLACE вы легко можете вставить сами.

В каком примере? Никакого примера, как мне показалось, там не было. Пара строк, непонятно, к чему к как относящаяся.
Т.е. как бы нечто абстрактное и ни о чем.
Вообще же говоря, в реальной бухгалтерии, мне например никогда даже не попадалась необходимость составления "годового календаря". Поскольку есть такое понятие "закрытие месяца", в результате каждый месяц создаются новые табеля, куда и прописываются данные по рабочим и прочим дням для каждого работника. Рабочий же календарь соответственно являет собой список месяцев с полями, указывающими число выходных и праздничных дней месяца, рабочих часов и прочего, проставляемых бухгалтером при создании нового месяца. Даже число рабочих дней и часов - не вычисляемая программой отсебятина, а строго спущенные сверху цифры. Ибо там наверху могут к примеру взять просто, да и уменьшить или увеличить то, что ты вычислил сам "чисто логически", и кто виноват будет? Поэтому отсебятина в бухгалтерии никогда не применяется, а вводится все строго по закону, т.е. только спущенное свыше и опубликованное на каком-то гос.портале.
При этом число выходных или праздничных дней вычисляется всего лишь простым подсчетом записей в календаре по условию с использованием скажем функции COUNT. Без всякого на каждый чих прохождения циклом по всем датам года, как ты похоже почему-то упорно считаешь. ;)

Ну ладно, допустим где-то возможно бывает нужно создавать даже и целиком годовой календарь, как список дат. Но это опять-таки одноразовая процедура!
Что-нибудь типа:
CREATE TABLE kalendar (dDate d, vid c(1))
nYear = 2018
dDateN = DATE(nYear,1,1)
DO WHILE YEAR(dDateN)=nYear
INSERT INTO kalendar VALUES (dDateN, IIF(DOW(dDateN,2)=6 OR DOW(dDateN,2)=7,'В',''))
dDateN = dDateN + 1
ENDDO
И все!
После чего ответственное лицо вносит исправления выходных/праздничных дней в соответствии с постановлениями гос.органов, и в дальнейшем при любой необходимости подсчет делается всего лишь функцией подсчета. Скажем что-то вроде:
COUNT FOR vid='В' TO nCntVyh
? 'всего дней: ',RECCOUNT()
? 'из них выходных:',nCntVyh
Зачем же для этого каждый раз организовывать циклы-то? :al:
Об этом-то ведь и шла речь выше.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 2 раз(а). Последнее : Crispy, 29.08.18 08:23
Ratings: 0 negative/0 positive
Re: Узнать количество дней в определенном месяце(?)
Божья_коровка

Сообщений: 25720
Дата регистрации: 23.08.2001
Потом этот "календарь" начинает обрастать всякими полезными функциями. Ведь не всегда нужно посчитать просто кол-во праздничных или выходных дней. К примеру для начисления ЗП нужно проверить дату является ли она праздником или выходным днём. Простой пример, человек вышел работать в выходной день и его начальство накатало служебку о том, что он проработал полный выходной день. Соответственно в его табеле проставляется "восьмёрка" в выходной день и ЗП начисляется согласно ТК по повышенному тарифу. Поэтому частенько пишутся еще функции проверки для разных расчётов, на вход подается дата, на выходе ответ рабочий это день, выходной или праздничный.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...




Исправлено 1 раз(а). Последнее : Божья_коровка, 29.08.18 08:25
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 30 (Гостей: 30)

© 2000-2024 Fox Club 
Яндекс.Метрика