|
Не присваивается значение переменной... ??? | ☑ | ||
---|---|---|---|---|
0
MWWRuza
гуру
01.03.20
✎
15:03
|
Добрый день!
Я больше "семерошник", и как-то мне в мозги не укладывается, казалось бы элементарщина... Делаю: СчСтрМ = 0; Дальше, некий текст, не важно... В отладчике, на шаге, следующем за этой строкой, получаю, что "Переменная не определена" - "{(1,1)}: Переменная не определена (СчСтрМ)"... Почему, что за бред??? Я же ей явно 0 в предыдущей строке присваиваю! Как это она не определена? Я что-то упустил? Ведь это же элементарно, и должно везде работать... Вот скриншот из отладки: https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-291.jpg Обработка внешняя, отладка подключена, отладчик туда попадает. Но, код почему-то не работает... |
|||
1
RomanYS
01.03.20
✎
15:07
|
1. Возможно отладка идёт другой(сохраненной) версии
2. Проверить, что символы "С" не латинские |
|||
2
Мимохожий Однако
01.03.20
✎
15:19
|
Так ты еще в цикл не шагнул...А эта переменная начинает жить в цикле и не до того как.
|
|||
3
Мимохожий Однако
01.03.20
✎
15:21
|
(0) Зачем присваивать значение переменной цикла (счётчику)?
|
|||
4
MWWRuza
гуру
01.03.20
✎
15:22
|
(1)2. Проверить, что символы "С" не латинские
А какая разница? Я же в отладчике не руками имя переменной пишу, а копирую в табло. Даже, если она там и латинскя, то она везде такая... А вот это: 1. Возможно отладка идёт другой(сохраненной) версии Может быть... Обработка внешняя, лежит в папке с базой, при подключении копируется в папку "Temp" профиля пользователя... Открываю для правки и отладки, ее именно оттуда... Может здесь какая-то путаница, но отладчик то туда попадает... |
|||
5
MWWRuza
гуру
01.03.20
✎
15:23
|
(3) Да, не обязательно...
Но, сам факт... |
|||
6
vi0
01.03.20
✎
15:31
|
(4) попробуй выполнить без такой длинной схемы с копированиями
просто кусок кода проверь в отдельной обработке |
|||
7
vi0
01.03.20
✎
15:32
|
(4) > А какая разница? Я же в отладчике не руками имя переменной пишу, а копирую в табло
а какую из двух переменных ты копируешь в табло? из тех что на скрине |
|||
8
MWWRuza
гуру
01.03.20
✎
15:33
|
(7) Первую, где 0 ей присваиваю...
|
|||
9
MWWRuza
гуру
01.03.20
✎
15:37
|
Не знаю, дальше тоже не работает:
https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-292.jpg Если из массива получаю значение по индексу 0, вручную - возвращается строка значение элемента массива, структура... Через счетчик с этой "злополучной" переменной - ни в какую... |
|||
10
RomanYS
01.03.20
✎
15:40
|
(9) блин, ну перебей имя переменной, добавь отладочное сообщение (чтобы убедиться, что отлаживается именно эта версия)
|
|||
11
MWWRuza
гуру
01.03.20
✎
15:41
|
(10) Сейчас попробую...
|
|||
12
acht
01.03.20
✎
15:46
|
(4)> латинскя
Вот именно так оно все и происходит. |
|||
13
hhhh
01.03.20
✎
16:10
|
(9) почему СчСтрМ -1 ? Что за хрень? Это явно не по индексу 0.
|
|||
14
MWWRuza
гуру
01.03.20
✎
16:19
|
(13) Это уже "пляски с бубном", когда уже не знаешь, на что грешить...
Действительно, какие-то разные ветки алгоритма... Типа, не верь "глазам своим"... Обработка обслуживания ККТ, внешняя. Лежит в каталоге ИБ. УТ 10.3. Подключаю ее штатным образом, через механизм конфигурации. Она копируется в папку Temp локального профиля текущего пользователя... Какую отлаживать нужно - исходную, или которая в темпе? Я пробовал, которая в темпе... Или, после каждого, самого незначительного изменения, надо ее заново подключать через весь путь подключения ТО? |
|||
15
MWWRuza
гуру
01.03.20
✎
16:36
|
Более того, если я что-то меняю в обработке, то отладчик начинает "прыгать" совсем не по тем строкам, я вижу текст нового(измененного) модуля, а шагает он как-бы по старому, явно не по тем строкам...
Как правильно конфигурировать/отлаживать такие обработки? |
|||
16
Franchiser
гуру
01.03.20
✎
16:38
|
(15) нужно переоткрыть обработку в режиме предприятие
|
|||
17
MWWRuza
гуру
01.03.20
✎
17:33
|
(16) Ну, может быть... Но, мне только помогало переподключение обработки...
В общем, добился чего хотел... В новом релизе УТ 10.3.59.3, опять "накосячили"... "Тапочки", ОбувныеТовары, попадали в чек и соответственно в ОФД с ПР "ПодакцизныйТовар" :-( Да и как по другому, когда: В общем модуле "ПодключаемоеОборудованиеУниверсальныйДрайверКлиент", в функции "ПараметрыОперацииФискализацииЧекаЧекККМ": " | ЕСТЬNULL(ТабличнаяЧасть.Номенклатура.ТабачнаяПродукция | ИЛИ ТабличнаяЧасть.Номенклатура.АлкогольнаяПродукция | ИЛИ ТабличнаяЧасть.Номенклатура.ОбувнаяПродукция, ЛОЖЬ) КАК ПодакцизныйТовар, " Ну, конечно, в таблице есть товар с признаком "ОбувнаяПродукция"... Вот, этот запрос и возвращает ПодакцизныйТовар = Истина... Конфа у клиента "базовая", соответственно и не поправишь... Хорошо обработка ТО у меня, под мою ККТ, внешняя, вот и заморочился исправить в ней эту ошибку. Сделал так: Для СчСтрМ = 0 По ПараметрыЧека.ПозицииЧека.Количество() - 1 Цикл ТекСтр = ПараметрыЧека.ПозицииЧека.Получить(СчСтрМ); Если ТекСтр.ДанныеКодаТоварнойНоменклатуры.ТипМаркировки = Перечисления.ТипыМаркировкиККТ.ОбувныеТовары Тогда ТекСтр.Вставить("ПризнакПредметаРасчета", Перечисления.ПризнакиПредметаРасчета.Товар); КонецЕсли; Конеццикла; ПараметрыЧека.Вставить("ПараметрыЧека", ПараметрыЧека); Все сейчас нормально работает, вот СкринШот из тестового ОФД: https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-293.jpg Начало моих "мытарств" тут: https://forum.infostart.ru/forum24/topic236570/ А из-за того, что все-таки клюшечник, и опыта в восьмерке нехватает, и возник сабжевый вопрос! Всем спасибо! |
|||
18
MWWRuza
гуру
01.03.20
✎
22:36
|
+(17) что все-таки клюшечник, и опыта в восьмерке нехватает
Для меня это вообще дико - как это: Я говорю, что А = Б, а отладчик говорит, а вот фигушки!!!! "А" не равна ни чему... :-) Вроде, есть какая-то функция, во всех типовых, которая реально показывает текст исполняемого в данный момент модуля, а не тот, что открывается... Научите, плиз??? Или я ошибаюсь? |
|||
19
Franchiser
гуру
01.03.20
✎
23:41
|
В 8ке 3 конфигурации в БД, а в семёрке одна. Что ты хочешь?
|
|||
20
Franchiser
гуру
01.03.20
✎
23:48
|
И вообще не понял как ты открывал эту внешнюю обработку ТО для отладки. Там не все так просто.
|
|||
21
catena
02.03.20
✎
06:05
|
(14)После каждого перезапуска в темпе создается другая копия, нужно переоткрывать, естественно
(18)Замер производительности, чтоли? |
|||
22
DrZombi
гуру
02.03.20
✎
07:32
|
(0) просто, перезайди в конфигуратор :)
|
|||
23
MWWRuza
гуру
02.03.20
✎
09:03
|
Ясно, всем спасибо!
|
|||
24
MWWRuza
гуру
02.03.20
✎
09:12
|
(21)После каждого перезапуска в темпе создается другая копия, нужно переоткрывать, естественно
Хм... А откуда копируется? С исходника, который, в моем случае в папке БД лежит? Когда чего-то правлю, надо править исходник, а в темп он ее сам скопирует, при запуске? Т.Е., нужно перезапускать саму программу, а не только обработку, тогда создастся новая копия в темпе? А отлаживать я какую копию должен, ту которая в темпе, или тоже исходную? Вроде исходную пробовал, он(отладчик) туда не попадает, а в копию в темпе - пожалуйста... Как-то запутано все... |
|||
25
MWWRuza
гуру
02.03.20
✎
09:16
|
В общем, вроде понял свою ошибку - правил обработку в темпе, а она заменялась при каждом перезапуске на исходную, вот и не мог понять, что происходит. Буду знать теперь, на ошибках учатся :-)
|
|||
26
catena
02.03.20
✎
10:39
|
(24)Это же внешняя обработка, правильно я поняла? Механизм внешних обработок не встроенный, там все кодом написано. Берет из хранилища обработку, сохраняет ее в темпе и запускает. Новый запуск - новый темп.
|
|||
27
vi0
02.03.20
✎
12:40
|
(25) но не забывай, что платформа 8 еще сырая
всё может быть |
|||
28
MWWRuza
гуру
03.03.20
✎
12:57
|
(27) Это я уже понял :-))))
|
|||
29
vi0
03.03.20
✎
13:45
|
(28) лучше упор делать на семерку
рабочая и перспективная |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |