Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
Есть реквизит документа "Стоимость" . В процедуре проведения этому реквизиту присваивается итоговое значение суммы регистра накопления "Остатки материалов". Если зайти в документ и провести его то значение присваивается,а если проводить стандартной обработкой проведения то не присваивается. Как это можно исправить?
скорее всего ВАША процедура находится в модуле формы, а не в модуле документа такая процедура будет срабатывать только если Вы откроеТЕ документ и проведеТЕ, но не будет срабатывать если Вы будеТЕ проводить программно необходимо перенести данную процедуру в модуль документа
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
Цитата(Agapov_Stas @ 05.08.13, 9:38)
скорее всего ВАША процедура находится в модуле формы, а не в модуле документа такая процедура будет срабатывать только если Вы откроеТЕ документ и проведеТЕ, но не будет срабатывать если Вы будеТЕ проводить программно необходимо перенести данную процедуру в модуль документа
Спасибо конечно за совет, но процедура в модуле документа. Чудеса какие-то.
!
Правила, п.13
Может все из-за того, что этот реквизит вытащен на форму?
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
Как нет в реквизитах ? Это и есть реквизит "Стоимость". В модуле документа, не в процедуре ПередЗаписью, не в процедуре Проведения, с помощью проведения документа ИзВне я не могу изменить значение этого реквизита, только когда захожу в документ и провожу внутри. Это какие-то особенности программы что ли?
Как нет в реквизитах ? Это и есть реквизит "Стоимость". В модуле документа, не в процедуре ПередЗаписью, не в процедуре Проведения, с помощью проведения документа ИзВне я не могу изменить значение этого реквизита, только когда захожу в документ и провожу внутри. Это какие-то особенности программы что ли?
Когда Вы проводите "ИзМне" тогда срабатываю процедуры которые находятся в модуле документа(!)- поместите код в процедуру ПередЗаписью() и будет Вам счастье А если код срабатывает ТОЛЬКО когда вы заходите в документ и проводите внутри - это говорит о том, что код находится в модуле ФОРМЫ - это разные вещи
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
Цитата(Agapov_Stas @ 07.08.13, 9:57)
Когда Вы проводите "ИзМне" тогда срабатываю процедуры которые находятся в модуле документа(!)- поместите код в процедуру ПередЗаписью() и будет Вам счастье А если код срабатывает ТОЛЬКО когда вы заходите в документ и проводите внутри - это говорит о том, что код находится в модуле ФОРМЫ - это разные вещи
Вы меня конечно извините, но я писал уже не раз, что процедуры все в модуле документа. Делал так: В процедуру ПередЗаписью() вставлял Функцию типа ОпределитьСтоимость(), в этой функции запросом выбирал из регистра накопления итог по измерению Сумма и присваивал его переменной (реквизиту) Стоимость.
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(alexkhua @ 07.08.13, 10:53)
но я писал уже не раз, что процедуры все в модуле документа
Нет такого понятия "Модуль документа", есть Модуль объекта и Модуль формы.
Цитата(alexkhua @ 07.08.13, 10:53)
ПередЗаписью() вставлял Функцию типа ОпределитьСтоимость(), в этой функции запросом выбирал из регистра накопления итог по измерению Сумма и присваивал его переменной (реквизиту) Стоимость.
У вас перед записью объекта еще нет в базе, какую стоимость вы пытаетесь получить? Суть проблемы до сих пор не понятна. Ну и в любом случае то как вы поступаете это не правильно.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
Цитата(logist @ 07.08.13, 11:37)
У вас перед записью объекта еще нет в базе, какую стоимость вы пытаетесь получить? Суть проблемы до сих пор не понятна. Ну и в любом случае то как вы поступаете это не правильно.
Я понимаю, что менять реквизит при проведении это не правильно, но нужно бухгалтеру, что б он был в списке документов. Не пересчитывать же значение каждый раз при открытии формы списка.
Цитата(logist @ 07.08.13, 11:37)
У вас перед записью объекта еще нет в базе, какую стоимость вы пытаетесь получить?
Я вставил в модуль объекта Записать(), а потом выбираю значение регистров.
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Vofka @ 07.08.13, 16:40)
А надо в ПередЗаписью()
Нет. Это не шутка юмора, человек считывает данные из регистров уже после проведения документа (данные этого же документа), но почему-то в ПередЗапсью. Вообще, я перечитал тему пару раз и так и не понял, где и что записывается. Всё я удаляюсь, без примеров кода говорить больше не о чем.
Личные бесплатные консультации не даю, для этого есть форум!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!