Программное изменение счета в операции #193739


#0 by dmi3j
Здравствуйте! Подскажите, пожалуйста, как правильно программно изменить счет в операции, введенной вручную? Делаю так: Операция.Дебет.Счет=СчетПоКоду("302.02.1"); обработка прерывается с сообщением: Нельзя изменять записанные проводки!
#1 by dmi3j
Платформа 1С:Предприятие 7.7 для SQL Конфигурация: "Бухгалтерия для бюджетных учреждений" ред.6 Релиз: 7.70.602
#2 by Конечно Вася
гы ... ну так ты обращаещся к чему СоздатьОбъект("Документ.Операция"); вроде так нада
#3 by Конечно Вася
изменять помойму тока через документ в том числе и через Документ.Операция - ручная операция
#4 by Таня
Записать проводки не надо
#5 by Таня
(2,3) не надо никакой документ,
#6 by Конечно Вася
а поподробнее
#7 by Таня
подробнее? "Метод ВыбратьОперацииСПроводками служит для выбора проводок опе­раций за период. Параметрами могут являеться различные условия отбора про­водок. После вызова данного метода метод ПолучитьПроводку выбирает очеред­ную проводку из выборки удовлетворяющую заданным условиям, а метод ПолучитьОперацию выбирает первую проводку слудующей операции удовле­творяющую заданным условиям."
#8 by Таня
выбирать операцию не надо
#9 by Таня
тьфу, то есть получитьОперацию не надо
#10 by int 21
У меня вроде бы так работало:
#11 by DeiMos
Всем читать Таню в .
#12 by Скользящий
#13 by dmi3j
Всем спасибо! Возможно я опять написал что-то  лишнее, но у меня корректно отработал следующий код:
#14 by mikecool
не надо ПолучитьОперацию при использовании ВыбратьОперацииСПроводками, однозначно, т.к. можешь часть операций пропустить ...
#15 by mikecool
(+14) вернее не часть операций, а часть проводок...
#16 by dmi3j
А как же тогда понимать : "После вызова метода ВыбратьОперацииСПроводками метод ПолучитьПроводку выбирает очередную проводку из выборки удовлетворяющую заданным условиям, а метод ПолучитьОперацию выбирает первую проводку слудующей операции удовлетворяющую заданным условиям."?
#17 by dmi3j
По-моему я не сделал ничего, что-бы противоречило написанному выше: я последовательно выбираю операции удовлетворяющие условиям отбора, а в них просматриваю все проводки. В чем я не прав?
#18 by Прохожий
Она права.
#19 by Прохожий
Так будет быстрее: ...
#20 by dmi3j
Я Вас не понимаю!  Зачем добавлять "лишний" код, когда по команде Опер1.ПолучитьОперацию мы уже отбираем операцию удовлетворяющую условиям отбора. Т.е. в отобранной операции хотя бы одна проводка удовлетворяет нашим условиям. А раз так, то мы ее и изменяем. После чего записываем всю операцию.
#21 by Конечно Вася
Подскажите, пожалуйста, как правильно программно изменить счет в операции, !!!введенной вручную !!! то есть доком Операция ну так нафик ВСЕ операции выбирать всех доков   если можно выбрать тока доки Операция и их обработать кто мне скажет
#22 by Прохожий
Вопрос реторический. Как учет ведётся в ДАННОЙ базе: - Если в основном вручную (а ля шестёрка) и счет мало используемый, то рулит ВыбратьОперацииСПроводками; - Если в основном вручную (а ля шестёрка) и счет часто используемый, то рулит объект "Документ.Операция"; - Если в основном Документами и счет мало используемый, то рулит объект "Документ.Операция"; - Если в основном Документами и счет часто используемый, то рулит скорее ВыбратьОперацииСПроводками. ... З.Ы.: Если нужны ТОЛЬКО введённые вручную (подозрителен Ваш диагноз, коллега) нужно условие добавить в первый цикл после ПолучитьОперацию.
#23 by Прохожий
На Записать экономим. Зачем при пяти проводках в Операции 5 раз записывать? Как этого добиться читай .
#24 by Конечно Вася
ну и нафиг условие в цикл если можно сразу и без условия гы.. Дык он же сказал  - Тока ручные операции   их может всего десяток а операций доков тыщ сто
#25 by Прохожий
+ А можно ещё и на НайтиОперацию сэкономить если создать СЗ  и в него добавлять все уже обработанные операции, а перед НайтиОперацию проверять её на вхождение в СЗ и отбрасывать уже обработанные...
#26 by Прохожий
"может быть" "может не быть" - Гадалка?
#27 by Конечно Вася
- пророк ) 99% что именно так
#28 by Прохожий
Откуда такие соотношения выдумал? тебе даже номера релиза не назвал. Возможно ручные популярны в этой базе, раз под них даже Обработки писать приходится...
#29 by Прохожий
Читай и парь процентами кого-нить другого... Флудер.
#30 by Конечно Вася
чего злой то - невыспался чтоль или похмелье мучит )
#31 by dmi3j
Согласен с Вами. Возможно вопрос поставлен некорректно. Это из-за того что в местном франче мне сказали, что изменить счет в операциях введенных вручную - это одно, а изменить счет в документах - это другое (в три раза дороже). Учет с участием названного счета ведется в основном операциями введенными вручную, но этот счет встречается так же и в некоторых документах. Поэтому если приведенный мною код изменит счет и в документах - это будет только плюсом. (Конечно же я понимаю что изменение счета только в операциях введенных вручную - это нонсенс.) Сколько бы не было проводок в выбранной операции, команда Записать выполняется для операции только один раз, т.к. стоит за циклом по перебору и изменению проводок. Спасибо за совет. Однако я не слишком силен в 1С. Операция по изменению счета - разовая, поэтому я не склонен усложнять код. Время для выполнения данной обработки для меня не критично. Номера релиза смотри в . А приходится писать обработку, потому что при переносе данных из редакции 5 в редакцию 6, мы не смогли настроить правило переноса для разделения счета 302.01.1 на 302.01.1 и 302.02.1 (хотя необходимые критерии для такого разделения у нас и имеются). Типовые же правила переноса, как известно, такого разделения не делают. Конечно же обработка будет использоваться не для всего счета 302.01.1. Отбор будет осуществляться еще и по  определенному значению субконто с помощью команды ИспользоватьСубконто. Спасибо всем кто принял участие в обсуждении. Отдельное спасибо за конструктивные предложения.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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