|
Типы сравнений. Подскажите пожалуйста | ☑ | ||
---|---|---|---|---|
0
Kostik2013
26.08.13
✎
23:45
|
1С:Предприятие 8.2 (8.2.15.310) УТ
Всем добрый вечер! Нужно сравнить два разных типа между собой. Один Строка в табличной части (ОтработанныхДней) а второй Число (НормаДней). Как правильно записать разные типы,чтоб получилось сравнить больше или меньше? Спасибо всем за помощь. &НаКлиенте Процедура ТаблицаОтработанныхДнейПриИзменении(Элемент) Если ОтработанныхДней > НормаДней Тогда Предупреждение("Превышение нормы рабочих дней !"); Отказ=Истина КонецЕсли; КонецПроцедуры |
|||
1
Max Street
26.08.13
✎
23:55
|
разные типы никак. попробуй написать:
Если Число(ОтработаноДней) > НормаДней Тогда |
|||
2
Kostik2013
26.08.13
✎
23:59
|
(1) все равно не определяет переменную ОтработанныхДней
|
|||
3
Max Street
27.08.13
✎
00:01
|
пишет, что не может преобразовать в тип Число?
а как ОтработаноДней вообще может быть строкой? |
|||
4
Kostik2013
27.08.13
✎
00:06
|
(3) я ввожу руками сколько дней отработано,вот и есть строка.Поменял на число,то же самое.
Отработано дней,находится в ТЧ а НормаДней Реквизит Вот,что пишет {Документ.НачислениеЗарплаты.Форма.ФормаДокумента.Форма(11,7)}: Переменная не определена (ОтработанныхДней) Если <<?>>ОтработанныхДней > НормаДней Тогда (Проверка: Толстый клиент (обычное приложение)) |
|||
5
Славен
27.08.13
✎
00:08
|
так ты определись с правильным названием, тебе же пишет что не вкурил что такое ОтработанныхДней
|
|||
6
Славен
27.08.13
✎
00:09
|
да и как ты строку ТЧ сравниваешь? тебе может всё же значение поля из строки
|
|||
7
Max Street
27.08.13
✎
00:10
|
т.е ОтработаноДней - реквизит ТЧ, а НормаДней - реквизит шапки?
если так, то: для каждого абв из ТЧ цикл если абв.отработанодней > нормадней тогда ... конецесли; конеццикла; |
|||
8
Славен
27.08.13
✎
00:11
|
(7)нах тогда "Процедура ТаблицаОтработанныхДнейПриИзменении(Элемент)" - ПриИзменении!
|
|||
9
Max Street
27.08.13
✎
00:13
|
(8) не ко мне вопрос
|
|||
10
Kostik2013
27.08.13
✎
00:13
|
(8) Если пользователь изменил значение
|
|||
11
Kostik2013
27.08.13
✎
00:16
|
(7) НормаДней реквизит в форме
|
|||
12
Kostik2013
27.08.13
✎
00:18
|
Получилось)Всем спасибо!
Для каждого Стр из НачисленияСотрудников Цикл Если Стр.ОтработанныхДней > НормаДней Тогда Предупреждение("Превышение нормы рабочих дней !"); Отказ=Истина КонецЕсли; КонецЦикла; НачисленоПоОкладу(); |
|||
13
acanta
27.08.13
✎
00:19
|
Стр = Элементы.абв.ТекущиеДанные;
Если Стр.ОтработанныхДней > НормаДней Тогда |
|||
14
Славен
27.08.13
✎
00:20
|
а если строк несколько тысяч? постоянно будешь перебирать все?
если уж суешь в приИзменении то вот и посмотри отладчиком какие данные есть в Элемент. (пысы ориентируйся на что то типа ДанныеСтроки, ТекущиеДанные, ТекущаяСтрока, для особо тупых ещё уточню ставишь точку останова смотришь что у тебя в Элемент, потом в выражении прямо дописываешь Элемент.ТекущаяСтрока или ....) |
|||
15
Max Street
27.08.13
✎
00:23
|
(12) кстати, да, вариант (13) лучше
|
|||
16
Wobland
27.08.13
✎
04:30
|
(12) я очень, очень хочу посмотреть на 20 тысяч предупреждений подряд
|
|||
17
Vovan_Magadan
27.08.13
✎
04:56
|
(7) что за быдло оформление когда))) аж глаза слезятся
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |