Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   ЗиК отпуск по уходу (http://forums.kuban.ru/f1040/zik_otpusk_po_uhodu-2016059.html)

Okhara 04.01.2012 05:14

ЗиК отпуск по уходу
 
25,релиз 314. Люди, подскажите, пожалуйста, как вывести человека из отпуска по уходу за ребенком? уже все сроки вышли,а статус не меняется.

Гена 04.01.2012 10:10

нам нужна история только одного, но важного реквизита - Состояние Физлица...

щёлкните по кнопке Истории и давайте сюда добуквенно все строки:
Дата ... Установлено документом ... Состояние физлица

начиная с Больничного листа №ххх

табличку чётко и без своих комментариев...

Гена 04.01.2012 10:56

Вы сами не мучайтесь - дайте только первоначальную информацию, а дальше мы разберёмся как работает компонента Расчёт с записью периодического реквизита по времени...

и Вы всегда сможете разруливать подобные случаи своей практики...

victuan 04.01.2012 13:48

компонента Расчет к записи периодических реквизитов отношения не имеет...

Гена 04.01.2012 14:52

имеет

Гена 04.01.2012 14:58

я не знаю как это делается физически...

но я вижу последствие и делаю вывод... если угодно, я вижу результат на выходе из чёрного ящика Компоненты...

Гена 04.01.2012 15:09

а результат простой - время записи периодического реквизита компонента прописывает лишь в одном случае - когда формирующий документ имеет ту же дату записи периодического реквизита...

на пальцах:
Док1_ Дата1
пусть записывает периодический реквизит...

стоит реквизиту записываться Дата_1 как есть время... это видно по ПЕРЕПРОВЕДЕНИЮ документа...

стоит реквизиту записываться на другую дату - время щёлкается 00:00 и хоть обпроперепроводись...

Гена 04.01.2012 15:21

я к чему... зная поведения чёрного ящика - самой компоненты мы можем решить любую задачу...

где возникают они?
да вот же - когда мы имеем доки, прописывающию реквизиты на ДВЕ даты...

это доки б/л по декретному БиР и док ОУ...

они чешут два реквизита Состояния - на начало и на конец...

Компонента может регулировать время записи только на начало... согласитесь, что время записи реквизита конца компонента отошлёт ВСЕГДА на 0:00

Гена 04.01.2012 15:38

я к чему... зная поведение компоненты - мы всегда отрегулируем результат ранее ошибочного проведения доков...

заставим сработать периодический реквизит на запись выше-ниже в истории простым изменением даты самого программного дока...

Гена 04.01.2012 15:52

в данной задаче - я почему просил историю реквизита...
чтобы понять - можно ли простым перепроведением дока, шарашивающего два ВРЕМЕННЫХ изменения подвинуть неправильную запись...

если дата дока не совпадает с датой истории, то можно проводить его до бесконечности... компонента Расчёт ка пробила время 0:00 - так и есть...

victuan 05.01.2012 07:00

6-Гена >Вы ящики перепутали.
Еще раз: Компонента Расчет к периодическим значениям отношения не имеет.
7-Гена >Отключите совсем компоненту Расчет и повторите проведение. Ничего не изменится в поведении записи пер.рекв-ов.

victuan 05.01.2012 07:27

Возьмите типовую конфигурацию "[b]Бухгалтерский учет, редакция 4.5[/b]" - в ней компонента [b]Расчет[/b] не используется и пусть она будет отключена в вашей [b]платформе[/b] 1С.
Возьмем документ [u]"Начисление амортизации"[/u]. В модуле проведения его есть код:
[em]УстановитьРеквизитСправочника(ОС, "БазоваяСтоимость", ОстаточнаяСтоимостьКон, ДатаДок[b] + 1[/b]);[/em]
Т.е. периодический реквзизит справочника записывается не на дату документа. Смоделируйте ситуацию, чтобы сработал этот кусочек кода и увидите, что в записи периодического реквизита время отсутствует, а вот при проведении документа "[u]Ввод в эксплуатацию ОС[/u]" время при записи периодических реквизитов будет установлено, т.к. дата их записи совпадает с датой документой. Но ведь компонента Расчет остутсвтует!
Значит ваша гипотеза неверна. Вы не учли, что в вашей задаче черных ящиков как минимум два - один (компонента [b]Расчет[/b]) находится внутри другого ([b]платформа[/b] 1С) и вы не смогли определить на выходе какого ящика получили сигнал.

Гена 05.01.2012 10:17

не нервничайте... я принимаю Вашу поправку... я не специалист...

просто я увидел, что время работает только при наличии совпадения даты самого дока и даты записи периодики...

это реальность, если Вы считаете, что это не компонента, то остаётся тогда один вывод - это уже платформа 1С 7.7

согласны?

Гена 05.01.2012 10:37

я что хочу сказать... идеального бухгалтера не существует... ошибки неизбежны... не буду даже приводить известную мысль про "не ошибается только тот..."

у меня сложился опыт, что подавляющее число ошибок сделано при введении-отменении доков БиР и ОУ...
больничных по беременности и родам и отпусков по уходу за ребёнком до 3-х лет (1.5)

в основном перепутка периодики Состояния физлица происходит из-за кесарева сечения... Вы уж простите меня за такие подробности физиологии... сами напросились...

по не отменённым правилам даже супругой министра Христенко за любое кесарево дают 16 дней продолжения БиР...

ещё раз: в ЗиКе только два дока, которые бьют периодику на две даты: начало и конец...
это БиР и ОУ...

если мы знаем как работает чёрный ящик, я подумал на компоненту Расчёт, Вы мне доказали, что это платформа 7.7 - мы мгновенно исправим любую ошибку пользователя...

Гена 05.01.2012 10:53

немного добавлю... это не я должен вам объяснять, это вы мне должны объяснять, как работает платформа...

я бухгалтер, вы программист...

я никогда не уходил из лаборатории, не поставив последнюю точку на графике эксперимента...

объясните мне - где и как прописывается время периодического реквизита?

Гена 05.01.2012 11:43

расслабьтесь в поиске...
я ж теоретик и умею анализировать чёрный ящик...

нет никакого времени в 7.7

перестановка записи вверх-низ может происходить только при наличии программной даты регистратора

Гена 05.01.2012 11:58

по принципу перезаписи ФИФО...

а когда дата документа регистратора не отвечает дате изменения периодики... то и перезаписи нет... просто запсись ложится в порядке очереди, не теснив предыдущую...

на пальцах:
переповедя док ОУ Вы можете только сдвинуть зписи в истории начала... а дата конца, не совпадающего, естественно, с датой самого дока - останется на верхней строке истории...

Гена 05.01.2012 12:11

у меня такое впечатление, что я один говорю... :)

