Имя: Пароль:
1C
1C 7.7
v7: Операция
0 User123456
 
14.08.14
16:03
Добрый день. Понадобилось клиенту изменить в "опрации" значение колонки курс. Но вот проблема ни как не могу достучаться до этого реквизита. Какие есть варианты?
1 Woodpecker
 
14.08.14
16:11
в проводке чтоли курс хочет поменять?
2 User123456
 
14.08.14
16:12
да
3 Woodpecker
 
14.08.14
16:14
(2) пусть в справочнике валют забьет курс какой надо
4 User123456
 
14.08.14
16:22
Это обменный пункт
вот и требуется в проводку писать свой курс
5 zak555
 
14.08.14
16:26
ПРОводка.Курс = МойКурс;

но лишь информационное поле, главные поля это
Валюта
ВалСумма
СУмма
6 Fedor-1971
 
14.08.14
16:26
в обменном пункте разрешено кассиру самому вводить курс?
в какой версии пытаешься его прилепить?
7 NS
 
14.08.14
16:27
(4) У проводки нет реквизита "курс".
8 User123456
 
14.08.14
16:30
вот у меня с темто и трабла, что когда я смотрю на форму операции то в тч у меня есть реквизит курс, но когда я через отладчик его ищу то его как будто и нет. Пытаюсь найти откуда он лезит и как в него попадает это значение.
9 zak555
 
14.08.14
16:38
Курс и кратность находятся в справочнике валют. В форму проводки подставляется значение курса на дату проводки.
10 User123456
 
14.08.14
16:44
хорошо, это понятно. При открытии формы не могу найти обработчик заполнения, при этом в ревитах тч операции, доп реквизитов не наблюдается. Получается что при открытии формы операции заполняются данные реквизиты, но где искать обработчик?
11 Naumov
 
14.08.14
16:45
в модуле формы ищи ПриОткрытии()
все от туда пляшет
12 User123456
 
