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

Хранилище

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

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



> СообщениеПользователю - Поле          
mister-x Подменю пользователя
сообщение 12.03.11, 18:19
Сообщение #1

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

На реквізиті форми ДатаДоставки є процедура:

&НаКлиенте


Процедура ДатаДоставкиПриИзменении(Элемент)
    

Если Объект.ДатаДоставки < ТекущаяДата() Тогда    


        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Дата доставки товара не может быть меньше текущей даты!";
        Сообщение.Поле = Объект.ДатаДоставки;
        Сообщение.УстановитьДанные(Объект);
        Сообщение.Сообщить();
        Объект.ДатаДоставки = ТекущаяДата();
    КонецЕсли;
    
КонецПроцедуры


тобто потрібно, щоб при введені дати доставки, меншої за системну дату видавалось повідомлення, що прив"язане до елемента ДатаДоставки і відповідно в дату доставки прописувати системну дату.


При такому коді, платформа видає помилку:

{Документ.ЗаявкаНаТранспорт.Форма.ФормаДокумента.Форма(7)}: Ошибка при установке значения атрибута контекста (Поле)
Сообщение.Поле = Объект.ДатаДоставки;
Несоответствие типов



Чому?

logist Подменю пользователя
сообщение 12.03.11, 18:31
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

"Поле" должно быть названием элемента формы типа строка, а не реквизитом.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Боромир Подменю пользователя
сообщение 12.03.11, 18:34
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 3 раз
Рейтинг: 0

Если Объект.ДатаДоставки < ТекущаяДата() Тогда

замените на
Если ЭтотОбъект.ДатаДоставки < ТекущаяДата() Тогда
Причина редактирования: Выделяйте код.

logist Подменю пользователя
сообщение 12.03.11, 18:35
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Если не ошибаюсь, в Вашем случае должно быть так:
Сообщение.Поле = "ДатаДоставки";


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: mister-x,

Боромир Подменю пользователя
сообщение 12.03.11, 18:40
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 3 раз
Рейтинг: 0

Цитата(logist @ 12.03.11, 19:35) *
Если не ошибаюсь, в Вашем случае должно быть так:
Сообщение.Поле = "ДатаДоставки";

или
Сообщение.Поле = Формат(ДатаДоставки,"ДЛФ=д");

как вариант

Спасибо сказали: mister-x,

mister-x Подменю пользователя
сообщение 12.03.11, 18:42
Сообщение #6

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

а як тоді повідомомлення причепити до ДатаДоставки?

Vofka Подменю пользователя
сообщение 12.03.11, 19:00
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
а як тоді повідомомлення причепити до ДатаДоставки?

Вы попробовали, как написал logist?
Сообщение.Поле = "ДатаДоставки";

mister-x Подменю пользователя
сообщение 12.03.11, 19:12
Сообщение #8

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Так, повідомлення №6, було написане до того як з"явились повідомлення №№4-5. smile.gif

Цитата(Боромир @ 12.03.11, 19:34) *
Если Объект.ДатаДоставки < ТекущаяДата() Тогда
замените на
Если ЭтотОбъект.ДатаДоставки < ТекущаяДата() Тогда


воно і так працює, а в чому полягає різниця?

logist Подменю пользователя
сообщение 12.03.11, 19:18
Сообщение #9

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(mister-x @ 12.03.11, 19:13) *
воно і так працює, а в чому полягає різниця?

Ну читайте ж "Синтаксис-помощник", там все замечательно описано, и зачастую с примерами.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

mister-x Подменю пользователя
сообщение 12.03.11, 19:32
Сообщение #10

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Читаю:
ЭтотОбъект (ThisObject)
Использование:

Только чтение.
Описание:

Тип: ДокументОбъект. Содержит сам объект базы данных. Предназначено, в основном, для получения данного объекта встроенного языка в модуле объекта или модуле формы.

Доступность:

Сервер, толстый клиент, внешнее соединение.

Наскільки я розумію - тут я маю копію об"єкта із сервера, при зміні копії об"єкта при записі форми відбувається синхронізація копії об"єкту із об"єктом на сервері.

При чому ЭтотОбъект (ThisObject) в процедурі, яка компілюється на клієнті недоступний.

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

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

Цитата
Наскільки я розумію - тут я маю копію об"єкта із сервера, при зміні копії об"єкта при записі форми відбувається синхронізація копії об"єкту із об"єктом на сервері.

Контекст выполнения процедуры желательно указывать.

Для Вашего случая уже указан ответ в №5.
Еще один вариант:
Сообщение.Поле = Строка(ДатаДоставки);


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

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

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

P.S. Контекст не увидел, виноват


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

mister-x Подменю пользователя
сообщение 14.03.11, 17:23
Сообщение #13

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата(pablo @ 14.03.11, 10:06) *
P.S. Контекст не увидел, виноват

Контекст висвітлено в топікстартері (&НаКлиенте) wink.gif

http://pro1c.org.ua/index.php?showtopic=31...pid=20035&#

mister-x Подменю пользователя
сообщение 14.03.11, 17:24
Сообщение #14

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Всім дякую за допомогу, скористався повідмленнями 4-5, тему закрити.

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


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

 

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