если наши рассуждения верные, то мы можем исправлять ошибки пользователя достаточно просто... сначала внешней обработкой менять запись истории на любую дату перед концом её действия... затем перепроводить наш двуязычный док...

правда мусором останется уже ненужная наша запись в истории...

делитом её :)

victuan 05.01.2012 14:16

Так и есть - Вы сами с собой разговариваете. Мне объяснять не надо. У меня другая теория: если время не указано, значит время 00:00:00. Вот поэтому записи "со временем" лежат после записи "без времени".
Эту траблу я поймал еще лет 10 назад. Когда в ТИС делал возможным проводить переоценки товара по нескольку раз в день - ручная запись истории очень мне мешала (т.к. не имела времени), пришлось разрешить изменение цены только документом.

victuan 05.01.2012 14:22

Но все-таки идея интересна - две конфликтующие записи "без времени" в один день - в каком порядке они расположатся? Раньше я об этом не задумывался - не было на практике задач, позволяющих это сделать.

Гена 05.01.2012 14:25

Вить, вот ты вроде нормальный...
я бухгалтер - ты программист...

разберись с вопросом - я его понятно поставил?

victuan 05.01.2012 14:33

Прикольно.
1) "ручные" изменения пер.рек-та встают (в пределах одной даты) раньше изменений документом
2) изменения документом "без времени" (в пределах одной даты) встают по времени в порядке создания документов (но не расположения их по хронологической оси).
Т.о. меняя порядок проведения документов, изменить порядок следования значений пер.рекв-тов в одной дате не удастся.
В общем-то, и всё.

victuan 05.01.2012 14:37

