Имя: Пароль:
1C
 
бухгалтерия, как переписать валюту в используемых договорах
,
0 jeka_molodec
 
28.04.15
16:33
Сделал обмен 1с ут 7.7 бухг 2.0
В договорах и счетах фактур, поставил неправильный код валюты и в декларации ошибка.
1)Нужно исправить валюту в справочники ДоговораКлиентов на правильную(и во всех документах, в которых есть ссылка на него).
При попытке записать, выдает исключение с описанием..
Существуют документы, проведенные по договору "СПокупателем", реквизиты ..,ВалютаВзаиморасчетов,.. не могут быть изменены.
Как обойти этот механизм защиты от изменения(и можно ли вообще).
код простой.
//--------------------------------------------------
Процедура ИсправитьВалютуВДоговорах(Элемент)
    дог = Справочники.ДоговорыКонтрагентов.Выбрать();
    Пока дог.Следующий() Цикл
        Если дог.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду(810) Тогда //код неправильной валюту
            пер = дог.ПолучитьОбъект();
            пер.ВалютаВзаиморасчетов = справочники.Валюты.НайтиПоКоду(643);       // на валюту с правильным кодом
            Попытка
            пер.Записать();
        Исключение Сообщить("исключение -- "+ОписаниеОшибки());
            КонецПопытки;
        КонецЕсли;        
        КонецЦикла;
КонецПроцедуры
//-----------------------------------------------

2)интересно как вообще действует это механизм, он что реально ищет ссылки на документ, прежде чем дать изменять его важные реквизиты?
1 DJ Anthon
 
28.04.15
16:36
ОбменДанными.Загрузка = Истина
2 and2
 
28.04.15
16:37
справочники.Валюты.НайтиПоКоду(643);      в цикле
убил бы за это
3 ДенисЧ
 
28.04.15
16:37
1. ОбменДанными.Загрузка = Истина
2. А в код посмотреть?
4 Михаил Козлов
 
28.04.15
16:37
(0) Может быть имеет смысл поменять код у валюты? Или заменить ссылки на валюту с кодом 810 на 643?
5 DJ Anthon
 
28.04.15
16:38
(2) да разово пофиг
6 and2
 
28.04.15
16:39
(5) разово руки не помоешь перед едой - и гепатит :(
7 jeka_molodec
 
28.04.15
16:41
...справочники.Валюты.НайтиПоКоду(643);  да не красиво, но для примера, да и договоров там 100 не больше.

Менять код.. думал об этом, но оказалось что еще дальше, какая то байда(с этой валютой не проводятся пко, не ставится курс в таблице пко)хотя курс в таблице стоит. да и хотелось бы исправить и дальше идти нормально, контрагентов пока выгружено не много, но они часто используются.
8 jeka_molodec
 
28.04.15
16:43
про ОбменДанными.Загрузка = Истина(это вообще где ставить?) мозг напрягаю но не получается.
Сам обмен уже работает шикарно(понятно на новых выгрузках) а это просто внешняя обработка для однократного изменения данных.
9 Михаил Козлов
 
28.04.15
16:44
(8) пер.ОбменДанными.Загрузка = ИСТИНА;
Перед записью.
10 jeka_molodec
 
28.04.15
16:51
Классно. Большое спасибо. Нюансы... Тема закрыта.
11 and2
 
28.04.15
17:20
(0) так если ты правила сам написал - впили код выгружаемой валюты 643.
и поиск по коду.
12 DJ Anthon
 
29.04.15
17:23
(8) а вот это уже гуглится легко. главное, пнуть в нужном направлении.
(6) жисть ваще штука опасная, умереть можно.
13 jeka_molodec
 
06.05.15
13:05
Если бы знать как точно запрос звучит, гуглилось бы прекрасно. Один раз месяц просидел, возвращался, ругался, опять в 1000 раз проверял(програмка на javaMe для нокии. Не загружалась мелодия и все. На эмуляторы грузилась, на другие тоже. А тут... хоть тресни. Оказалось, не нравилось ему что mp3  в большом регистре набран. Ну когда это я понял, то сразу нашел массу ответов, отчего и почему. Но зная ответ, легко сочинять запросы.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший