Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Значение переменной в строку

v7: Значение переменной в строку
Я
   Mafiozaa
 
26.10.20 - 07:32
Привет, есть нужда глобальную переменную перевести в строку
Делаю как всегда вот так Строка(Переменная) = выдает ошибку
Но если значение переменной вгоняю руками то есть Параметр = "Значение переменной"  все получается
думал пробелы, СокрЛП не помощник
   Chameleon1980
 
1 - 26.10.20 - 07:42
а что отладчик говорит про переменную?
   Mafiozaa
 
2 - 26.10.20 - 07:46
(1) Ничего,он ее переводит, просто затем она не может уйти, я пытаюсь отправить код маркировки записанный в переменную
Объект.GTIN = GTIN;
Объект.SerialNumber = SerialNumber;
Так ругается на GTIN (неверный)
Объект.GTIN = Строка(GTIN);
Объект.SerialNumber = Строка(SerialNumber);
Так ругается на тот же гтин, но если пишу так
Объект.GTIN = "sdfgklsd";
Объект.SerialNumber = "dsfgsdlg";
То все проходит как нужно
   unbred
 
3 - 26.10.20 - 07:48
ну посмотри в отладчике, что там у тебя лежит в Строка(GTIN) . может там НЕОПРЕДЕЛЕНО
   unbred
 
4 - 26.10.20 - 07:50
и что значит "неверный"?
он же не говорит, что объект не найден?
может там число должно быть, а ты его в строку загоняешь.
   unbred
 
5 - 26.10.20 - 07:51
или проверка на контрольную сумму  стоит.
   Mafiozaa
 
6 - 26.10.20 - 07:52
(4) Возможно, попробую в число перевести, затестю отпишу
   Chameleon1980
 
7 - 26.10.20 - 07:55
(2) ещё раз. что отладчик говорит о том что у тебя в переменной?
   Bigbro
 
8 - 26.10.20 - 07:56
может код длиннее чем строка в объекте?
   Kigo_Kigo
 
9 - 26.10.20 - 08:14
(0) Все бьешься, сча торг точка откроется тоже буду пробовать, яж говорю передай в обработку полный код и обрабатывай

  Объект.FNOperation();
Если ПустоеЗначение(СокрЛП(СписокТоваров.Маркировка)) = 0 Тогда
            КМ = СокрЛП(СписокТоваров.Маркировка);
            GTIN = Сред(КМ, 3, 14);                            
            SerialNumber = Сред(КМ, 19, 13);
            
            Объект.Пароль = Пароль;  
            Объект.MarkingType         = 174//  Это "444D"    



            Объект.GTIN             = GTIN;
            Объект.SerialNumber     = SerialNumber;
          
            Объект.FNSendItemCodeData(// отправка тега маркировки



        КонецЕсли;
   Mafiozaa
 
10 - 26.10.20 - 08:29
(9) Так не на что не ругается, но и код не выбывает
   Kigo_Kigo
 
11 - 26.10.20 - 08:49
(10) Я еще проверял, но в  теме Не уходит код маркировки в офд
нужен вот такой порядок
Объект.FNOperation();
Если ПустоеЗначение(СокрЛП(СписокТоваров.Маркировка)) = 0 Тогда
   Kigo_Kigo
 
12 - 26.10.20 - 08:49
У меня точка в 11.00 по МСК откроется, буду пробовать
   Bigbro
 
13 - 26.10.20 - 08:51
прошел час. значение переменной так и не показали..
   Mafiozaa
 
14 - 26.10.20 - 09:01
(13) Да точка работает, не всегда получается сразу все опробывать, щас окошко будет сразу же все варианты проверю
   Mafiozaa
 
15 - 26.10.20 - 09:11
(11) Я поменял Объект.Sale на FNOperation и все пошло
   Mafiozaa
 
16 - 26.10.20 - 09:13
(13) Число(GTIN) = 02900002369885 - корректно
     Строка(SerialNumber) = r3OQPUGcOPFC/ (Ругает)
   Mafiozaa
 
17 - 26.10.20 - 09:15
(16) По руководству надо передавать все строкой, но строка(Gtin) не делает то что нужно
   Mafiozaa
 
18 - 26.10.20 - 09:16
(3) А как может лежать в Строка(Gtin) не определенно? если я не явную переменную загоняю в строку?
   Mafiozaa
 
19 - 26.10.20 - 09:42
Строка(GTIN)  = "02900002369885"
Строка(SerialNumber) = "r3OQPUGcOPFC/" (13) (12) (7) (3) 
Отладчик сказал
   Bigbro
 
20 - 26.10.20 - 09:49
ну и ?
длина строки реквизита GTIN у объекта?
   Fedor-1971
 
21 - 26.10.20 - 09:58
(20) Тупо обрежет до нужного размера

(19) ты проверяй не Строка(SerialNumber), а сам SerialNumber, может там нечто, что в строку не преобразовывается? Например, какой нить СОМ объект
   Злопчинский
 
22 - 26.10.20 - 10:02
(21) скорее всего. ни разу не встречал чтобы объект родной базы нельзя было в строку преобразовать...
   Злопчинский
 
23 - 26.10.20 - 10:03
ТипЗначенияСтр(GTIN) - ?
ТипЗначенияСтр(SerialNumber) - ?
   Kigo_Kigo
 
24 - 26.10.20 - 10:16
(19) Пробуй не в строку преобразовать и тупо
СокрЛП(GTIN)
СокрЛП(SerialNumber)
   HawkEye
 
25 - 26.10.20 - 11:17
(0) может имеет смысл показать весь код? )))
   Mikeware
 
