Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как правильно сравнивать два строковых реквизита? 1с 7.7 конф 7.7.00          
ZUBR Подменю пользователя
сообщение 27.05.20, 1:27
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

Здравствуйте. Привожу кусок кода модуля документа АктПриема

Изм=0;
Мистер.ПочтовыйАдрес=Адрес;
Если  Мистер.ПочтовыйАдрес<>Адрес Тогда
                    Мистер.ПочтовыйАдрес =Адрес;
                    Изм=1;
                КонецЕсли;

И после этого оказывается, что Изм=1. Почему?

Поле ввода Адрес в документе заполнено вручную.
Мистер - это элемент справочника Контрагенты (через СоздатьОбъект)
Спасибо!

denis84 Подменю пользователя
сообщение 27.05.20, 7:57
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 421
Из: Украина
Спасибо сказали: 133 раз
Рейтинг: 132.5

ZUBR @ Сегодня, 2:27 * ,
Добрый день! Вот пример:

Мистер =СоздатьОбъект("Справочник.Контрагенты");    
Изм=0;
Мистер.НайтиПоКоду(Контр.Код,0);       //контр - реквизит на форме
КК = Мистер.ТекущийЭлемент();

Если  ВРЕГ(СокрЛП(КК.ПочтовыйАдрес))<>ВРЕГ(СокрЛП(Адрес)) Тогда
    изм = 0;
    сообщить(изм);
Иначе  
    Изм=1;
    сообщить(изм);
КонецЕсли;

Спасибо сказали: ZUBR,

pablo Подменю пользователя
сообщение 27.05.20, 9:21
Сообщение #3

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

У Вас может быть разная длина полей ПочтовыйАдрес и Адрес. Например, почтовый адрес 20 символов, а адрес - 50 символов. Копирование произойдет с отсечением лишних символов, а сравнение не выполнится, т.к. длина строк разная.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Спасибо сказали: ZUBR,

volodya1122 Подменю пользователя
сообщение 27.05.20, 9:27
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

Невелике пояснення до відповіді denis84.
Чому використовується СокрЛП. Тому, що для текстового поля, його значення завжди займає всі символи відведені для нього. Якшо вказали наприклад 100 символів, то незалежно від того скільки заповнили, строка для 1С буже виглядати так (наприклад Адреса: "м. Київ, вул Банківська __________________________ " - тобто допониться пробілами до 100 символів)

П.с., не по темі. Бачу ви всі повідомлення пишети вночі, А спите коли, вдень? При такій великій нагрузці можна скоро "вигоріти" на роботі

Сообщение отредактировал volodya1122 - 27.05.20, 9:28

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 28.05.20, 22:47
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

volodya1122 @ Вчера, 10:27 * ,
Я взагалі не сплю)));

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:11
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!