1c8 не пишет в регистр накопления #518320


#0 by Fr1eNd
Столкнулся со странной проблемой, дописывая простой управленческий учёт, не пишет регистр накопления (обороты) причём в одной конфигурации работает как часы, а в другой всё тоже самое не хочет, ниже код причём никаких ошибок не выдаёт, в отладчики всё заполняет ни на что не ругается, конфигурация БП 2.0, вчём может быть затык?
#1 by Живой Ископаемый
как понял что не пишет? :)
#2 by Fr1eNd
нет записей в регистре, отчёты не формируются))
#3 by КМ155
писать то пишет, но без активности
#4 by НЕА123
подчиненных спроси. ЗЫ. это я в личку глянул.
#5 by denis_jj
1. А что у вас с режимом совместимости 8.1 и 8.2 ? 2. В какой процедуре этот код? 3. Откуда происходит проведение (из формы документа, из формы списка, програмно или ещё как)?
#6 by Шапокляк
Может какой добрый человек отключил использование итогов, а потом забыл включить?
#7 by Живой Ископаемый
2 это не должно мешать записи записей РН.
#8 by Defender aka LINN
Пипец. И где вас так учили движения документа делать?
#9 by DrShad
вот же сволочь какая! это ж надо
#10 by Широкий
Это в обработке проведения что ли?
#11 by Шапокляк
см
#12 by Maxus43
Активность по умолчанию истина, не?
#13 by Живой Ископаемый
2 см. - говорит нет записей в регистре... Правда может он не так смотрит как я бы смотрел...
#14 by redbull
Движение.Регистратор = Ссылка?
#15 by Шапокляк
да... наверно КМ155 его подчиненный? Сложно у них все в этом отделе продаж.
#16 by redbull
ты не делаешь запись документа? Потому, что у документа есть Движения и при записи он затирает все записи в БД тем что у него в свойстве Движения
#17 by Maxus43
+1
#18 by DrShad
садись два
#19 by Serginio1
Мне нужно было перепроводить только по одному регистру, поэтому должна была отдельно работатьУ меня так работает
#20 by redbull
два-то за что?
#21 by Fr1eNd
про свойство движения знаю, вызов происходит из обработки проведения, в другой базе код нормально отрабатывает и всё пишет Активность по умолчанию истина садись 2 Движения здесь не при чём
#22 by Fr1eNd
ты тоже самое делаешь только из таблице значений
#23 by Fr1eNd
и как бы ты смотрел запросом к базе
#24 by Maxus43
Резюмируем - Чудес не бывает (с)
#25 by luckyluke
вопрос в другом, нахрена ты делаешь НаборЗаписей, если можно юзать движения. отладчик то запускал? У тебя этот код хоть выполняется? почему десь "Движение.Сумма = ЭтотОбъект.Ссылка.СуммаДокумента;" надо обращаться через ссылку к реквизиту объекта? Почему нельзя у объекта его взять?
#26 by Maxus43
Хоть и криво, но работать то должно
#27 by Живой Ископаемый
2 не смотрел бы запросом к базе.. смотрел бы через списко РН с отбором.
#28 by luckyluke
поэтому и спрашиваю, выполняется ли у него этот код, мог выдрать код и сюда скопипастить, а перед кодом условие не выполняется... а по поводу обращения через ссылку ради праздного любопытства.
#29 by Serginio1
не совсем смотри УстановитьДопЗначенияРегистров
#30 by Fr1eNd
Ещё раз повторяю в другой базе с аналогичной конфигурацией всё работает и так конечно тоже смотрел этот код отладочный просто что бы проверить идёт ли запись в регистр потом код использовался бы в Подписки на событие там как раз и нужно и Набор записей и  ссылка на объект если бы код был просто выдран отладчик бы не пускал бы в него при не выполенние условия + условий никаких нет код просто добавлен в конце обработки проведения
#31 by Fr1eNd
щас гляну не заметил(
#32 by Maxus43
регистр подчинён этому регистратору? Прочитать после отбора ещё на всякий
#33 by Живой Ископаемый
2 да ну, зачем? Он просто устанавливает отбор чтобы движения привязывались к регистратору. Читать он не хочет
#34 by Живой Ископаемый
а вот если он регистр "не подчинен" то да, может иметь значение
#35 by Maxus43
Лучше перебдеть чем недобдеть)
#36 by luckyluke
запусти в режиме отладки, поставь точку останова и проверь проходит ли код эти строки или нет.
#37 by Serginio1
Для  оборотов немного другой набор дополнительных полей. Смотри какие в Тз есть поля. Обычно РегистрыНакопления.ууДоходыРасходы.СоздатьНаборЗаписей.СкопироватьКолонки
#38 by denis_jj
Думаю дело в следующем: Если этот код в ОбработкаПроведения то набор создается и записывается верно, но при выходе из процедуры происходит неявная запись набора из коллекции Движения документа. А в этом наборе пусто, поэтому то, что было записано кодом просто затирается пустым набором.
#39 by Fr1eNd
Благодарю, попробую. Живой Ископаемый скорей Живой ископаемый жирный тролль)
#40 by luckyluke
ну да, скорей всего так и есть...
#41 by Fr1eNd
вот так проканало, теперь другой вопрос, как сделать это же в подписки на событие
#42 by Живой Ископаемый
на какое событие будешь вешать? Если на проведение, то почти также:
#43 by denis_jj
получить у объекта набор через Движения, заполнить и всё...
#44 by Fr1eNd
уже так и сделал
#45 by Fr1eNd
хотя в другой базе набор записей работает, странно, что сдесь не проканало)))) Всем спасибо за помощь p.s    Живой Ископаемый Не Троль))))
#46 by denis_jj
алгоритм записи наборов может меняться в зависимости от режима совместимости 81/82, настроек документа и пр. я у вас спрашивал в . Если ответите, смогу подробнее объяснить особенности.
#47 by Fr1eNd
отвечаю типовая БП 2.0 1. режим совместимости не используется; 2. Код в обработке проведения или в подписки на событие Обработкапроведения) 3. Обработка проведения - модуль объекта Если можете пояснить особенности очень пригодиться в дальнейшей работе, вероятно не только мне.
#48 by denis_jj
Особенности 8.2 в следующем: 1. У наборов записей появилось свойство Записывать. Если набор после выхода из процедуры проведения необходимо записать, это свойство должно быть установлено в Истина. 2. Записи в наборах нужно очищать принудительно, используя метод Очистить. Связано это с тем, что при проведении из формы толстого клиента Объект создается при открытии формы и набор движений будет накапливать те записи, которые в контексте формы будут созданы. Т.е. если несколько раз перепровести документ в форме и не очистить набор - записи задублируются. Если же перепроводить из формы тонкого клиента или из формы списка, то набор будет очищаться атоматически, т.к. при таких режимах проведения Объект и его коллекция движений создается неявно в момент проведения. 3. Запросы в контексте процедуры проведения учитывают записи, которые записаны в в этой процедуре. Другими словами, если вы использовали метод Записать для набора из коллекции Движения, а потом получаете данные запросом, то то что вы записали уже есть в базе данных и вы будете получать это вашим запросом. После записи набора флаг Записывать автоматически сбрасывается и если вы вносите изменения, которые должны быть записаны, то следует снова установить этот флаг в Истина. 4. При получении данных для контроля остатков запросами необходимо явно накладывать блокировки на те ресурсы, чьи остатки вы контролируете и будете изменять в процессе проведения. Связано это с тем, что в некоторых ситуациях при параллельной работе можно получить не верные данные. Вот вроде как-то так. Может что-то забыл.
#49 by Fr1eNd
спасибо, знал только про флаг Записывать
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С