Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Нет валюты после подбора

v7: Нет валюты после подбора
Я
   Масянька
 
05.12.18 - 08:28
Доброе утро!
Имеем: ТиС 932 (платформа 27).
Практически стандартный док-т "Чек ККМ".
На форме док-та есть текстовое поле. У него формула - Валюта.ПолнНаименование.
После подбора вылазит сообщение "Значение не представляет агрегатный объект (ПолнНаименование)".
Если делать через добавление строки в ТЧ - норм.
После подбора валюта есть:
Процедура ОбработкаПодбора(ВыбЗнач, КонтФормыПодбора)
Сообщить("3 - " + Валюта);    
    // нет ставок налогов, есть скидка

    глОбработкаПодбора(Контекст, ВыбЗнач, УчитыватьНДС, 0, 1);
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        ШтрихКод = Единица.ШтрихКод;// прописываем штрих - код

    КонецЦикла;
Сообщить("4 - " + Валюта);    
    
КонецПроцедуры// ОбработкаПодбора()


Где (и главное почему!) теряется валюта?
Спасибо.
 
 
   dk
 
1 - 05.12.18 - 08:51
может переменная где-то объявлена Валюта
в документе или прямо в глобальнике
   dk
 
2 - 05.12.18 - 08:51
ну и отладчик - наш друг и товарищ
   Масянька
 
3 - 05.12.18 - 08:54
(1) После подбора (см. Обработка...) - валюта есть (выводит).
Поиск по док-ту - нет.
   Convert
 
4 - 05.12.18 - 08:55
(0) а в Сообщить("4 - " + Валюта); 
что выводит?
   Convert
 
5 - 05.12.18 - 08:58
(0) Валюта это же реквизит шапки документа. Смотри в глОбработкаПодбора. Может там конт.Валюта= чему-нибудь непотребному
   Масянька
 
6 - 05.12.18 - 09:01
(4)
4 - руб.
Значение не представляет агрегатный объект (ПолнНаименование)
(5) Эта глОбработка используется во всех док-ах (где есть подбор) - везде норм. Ну, и после глОбработка - есть же валюта...
Я не могу понять - где теряется?
   Convert
 
7 - 05.12.18 - 09:06
(6) А ты уверена, что именно эта формула ошибку дает? Поменяй ее на ТекстВалюты(Валюта) и заведи функцию
Функцуия ТекстВалюты(Вал)
    
    Возврат ?(ПустоеЗначение(вал)=0,Вал.ПолнНаименование,"нет валюты");
    
КонецФункции
   Масянька
 
8 - 05.12.18 - 09:07
(7) В надписи (на форме): сделала идентификатор, формулу убрала. В ОбновитьНадписи() добавила: Форма.ТекстВалюты.Заголовок(Валюта.ПолнНаименование);
Ошибки нет.
В чем разница?
   dk
 
9 - 05.12.18 - 09:08
так что там с отладчиком?
   dk
 
10 - 05.12.18 - 09:10
"Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством"
------
у прогеров есть отладчик, без него тоже сплошные чудеса и мистика
 
 Рекламное место пустует
   Масянька
 
11 - 05.12.18 - 09:11
   Масянька
 
12 - 05.12.18 - 09:13
Получается, что напрямую (текстовое поле) с реквизитом не работает. Бред же...
   Convert
 
13 - 05.12.18 - 09:14
(12) Работает. Просто у тебя в какой-то момент валюта становится пустой, а потом опять присваивается ей рубль. Формула срабатывает в тот момент, когда валюта не заполнена. А ты когда завела реквизит и обновила надписи, то валюта уже заполнена
   Масянька
 
14 - 05.12.18 - 09:16
(13) Сама знаю, что работает.
Где валюта?!
   Convert
 
15 - 05.12.18 - 09:17
(12) Поэтому делай функцию как в (7) и ее пихай в формулу. Либо ищи, где валюта становится пустой
   Карст
 
16 - 05.12.18 - 09:17
есть нюансы когда реквизит внедрен в конфигурацию например чем нибудь не совсем штатным , Gcomp ом например, и внедрен не совсем прямо
   dk
 
17 - 05.12.18 - 09:18
есть еще одна мистическая магия в отладчике - называется замер производительности
но автору нужна магия, а не решение
   Масянька
 
18 - 05.12.18 - 09:18
(15) Это понятно... Но интересно же...
   dedmoroz777
 
19 - 05.12.18 - 09:19
Ищи в модуле "Перем Валюта;"
   Масянька
 
20 - 05.12.18 - 09:19
(16) Нет. Gcomp - однозначно отпадает.
Не совсем прямо - вопрос... Не помню - дописывала этот реквизит или он стандарт.
   Масянька
 
21 - 05.12.18 - 09:20
(19) Нет такого. Ни в переменных, ни в процедурах/функциях.
   Масянька
 
22 - 05.12.18 - 09:21
+ (21) Есть ВалютаЦены в ПриИзмененииНоменклатуры.
   Карст
 
23 - 05.12.18 - 09:21
через шаблон например тоже могли
   Convert
 
24 - 05.12.18 - 09:22
(21) Не знаю как в новых, раньше стандартный реквизит шапки документа был, поэтому никаких перем Валюта быть и не должно
   Карст
 
25 - 05.12.18 - 09:23
ну ващет ранее был глобальный реквизит так сказать общий
   dedmoroz777
 
26 - 05.12.18 - 09:23
(24) Не должно. Но такое поведение - это однозначно смена переменной. Может глОбработкаПодбора меняет.
   Масянька
 
27 - 05.12.18 - 09:24
(25) В глобальнике нет.
   Масянька
 
28 - 05.12.18 - 09:25
(26) Такого же мнения. Но после подбора есть же (выводит).
   Карст
 
29 - 05.12.18 - 09:25
общего реквизита нету ?

http://dml.compkaluga.ru/forum/index.php?showtopic=35958

посмотри как можно
   Масянька
 
30 - 05.12.18 - 09:30
(29) Прикольно...
Нет. Общего нету.
   Масянька
 
31 - 05.12.18 - 09:30
И если это поле убрать - ошибки нет.
   Convert
 
32 - 05.12.18 - 09:32
(31) Если тебе так интересно где именно он очищается, то сделай уже как я сказал и поставь в этой функции точку останова, как только выловишь пустую валюту - пойдешь шагать отладчиком и увидишь в какой момент она становится пустой
   Карст
 
33 - 05.12.18 - 09:33
в закладке дополнительно нигде ничо нету ? или в текстовых полях на форме ?
ЗЫ может поле на форме за пределами видимости
 
 
   Масянька
 
34 - 05.12.18 - 09:42
(33) Нету. Говорю же - если это убрать (совсем) ошибки нет.
   Масянька
 
35 - 05.12.18 - 09:55
(32) Функция глФРМ(ЧислЗнач, Валюта="", ВыводНулевого="0", РаздТриад=" ") Экспорт, которую вызывает Функция глСтрокаСкидки(Конт, РаздТриад = "'") Экспорт, которая сидит в формуле поля "Скидка" ТЧ.
В принципе - логично... Чеки в валюте у нас никогда нельзя было бить...
   Масянька
 
36 - 05.12.18 - 10:04
Мужики! Спасибо!
   Convert
 
37 - 05.12.18 - 10:13
(36) Да незачто)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует