![]() |
![]() |
![]() |
|
Народ, подскажите как сделать учет по декадам? В декаде 10 дней месяца | ☑ | ||
---|---|---|---|---|
0
Gamma
20.01.05
✎
07:15
|
Народ, подскажите как сделать учет по декадам? Декада должна быть забита жестко, то есть при открытии документа выставлялся период выбранной декады. Если 1 то с 1 по 10,
2 - с 11-20 3 - с 21-30 (31) |
|||
1
Де Лопа де Вега
20.01.05
✎
07:21
|
Учет чего?
|
|||
2
427
20.01.05
✎
07:50
|
Яйценоскость бегемотов согласно ГОСТу учитывается в дюжинах дней - декады не покатят.
|
|||
3
Gamma
20.01.05
✎
08:35
|
Для таксопрака нужно написать прогу, в которой учитывались бы деньги водителей: например документ активен на 1 декаду месяца(с 1 по 10 число) в нем в табличную часть каждой строкой заносится каждый
|
|||
4
Gamma
20.01.05
✎
08:39
|
Для таксопрака нужно написать прогу, в которой учитывались бы деньги водителей: например документ активен на 1 декаду месяца(с 1 по 10 число) в нем в табличную часть каждой строкой заносится каждый день и движения денег, то есть водитель принес 5 тысяч и говорит - 1000 на страховку, 1000 на патент, 1000 на ремонт и т.д. Как только декада закончилась документ не должен редактироваться. Декада принципиальна, до этого работали в проге (на FoxPro написана была) которая учитывала по декадам и сейчас хотят на 1С чтоб в том же стиле работала ...
|
|||
5
tonus
20.01.05
✎
08:54
|
(2) Однако, Вы язвите:))
|
|||
6
SKrin
20.01.05
✎
09:09
|
Короче, как я понял, смысл в том, что документ не должен редактироваться после истечения декады в которую он входит.
Напиши функцию, которая расчитывает номер декады исходя из рабочей даты например глНомерДекады(РабочаяДата())=2 При открытии документа проверяй номера декад Даты документа и Рабочей даты, если они не равны, то запрещай редактирование документа. НО при сравнении декад нужно учесть еще ситуацию когда месяц и год документа не сходится с месяцем и годом рабочей даты(номер декады может быть и одним). |
|||
7
tonus
20.01.05
✎
09:21
|
(+6)Самое простое - в обработке проведения документа написать нечто подобное:
Д1=Строка(ДатаДок); Д2=Строка(ТекущаяДата()); Д1=Лев(Д1,2); Д2=Лев(Д2,2); М1=Сред(Д1,4,2); М2=Сред(Д2,4,2); Д = Число(Д2) - Число(Д1); М = Число(М2) - Число(М1); Сообщить(Д); Сообщить(М); Если ДатаДок <> ТекущаяДата() Тогда Если (Д>10) или (М>0) Тогда глНеПроводить(Контекст, "Больше 10 дней"); Возврат; КонецЕсли; КонецЕсли; Должно работать:)) |
|||
8
Diter
20.01.05
✎
09:35
|
(1) А это имеет значение?
|
|||
9
427
20.01.05
✎
10:05
|
как (7) все сложно завернул... А если проще сделать?
|
|||
10
Gamma
20.01.05
✎
11:55
|
а как проще? если есть еще варианты, то поделитесь, плиззз!!!
|
|||
11
Дурочка 1С
20.01.05
✎
12:00
|
Правильно я понимаю задачу: определить дату, которая на 10 больше заданной?
Я люблю такие задачки. Можно я тоже поучаствую в решении? |
|||
12
Gamma
20.01.05
✎
12:07
|
нет надо месяц поделить на 3 декады (по 10 дней) и на каждую декаду создавать документ, в котором будут указаны ежедневные затраты водителей таксопарка
|
|||
13
Дурочка 1С
20.01.05
✎
12:17
|
Может, не стоит заморачиваться с декадами в документах, а отобрать их в отчете?
В запросах есть такая группировка. |
|||
14
Gamma
20.01.05
✎
12:32
|
не, в отчете не пойдет, там именно документ должен быть, как декада закончилась доступ на редактирование документа автоматичеки запрещается
|
|||
15
Дурочка 1С
20.01.05
✎
13:03
|
Зачем оператору знать что такое декада? Его дело по кнопкам шлепать, а не ребусы твои разгадывать.
Идея править один и тот же документ в течении 10 дней порочна по сути. Что мешает завести новый документ не дожидаясь окончания декады. |
|||
16
jbond
20.01.05
✎
13:10
|
(7) - это неправильно. Все гораздо проще
Функция глДекадаМесяца (ДатаД) ДЧ = ДатаЧисло(ДатаД); если ДЧ <= 10 Тогда Возврат 1 иначеЕсли ДЧ <= 20 Возврат 2 Иначе Возврат 3 КонецЕсли КонецФункции еще если нужно глДекадаГода Если рабочая дата и дата документа попадают в разные декады месяца - облом |
|||
17
jbond
20.01.05
✎
13:14
|
По ходу надо заводить документ на одну дату для нескольких водителей.
Т.к. тебе нужно отражать все это дело в регистрах/счетах |
|||
18
Gamma
21.01.05
✎
11:35
|
На одну дату не могу, клиент хочет на 10 дней, извращенцы они какие-то, так бы и не заморачивались, а тут ...
При этом надо чтоб конкретная сумма по конкретной дате хранились, чтоб потом построить отчеты - годовые и т. д. |
|||
19
jbond
21.01.05
✎
11:42
|
В (17) это предусмотрено.
Документ да какую то дату, в табл части - Водитель, Сумма1,... Запрет редактирования, когда мы не в текущей декаде. Делать один документ сразу на 10 дней нельзя |
|||
20
tonus
21.01.05
✎
11:43
|
(16) В принципе, правильно, только перегнула немного, у Вас и правда проще будет))
(18)А так что? Можно по каждому документу сумму смотреть. Какая "конкретная сумма"? Поподробней можно? |
|||
21
jbond
21.01.05
✎
11:45
|
Наверное самое фиговое - это в запросе группировка по декадам.
Если они хотят отчет по декадам. Один из выходов - группировка по дате начала декады глНачалоДекады(ДатаДок) |
|||
22
jbond
21.01.05
✎
11:46
|
(20) - простые решения приходят когда уже найдено более сложное
|
|||
23
Gamma
21.01.05
✎
11:59
|
я знаю что нельзя делать документ на 10 дней, но народ хочет так, я так думаю что есть какой-то вариант... Примерно табличная часть документа должена выглядеть так:
дата Страховка Патент Профвзносы Расход итог т.д. 10.01.05 1000 500 100 100 1500 11.01.05 0 0 0 100 -100 |
|||
24
jbond
21.01.05
✎
12:02
|
Тогда нужно делать обработку.
Там Таблица значений. Полный гемморой однако. |
|||
25
jbond
21.01.05
✎
12:06
|
Так. А на что журнал документов? Там табличную часть можно так сделать. Добавляй графы.
А по водилам учет нужен? |
|||
26
tonus
21.01.05
✎
12:08
|
(23)А не проще им объяснить, что это по крайней мере не очень умно? Я про документ на 10 дней. Можт, им отчетик таким образом показывать: по одному сотру документ за день, потом написать отчетик, отбор за эти 10 дней + сотрудник. Или надо прям документ?
|
|||
27
jbond
21.01.05
✎
12:10
|
Нужно только на форме ЖД выбор декады сделать чтобы удобно было
Список значений: Год, Месяц, Декада. Или Год, Декада |
|||
28
Gamma
21.01.05
✎
12:14
|
и я про тоже, сначала сделали: одна дата - один документ, но так не хотят...просто жуть как требуют свои декады :(
|
|||
29
tonus
21.01.05
✎
12:15
|
В обработке можно печатую форму получить, пусть на бумажку любуются и представляют, что это и есть документ за 10 дней..
|
|||
30
Gamma
21.01.05
✎
12:18
|
уже говорили что это не грамотно, но привыкли в старой программе бабульки работать, но народу, который их проверяет не удобно от них принимать "простыни", отчеты печатают на матричном принтере формата А3!!! Вот и просят модернизировать, а при этом нам такой "гемморой"! Отделаться отчетиками и задавать там декадный период - не пойдет, у них до этого один документ содержал сразу 10 дней
|
|||
31
jbond
21.01.05
✎
12:20
|
Почему они не хотят один документ на один день?
Чем это их не устраивает? Документы заполняются в конце декады на все десять дней или в течении всей декады? |
|||
32
tonus
21.01.05
✎
12:20
|
До этого - на бумажном носителе или в экселе?
|
|||
33
tonus
21.01.05
✎
12:21
|
(+32)Или в какой другой программе автоматизированного учета?
|
|||
34
Gamma
21.01.05
✎
12:22
|
до этого в FoxPro все было реализовано
|
|||
35
jbond
21.01.05
✎
12:24
|
(24)
По водилам аналитика есть? Они не хотят видеть увеличенный номер документа? |
|||
36
jbond
21.01.05
✎
12:27
|
господа не в старой проограмме дело.
Жду ответа на (31), (35) |
|||
37
tonus
21.01.05
✎
12:28
|
Не люблю фокс-про... Можт, они просто таким образом хотят реже подходить к компутеру: экономия времени: за 10 дней 1 док ввел и фсё...
А если в документе ввести поле "Дата", старушки его заполняют, но документ не проводят, потом, по истечении 10 дней проводят, в регистры - итоговая сумма. Но, млин, это глупо... |
|||
38
Gamma
21.01.05
✎
12:28
|
ну вот привыкли, сидят и работают то с этой программой бабульки, а им какие-то изменения - это как ножом по сердцу...
поэтому и не хотят одним днем, в предыдущей программе открывается документ и там выбирается водитель и на него диспетчер - бабулька заносит в течение 10 дней его денежные взносы (страховка, патент и т.д.) и расходы, декада закончилась и документ для редактирования недоступен а потом для формирования отчета выбирается декада или определенный период (месяц или год) и водитель и строится на внесенных наданных отчет... |
|||
39
tonus
21.01.05
✎
12:30
|
Гамма, ответь, правда, сначала на вопросы бонда:)) Много вопросов, Предментная область не изучена, постановки задачи как таковой не видно, зато требования заказчиков яснее ясного: хотим, чтоб было как раньше, но новое...
|
|||
40
Gamma
21.01.05
✎
12:36
|
Почему они не хотят один документ на один день?
- Потому что говорят им принципиально делать все это в декаде, убедить делать документ одним днем не получилось, помешало человеческое упрямство Чем это их не устраивает? - тем что им вроде так удобней, за 10 дней все разнес и сиди довольный Документы заполняются в конце декады на все десять дней или в течении всей декады? - Документы заполняются по мере появления денег, то есть водитель принес деньги, диспетчер открывает (если он в эту декаду еще не приносил денег) на него документ, или ищет уже на него созданный и заполняет, то есть принес тот 5000 и говорит 1000 на страховку, 1000 на расходы и т.д. По водилам аналитика есть? - Есть, по ним строятся отчеты за различные периоды Они не хотят видеть увеличенный номер документа? - думаю если им задать этот вопрос даже не сообразят о чем их спросили |
|||
41
tonus
21.01.05
✎
12:40
|
О как. А глазками похлопать с умным видом? Вмиг бы передумали и сказали: "Решай, как тебе лучше":))
Хотя, имхо, если попыхтеть, то что-нить подобное сделать можно.. |
|||
42
jbond
21.01.05
✎
12:48
|
Ну в общем окончательный дианоз:
делается как в (24). |
|||
43
Gamma
21.01.05
✎
12:54
|
ну так как решить такую проблему...
мне надо создавать документ на 10 дней на каждого водителя, распознавать каждый день декады и суммы, которые он приносил и показывать их в отчете по каждой декаде или дню или месяцу ... |
|||
44
tonus
21.01.05
✎
12:55
|
Ладно, счаслива выполнить ТЗ, а я поехала в командировку на недельку, приеду - почитаю, что надумали:))
|
|||
45
NS
21.01.05
✎
12:56
|
(16)
Функция глДекадаМесяца (ДатаД) ДЧ = ДатаЧисло(ДатаД); возврат цел(ДЧ/3); КонецФункции |
|||
46
NS
21.01.05
✎
12:57
|
(16)
Функция глДекадаМесяца (ДатаД) ДЧ = ДатаЧисло(ДатаД); возврат цел((ДЧ+9)/10); КонецФункции |
|||
47
jbond
21.01.05
✎
12:57
|
Стучись в 236164082
|
|||
48
tonus
21.01.05
✎
12:58
|
Бонд, :)) Еще проще (45). Смотри, так и изначальную проблему легко решить..
|
|||
49
NS
21.01.05
✎
13:01
|
Гемор??? Где гемор... прямо в запросе легко получу декаду... Даже без справочника.
|
|||
50
jbond
21.01.05
✎
13:02
|
За плату бы выполил. За выходные. Я похожее делал.
|
|||
51
Gamma
21.01.05
✎
13:02
|
:) ладно, будем извращаться, что не сделаешь для народа ...
|
|||
52
NS
21.01.05
✎
13:04
|
Какие выходные?
Простейший способ - справочник - декады... пола ДатаНач, ДатаКон, НомерОбщий, НомерВМесяце... Обработка из шести строк для его заполнения... Всё, проблема решена.... |
|||
53
Gamma
21.01.05
✎
13:08
|
предлагаешь делать декады через справочник?
|
|||
54
NS
21.01.05
✎
13:12
|
(53) А в чем-то проблемы?
|
|||
55
Gamma
21.01.05
✎
13:16
|
нет, такой вариант просто рассматривали ... забивали в справочнике декады, а потом в документе выдирали соответсвующую декаду, правда даже пытались автоматизировать процесс распознавания декады, что-то получалось, сейчас точно и не вспомню
|
|||
56
jbond
21.01.05
✎
13:16
|
1) Самый простой вариант без обработки:
Документ с реквизитами: Водитель, Сумма1, Сумма2,... Отбор по Водителю. В журнале - реквизиты выбор декады и водителя. Все. 2) С обработкой. Если не устраивает (1): Теже реквизиты для выбора Водителя, Заполняется таблица значений. По документам из декады. Скорее всего должны быть все даты из декады. В конце редактирования - изменение документов + перепроведение (1) проще (2) и универсальнее. В запросе группировка по декаде (21) |
|||
57
NS
21.01.05
✎
13:19
|
(55) Вручную декады в справочник забивали? Да вы больны...
|
|||
58
NS
21.01.05
✎
13:20
|
(56) И часто у тебя группировка по функции работает?
|
|||
59
jbond
21.01.05
✎
13:27
|
Блин запутался. Имел ввиду группировку по измерению регистра типа
Дата. А при проведении туда запсывается дата начала декада. |
|||
60
jbond
21.01.05
✎
13:29
|
Думаю справочник декад не надо делать. Это надо тогда 3 справочника:
Годы, Месяцы, Декады. Каждый подчинен следующему. |
|||
61
jbond
21.01.05
✎
13:30
|
точнее предыдущему
|
|||
62
NS
21.01.05
✎
13:30
|
(59) По справочнику (измерение) даже быстрее будет работать.
Только с фильтром (условием) похуже будет... |
|||
63
Gamma
21.01.05
✎
13:31
|
зачем в ручную.....!!!!
|
|||
64
NS
21.01.05
✎
13:32
|
(60) не понимаю, зачем три? Справочник на 360 элементов - забиты декады на 10 лет вперед.
|
|||
65
jbond
21.01.05
✎
13:32
|
Группировка по функции - это фича FireBird
|
|||
66
NS
21.01.05
✎
13:33
|
(63) А зачем декаду распозновать? В ней же реквизиты есть, я же нарисовал.
А в наименование - периодстр() |
|||
67
jbond
21.01.05
✎
13:38
|
Специально по требованию Gamma и школьников в запросах 1с должны ввести Группировка Декада, Группировка Четверть, Группировка Полугодие
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |