Зик 297. Как создать запись перерасчета программно? #487172


#0 by maxim305
Суть проблемы: В журнале расчетов необходимо заменить один вид расчета другим (атрибут "ВидРасч"). Было принято решение удалить старую запись, а затем создать новую с такими же атрибутами, только вид расчета другой. Все хорошо, но программно не получается создать запись перерасчета! Оказывается атрибуты "Перерасчет" и "ПервичнаяЗапись" только для чтения! Подскажите, как можно обойти это ограничение?
#1 by de Bug
ЖР.УстановитьРеквизит
#2 by maxim305
Написана процедура для создания новой записи: Старые записи перерасчета удаляются, а новые не создаются!
#3 by maxim305
После того как закомментировал строчки: записи стали создаваться, но без "стрелочки", то есть с признаком Перерасчет = 0!
#4 by de Bug
Метод верный. НПервичнаяЗапись мне не нравится. Она не может быть 0. Это ссылка.
#5 by maxim305
согласен, значение по умолчанию для НПервичнаяЗапись уберу.. Но все таки, не могу понять почему не создаются записи с признаком Перерасчет=1 ?
#6 by de Bug
Ты в заголовке процедуры объявил, что НПервичнаяЗапись - это число. Система при вызове неявно приводит ссылку к числу. В общем, попробуй. Должно работать.
#7 by maxim305
Не выходит! Убрал все значения по умолчанию в заголовке процедуры, записи перерасчета не создает все равно!
#8 by de Bug
Почему-то работает. Что я не так делаю? :-)
#9 by maxim305
Правда что :) Я в шоке.. Могу код привести:
#10 by maxim305
В ТаблицеРасчетов содержаться "старые" и "новые" расчеты. Т.е. какой на какой нужно заменять.
#11 by de Bug
Че-то ничего не понимаю... Зачем бесконечный цикл Пока ВыбратьЗаписи? Зачем их вообще выбирать, если они выбираются запросом? НовыйРасчет ищется в Таблице, нашли - не нашли, все равно вводится новая запись... В общем, сам воюй со своим кодом. Должно работать, и точка. :-)
#12 by maxim305
Цикл нужен, чтобы понять, когда добрались до самого первого периода в ЖР. Я понял в чем может быть причина Когда я создаю новую запись, а затем удаляю, я не учитываю следующее: вдруг эта запись является первичной для перерасчета в будущем? Когда я ее удаляю в перерасчете атрибут "ПервичнаяЗапись" начинает ссылаться на несуществующую запись (т.к. я ее убил). Может такие перерасчеты затираются. Проверю это..
#13 by maxim305
А новый расчет найдем обязательно, это просто код не продуман до конца.. :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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