14.08.14
16:55
Процедура ПриОткрытии()                          
    УстановитьВидимостьСчетов();
    Параметры = глПараметры(,,"Режим", 0,);
    глПараметры(Контекст, Параметры, "РежимОперации", 1,);
    ВСтатус = глПроцедураДокумента("ПриОткрытии", Параметры);
    СтатусВозврата(ВСтатус);
    
    Если Метаданные.РазделительУчета.Выбран() = 0 Тогда
        Форма.Организация.Доступность(0);
        Форма.РазделительУчета.Видимость(0);
    КонецЕсли;  
    
    //если можно редактировать документы другого автора
    Если глПривилегииПользователя("РазрешитьРедактироватьЧужиеДокументы", глПользователь) = 0 Тогда
        Если глПользователь <> Документ.Автор Тогда
            Предупреждение("Отсутствует право корректировать документы другого автора.
                            |Документ открыт в режиме просмотра!",60);
            Форма.ТолькоПросмотр(1);
            Возврат;
        КонецЕсли;
        
    КонецЕсли;
    
    //проверка на дату запрета редактирования
    
    //если можно редактировать документы до даты запрета
    Если глПривилегииПользователя("РазрешитьРедактироватьДокументыЗакрытогоПериода", глПользователь) = 1 Тогда
        Возврат;
    КонецЕсли;
        
    
    //иначе
    Если Документ.Организация.ДатаЗапретаРедактирования <> Дата(0) Тогда
        Если ДатаОперации <= Документ.Организация.ДатаЗапретаРедактирования Тогда
            Предупреждение("Документ относится к ""закрытому"" периоду.
                            |Документ открыт в режиме просмотра!",60);
            
            Форма.ТолькоПросмотр(1);
            Форма.кнЗаписать.Доступность(0);
            Форма.кнОК.Доступность(0);
            Возврат;
        КонецЕсли;                                                
    КонецЕсли;
    
    //проверка на редактирование документа задним числом
    Если глПривилегииПользователя("РазрешитьРедактироватьЗаднимЧислом", глПользователь) = 0 Тогда
        Если ДатаОперации < РабочаяДата() Тогда
            Предупреждение("Отсутствует право изменять документы задним числом!
                            |Документ открыт в режиме просмотра!",60);
            
            Форма.ТолькоПросмотр(1);
            Возврат;
        КонецЕсли;                                                
    КонецЕсли;    
    
    СтараяОрганизация = Документ.Организация;  
    

    
КонецПроцедуры // ПриОткрытии

Процедура  
//////////////


    УстановитьВидимостьСчетов();
    Параметры = глПараметры(,,"Режим", 0,);
    глПараметры(Контекст, Параметры, "РежимОперации", 1,);
    ВСтатус = глПроцедураДокумента("ПриОткрытии", Параметры);

ни какого доп заполнения не происходит, все остально это настройка видимости и доступности
13 User123456
 
14.08.14
17:28
Есть идеи?
14 Злопчинский
 
14.08.14
17:32
(13) то есть вот бросить все и лезть смотреть..?
15 Йохохо
 
14.08.14
17:32
(13) есть идея, что конфигурация без допиливания тебе не подходит
16 User123456
 
14.08.14
17:39
гениально!!!! куда копать???-это и есть вопрос
17 Злопчинский
 
14.08.14
17:42
ты дятел. вот изменил ты курс - допустим! встает вопрос - попутно что менять - рублевую или валютную сумму?
18 User123456
 
14.08.14
17:43
с каких это пор бараны говорить научились???
19 User123456
 
14.08.14
17:44
допустим не допустим, нормально разговор можно вести????
20 Chum
 
14.08.14
17:45
(18) не хами старшим, салага

У операции есть реквизит Валюта с типом Справочник.
До самого реквизита "курс" ты просто так не достучишься, т.к. он "зашит". При формировании операции по счету с признаком "валютный" в реквизит "валюта" записывается ссылка на справочник "Валюты". У этого справочника есть периодический реквизит "курс", значение выбирается автоматом на дату операции. Следовательно, поменять курс можно, но в справочнике "Валюты", при этом это легко отразится на всех операциях, совершенных за этот день.
21 Chum
 
14.08.14
17:47
+(20) по идее, можно попробовать провести эксперимент по подсовыванию собственного справочника "МояВалюта", у которого будет периодический реквизит "курс", для которого установить нужное значение на нужную дату. Как вариант - может прокатить, т.к. у операции реквизит "валюта" - справочник неопределенного типа.
22 Chum
 
14.08.14
17:47
Если не прокатит, тогда нефиг обманывать клиентов, назначая им левые курсы валют.
23 User123456
 
14.08.14
17:50
Хамить??? Да вы что!!! и не думал!!! но на место поставлю!!! А за доп инфу спс, буду разбираться.
24 Злопчинский
 
14.08.14
17:52
(23) я не баран. я - овен!
25 Злопчинский
 
14.08.14
17:55
(20) смена курса в справочинке валют на операциях никак не отразится - будет просто в операции отображаться другой курс. рублевые/валютные суммы останутся без изменений. Но только до перепроведения документов.
.
операция - вообщем-то - сугубо "служебный" документ, и если надо поменять курс - то делать это лучше в доке, который порождает данную операцию.
26 Йохохо
 
14.08.14
17:56
(23) конфигурация где указана? и куда тебя можно (16) (18) послать копать? для обменника курс это цена скорее, а не (21), т.к. меняться может гораздо чаще. На коленке не взлетит
27 Chum
 
14.08.14
17:57
Ну либо наплодить элементов в справочнике "Валюты" и для этих элементов настроить курсы на свой вкус. В документе в качестве валюты выбирать "левые" элементы.

Например:
родной элемент: код "978", наименование "EUR"
создаешь левый:
код "001", наименование "EUR".

Должно прокатить, но минус обоих способов в том, что где-нибудь в коде будет ссылка на конкретные элементы валют, также константа по любому есть. Будут рисовать отчет и задавать вопросы вида "а какого хрена у нас валюты размножились"?
28 NS
 
14.08.14
18:09
Честно, кто-нибудь может объяснить, что вообще обсуждается?
Этот курс нигде в 1С не используется, и служит только для отображения на форме операции и формах журналов проводок.
Если нужно в них отобразить что-нибудь другое, достаточно убить текущую колонку, и добавить свою, в которой отобразить что надо. Только зачем?