Проблема. Надо отследить статус документа.
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
nOnAME Участник со стажем
Вступление в Клуб: 25.01.2011
|
Чт Май 05, 2011 12:03  Проблема. Надо отследить статус документа. |
|
Полезность: Нет оценки
|
Суть проблемы в следующем:
Создал собственную структуру. К ней привязал счета (стандартные из Фин. счета). Написал операцию для контроля элементов этой структуры в зависимости от проводок по счету(который я привязал). Т.е. в структуре 5 элементов, по привязанному счету создан платежный документ, в структуре стало 4 (ну или 6) элементов. Беда в том что при создании платежного документа у него статус "Не обработан", а число элементов структуры уже уменьшилось/увеличилось. А хотелось бы, что бы только после того как документ был проведен (причем не обязательно из моей операции, а допустим др. юзером), то только после этого число элементов увеличилось или уменьшилось.
Вообщем, если кто понял суть проблемы и имеет какие нибудь мысли по этому поводу, прошу помочь. |
|
 |
Alex2019 Профи
Вступление в Клуб: 02.07.2007
|
Чт Май 05, 2011 12:54   |
|
Полезность: Нет оценки
|
Не уверен, что все правильно понял.
В какой момент изменяется количество элементов (что это? м.б. экземпляров?) структуры? И кто/что производит это изменение? Разве нельзя там же анализировать состояние документа?
И дополнительно: может быть в хуке MD_FOR_PROV_1 проводить анализ на счета, состояние документа (и т.п.) и только после этого делать изменения в структуре? |
|
 |
nOnAME Участник со стажем
Вступление в Клуб: 25.01.2011
|
Чт Май 05, 2011 13:21   |
|
Полезность: Нет оценки
|
Цитата: | Не уверен, что все правильно понял.
В какой момент изменяется количество элементов (что это? м.б. экземпляров?) структуры? И кто/что производит это изменение? Разве нельзя там же анализировать состояние документа? |
Речь идет именно о количесте, допустим золотые слитки. Спец счета для них нет, а учитываются они на счете где и без них хватает мусора. Соответственно для них создана структура вида: Счет(на котором они хранятся), Количество.
Это позволяет учитывать количество слитков именно на этом счете.
Допустим операционист делает проводку/платежный документ на продажу этого слитка. После чего сформировался платежный документ, если он удачно сформирован, то число слитков уменьшается на 1, иначе документ просто не создается.
Документ создается в статусе Не обработан. Соответственно, кассир или еще кто, имеет возможность перевести его в статус Проведен. И вот хотелось бы, чтобы только после того, как касир поменял статус документа на Проведен произошло уменьшение числа слитков.[/quote] |
|
 |
Alex2019 Профи
Вступление в Клуб: 02.07.2007
|
Чт Май 05, 2011 13:33   |
|
Полезность: Нет оценки
|
Стало заметно понятнее. Кроме вот этого:
nOnAME пишет: | Допустим операционист делает проводку/платежный документ на продажу этого слитка. После чего сформировался платежный документ, если он удачно сформирован, то число слитков уменьшается на 1, иначе документ просто не создается. |
Как операционист создает документ? штатным конструктором? Тогда что изменяет количество слитков? какой-то хук, видимо?
Вопрос: требуется ли изменять это количество при создании документа? Если да (например, чтобы не продали уже оформленный, но не проведенный слиток), то может быть в структуру добавить еще один реквизит? Т.е. будет плановое и фактическое количество слитков. Соответственно, существующий реквизит будет меняться существующим же образом, а новый - при проводке. Если же достаточно только фактического учета по проведенным - просто изменить момент вызова функции обработки структуры из хука конструктора в хук проводки.
Интересно, как у вас решена проблема отката? а если необработанный документ удаляется, что пересчитывает структуру? ведь в деструкторе хука нет. |
|
 |
nOnAME Участник со стажем
Вступление в Клуб: 25.01.2011
|
Чт Май 05, 2011 13:55   |
|
Полезность: Нет оценки
|
Операционист делает документ из созданной мною операции, где я использую обычный MAIN_DOCUM.NEW#AUTO. Т.е. он просто выбирает слиток и жмет OK. Счета подставляются/формируются мною же, по определенным параметрам. Соответственно по результату данной операции, если документ создан, я вычитаю из числа слитков 1.
Структура отката...в планах было так, если документ проведен, то отката не происходит. А сейчас, сам задумался над этим делом. |
|
 |
Alex2019 Профи
Вступление в Клуб: 02.07.2007
|
Чт Май 05, 2011 14:52   |
|
Полезность: 1
|
Тогда мне представляется, что лучше изменение значения поля структуры перенести в хук MD_FOR_PROV_1. А откат вероятно получится анализировать только в MD_DO_TRANS_1.
Если же есть необходимость пересчитывать количество (плановое) и при создании документа, то откат видимо нужно делать через MD_DELETE#AUTO |
|
 |
nOnAME Участник со стажем
Вступление в Клуб: 25.01.2011
|
Чт Май 05, 2011 15:53   |
|
Полезность: Нет оценки
|
Да, на уме щас такие же идеи)
Ладно, буду пробовать. Спс. |
|
 |
vadim.corostelev Участник
Вступление в Клуб: 06.05.2011
|
Ср Май 11, 2011 04:40   |
|
Полезность: 1
|
Может, попытаться подойти к проблеме с другой стороны?
Например, в структуре фиксировать не количество, а ссылки на фин.документы.
А там, где вы используете структуру для показа количества слитков (отчет, представление) подсчитывать проведенные документы.
Получаем полную свободу в движении документов, не надо никаких хуков, сопровождаем только свои операции и представления. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|