Поэтому если создадим НОВЫЙ документ и запишем им значение на КОНЕЦ, то оно и будет действовать среди прочих значений на [u]эту же дату[/u], записанных РАНЕЕ созданными документами.

victuan 05.01.2012 14:42

Значит значение на КОНЕЦ будет действовать того документа, который СОЗДАН позже. И последовательность проведения документов и перестановка их даты никак не сможет повлиять. Это мудро, даже если и получилось разработчиками платформы случайно.

Гена 05.01.2012 14:44

Вить, ты мне выводы давай, а не охи, вздохи, пуки на скамейке...

victuan 05.01.2012 14:45

25-Гена >Я дал выводы, что еще окромя я дал?
Или я не понял задачу?

Гена 05.01.2012 15:00

ты мне не ответил:
1. есть ли время периодики, которая прописывается в 7.7 ?
2. если время не прописывается, то мы это не знали? нас изначально дурачили, подписывая на ущербную платформу?

victuan 05.01.2012 15:01

27-Гена >
Понял. Щас исправлюсь.

Гена 05.01.2012 15:06

то, что ты навводил на вход ЧЯ и получил на выходе - я сто лет сожрал и высрал...

ответь на мои вопросы - либо ты полный балабол для меня...

victuan 05.01.2012 15:14

1. есть
2. время прописывается

Гена 05.01.2012 15:20

где прописывается физически?
ты работаешь в дбф или скл?

Гена 05.01.2012 15:28

Вить, не воспринимай гадом...

я дейстаительно могу рассказать, как аспиранты по одному слову "ставили на уши" лабораторию типа "Гена скзал"...

но вот когда приходит ко мне мысль... теоретическая...
я не знаю - как получается, что мне верят...

ты не первый, и не последний...

можешь меня пристрелить, но я пока не понял как работает ЧЯ платформы 1С...

мне надо подумать...

Гена 05.01.2012 15:43

подумал...

я могу задать тлько один вопрос разработчику платформы 1С...

был такой ник Майк_2104
он сначала выбрал ник по марке своего автомобиля... потом сменил автомобиль, а папа_1 Нургалиев забрал его в отдел "К" фирмы 1С... и он грамотно организовал процесс...

я к чему - Миша, так прописывается где-нибудь в семёрочной платформе время?

victuan 05.01.2012 16:27

Я ходил выпить. Праздник как-никак...
Я в дбф смотрел. В СКЛ наверняка то же самое.
Что спросить-то хотел?

victuan 05.01.2012 17:01

Короче, на примере одного периодического реквизита энного справочника получаем следующую картинку следования значений его реквизитов в истории:
[img]http://s002.radikal.ru/i198/1201/a6/92e0820c8885.jpg[/img]
Значения реквизита построчно:
1. Значение, установленное вручную
2. Значение, установленное первым созданным документом, дата которого не соответствует дате значения
3. Значение, установленное вторым созданным документом, дата которого не соответствует дате значения
4. Значение, установленное документом, дата которого соответствует дате значения.

Структура файла 1sconst.dbf, в котором сохранилась история изменения периодического реквизита:
[url]http://s017.radikal.ru/i437/1201/6b/2f13835006a3.jpg[/url]
Приведу соответствие строк с предыдущей картинкой:
1) 3 (документ № 2, дата реквизита не соответствует дате документа)
2) 1 (значение, установленное вручную)
3) 2 (документ № 1, дата реквизита не соответствует дате документа)
4) 4 (документ № 3, дата реквизита соответствует дате документа)

victuan 05.01.2012 17:02

вторая картинка не удалась:
[img]http://s017.radikal.ru/i437/1201/6b/2f13835006a3.jpg[/img]

Sadovnikov 05.01.2012 17:06

36-victuan > А теперь загляни в скуль и удивись- там другая структура таблицы _1SCONST. :)

victuan 05.01.2012 17:11

Глубже залезть в потроха 1С я не могу, но могу предположить, что пер. рекв-ты сортируются в следующем порядке:
1) TIME
2) DOCID
Исследование закончено.

victuan 05.01.2012 17:12

37-Sadovnikov >Ну разъубдеди меня.

Sadovnikov 05.01.2012 17:13

В чем? В скуле колонка Date_Time_IDDOC.


Текущее время: 06:38. Часовой пояс GMT +3.