26 - 26.10.20 - 11:26
Ошибка там же, где и всегда....
   Kigo_Kigo
 
27 - 26.10.20 - 16:03
Ну что срослось?
   Сияющий Асинхраль
 
28 - 26.10.20 - 16:49
Попробуй так:
Объект.GTIN = "" + GTIN;
   Злопчинский
 
29 - 27.10.20 - 01:50
(27) застрелился, наверное...
   Mafiozaa
 
30 - 27.10.20 - 01:57
(21) Какой может быть com объект, когда там хранится обычный текст,даже не объект какой то, просто текст
 
 Рекламное место пустует
   Провинциальный 1сник
 
32 - 27.10.20 - 02:58
(30) Что по поводу (23) скажете?
   Mafiozaa
 
33 - 27.10.20 - 03:03
(32)
Строка
Строка
   Mafiozaa
 
34 - 27.10.20 - 03:03
(32)
Сообщить(ТипЗначенияСтр(GTIN));
Сообщить(ТипЗначенияСтр(SerialNumber));
   Mafiozaa
 
35 - 27.10.20 - 03:04
(32) Щас точка откроется,буду пробывать на боевой кассе провести
   Bigbro
 
36 - 27.10.20 - 04:14
и какой длины строка?
   Bigbro
 
37 - 27.10.20 - 04:22
смотрите посимвольно что там.
   Mafiozaa
 
38 - 27.10.20 - 04:26
(36) Ну если у переменной не установлена размерность, то она по умолчанию неограниченная же?
   Bigbro
 
39 - 27.10.20 - 04:28
а еще строки бывают многострочные. но это тоже ошибку не вызывает обычно.
может какие то спецсимволы.
   Mafiozaa
 
40 - 27.10.20 - 04:30
(39) Я запускаю внешнюю форму, может быть такое? переменная не корректно передается туда?
   Mafiozaa
 
41 - 27.10.20 - 04:31
+ (40) Но при этом она глобальная экспорт
   Mafiozaa
 
42 - 27.10.20 - 04:32
(28) Мимо
   Mafiozaa
 
43 - 27.10.20 - 04:38
(39) Переменная не передается во внешнюю форму, буду смотреть
   Mafiozaa
 
44 - 27.10.20 - 05:14
Всем спасибо, решилось
   Провинциальный 1сник
 
45 - 27.10.20 - 06:22
(44) Здесь так не принято. Тут спасибом не отделаешься, говори где накосячил!)
   Mafiozaa
 
46 - 27.10.20 - 07:06
(45) Глупая ошибка, обработка внешнего события, а я чтоб продавца не гонят пикать, ручками код вносил, то есть он и не принимал значение, а как она пикнула, сразу все передалось и корректно отработало
   Kigo_Kigo
 
47 - 27.10.20 - 11:14
Все заработало тоже, КТ уходит в ОФД отображается


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