|
изменение движения операции |
☑ |
0
НубВ1С8
14.10.14
✎
12:49
|
надо в документе Операция заменить все бух счета с одного на другой, субконто частично взять старое, частично установить определенное.
делаю:
&НаСервере
Процедура изменитьСчетНаСервере()
Набор=РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(операция);
Набор.Прочитать();
Набор.Записывать = Истина;
для каждого движение из Набор цикл
если движение.СчетДт = планысчетов.Хозрасчетный.ПремияТранзитРуб тогда
СубконтоДт1 = движение.СубконтоДт.КонтрагентыАгенты;
СубконтоДт2 = движение.СубконтоДт.Договоры;
//движение.СубконтоДт.КонтрагентыАгенты= NULL;
//движение.СубконтоДт.Договоры =NULL;
Движение.СчетДт = планысчетов.Хозрасчетный.РасчетыСАгентамиРуб;
движение.СубконтоДт.Агенты = СубконтоДт1;
движение.СубконтоДт.ВидыСтрахования = справочники.КонтВидыСтрахования.ОСАГО;
конецесли;
конеццикла;
Набор.Записать(истина);
Оп= операция.ПолучитьОбъект();
оп.Записать(РежимЗаписиДокумента.запись, режимпроведениядокумента.Неоперативный);
КонецПроцедуры
при Набор.Записать(истина); вылетает с руганью: "Запись не верна! Вид субконто "Контрагенты, агенты" не доступен для данной записи!"
Что я делаю не так?
|
|
1
Nenaviwu1c20
14.10.14
✎
12:55
|
Это значит что устанавливаемый тобою новый счет не имеет субконто "Контрагенты, агенты"
|
|
2
hhhh
14.10.14
✎
13:09
|
а так?
Движение.СчетДт = планысчетов.Хозрасчетный.РасчетыСАгентамиРуб;
движение.СубконтоДт.КонтрагентыАгенты = НЕопределено;
движение.СубконтоДт.Агенты = СубконтоДт1;
движение.СубконтоДт.ВидыСтрахования = справочники.КонтВидыСтрахования.ОСАГО;
|
|
3
mikecool
14.10.14
✎
13:10
|
(2) так будет та же ошибка
везде при работе с субконто используется цикл по метаданным
|
|
4
Maxus43
14.10.14
✎
13:11
|
>>везде при работе с субконто используется цикл по метаданным
|
|
5
Maxus43
14.10.14
✎
13:12
|
проще юзать типовые БухгалтерскийУчет.УстановитьСубконто(...) и подобные
|
|
6
Maxus43
14.10.14
✎
13:13
|
З.ы. имхо лучше выгрузить движения, очистить набор и добавлять движения новые из ТЗ, уже изменённые
|
|
7
НубВ1С8
14.10.14
✎
13:15
|
(2) да! но я пробовал ставить Неопределено, Null в движение.СубконтоДт.КонтрагентыАгенты, все равно ругается.
(3) так что делать? я меняю счет, меняю субконто... в отладчике старые очищены... не понимаю =(
|
|
8
НубВ1С8
14.10.14
✎
13:15
|
(6) уже думаю об этом.
|
|
9
Maxus43
14.10.14
✎
13:19
|
попробуй ещё движение.СубконтоДт.Очистить();
|
|
10
НубВ1С8
14.10.14
✎
13:42
|
(9) не помогает. буду выгружать в тз
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший