Магия в макете 1С

1. andadra 30.11.18 11:03 Сейчас в теме
Здравствуйте, дорогие форумчане! Возник вопросик) может кто знает причину этой "магии".
Делаю я печатную форму, прописала параметры на форме и оставила их пустыми

ОбластьСсылка.Параметры.ПрибыльПрогноз =
ОбластьСсылка.Параметры.ПрибыльПрогнозПроцент =

думаю заполню потом, опираясь на данные, которых у меня. Потом я данные получила,все сделала, сохраняю, формирую. И у меня появляется на в таб доке в ячейке появляется слово "НЕТ". Начинаю проверять и понимаю, что забыла заполнить параметры, но дело в том что он мне дал сохранить, не выдал ошибку. И даже сформировал, но заполнил словом "НЕТ". КАК ТАК?)))
Точки с запятой там нет. ТО есть просто 2 строки, на которые всегда должен ругаться а тут нет. Кто в курсе?)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. Xershi 1493 02.12.18 23:56 Сейчас в теме
(1) есть такое понятие в 1с как неявное преобразование типов. Произошло преобразование булево в строку.
Результат - булево. А параметр тип строка.
2. user633533_encantado 11 30.11.18 11:05 Сейчас в теме
У тебя проверку синтаксис помощником код тогда не должен проходить.

Больше кода выложи.
alex-l19041; +1 Ответить
4. antz 30.11.18 11:10 Сейчас в теме
(2)
У тебя проверку синтаксис помощником код тогда не должен проходить.


Очень даже должен.

ОбластьСсылка.Параметры.ПрибыльПрогноз = ОбластьСсылка.Параметры.ПрибыльПрогнозПроцент = (что-то там дальше) - это логическое выражение, а поскольку условие не выполняется (т.е. ОбластьСсылка.Параметры.ПрибыльПрогнозПроцент <> (что-то там дальше)), то в ПрибыльПрогноз заносится Ложь (т.е. "Нет").
Leoon; andadra; +2 Ответить
5. user633533_encantado 11 30.11.18 11:18 Сейчас в теме
(4) Ну это ты код додумал. В твоем додуманном коде - да должен.
6. antz 30.11.18 11:20 Сейчас в теме
(5) я не додумывал, я объяснил - почему в ячейке оказалось "нет".
7. andadra 30.11.18 11:25 Сейчас в теме
(4) Ты лучший - правильно!
9. Leoon 3 02.12.18 01:45 Сейчас в теме
(4)
В нашем случае;
A = Неопределено; //(А это - ОбластьСсылка.Параметры.ПрибыльПрогноз =)
B = Неопределено; //(B это - ОбластьСсылка.Параметры.ПрибыльПрогнозПроцент =)
C = 1;//(например)

A =
B =
C;//(С мы не видим, но догадываемся, вероятнее всего там тоже присвоение)
//*******
A = (B = C); //т.е A = (Неопределено = 1);
Сообщить(Строка(A)); //"Нет"
10. spacecraft 02.12.18 13:01 Сейчас в теме
(9) нет. Это булева алгебра.
А =
В =
С = 1;
Это тоже самое, что :
А = В = С = 1;
Расставим скобки порядка выполнения кода:
А = (В = (С = 1)));
В этом коде нет вообще присвоения. Тут булева алгебра. Этапы выполнения кода:
С равно 1? Нет. Результат Ложь.
В равно Ложь? Нет. Результат Ложь.
А = Ложь? Нет. Результат Ложь.
Присвоение все же есть.
А = Ложь.
11. Leoon 3 02.12.18 23:06 Сейчас в теме
(10) Ну это в, принципе, я и имел ввиду, просто сакцентировал момент на том что там значение какое-то есть у переменных.
3. VmvLer 30.11.18 11:10 Сейчас в теме
кроме магии тут еще и телепатия необходима - и будет писать сценарий для хита
8. user705522_constantin_h 35 30.11.18 12:19 Сейчас в теме
Вообще это логично, там же ничего нет, вот 1С и формирует НЕТ.
13. andadra 03.12.18 08:52 Сейчас в теме
(8)Ты не прав) Смотри ответ (4)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот