Имя: Пароль:
1C
1С v8
Как написать правильно выражение
0 qazokm
 
04.02.15
06:22
Не хотелось бы злоупотреблять вашим вниманием... но
есть условие
if  СтрокаТЗ.ВидРасчета="001" then
Понятно, что это не сработает, поэтому поставил точку останова... посмотреть в дебугере, что эта ссылка ведет к План видов расчета ОсновныеНачисленияОрганизаций, и там написано 001 оплата...
Как надо правильно написать условие...
1 lxndr
 
04.02.15
06:23
001 оплата - это код и наиименование.
Вид расчета предопределенный?
2 Лодырь
 
04.02.15
06:26
Ты это, не пиши на английском в 1С. не поймутс коллеги..
3 qazokm
 
04.02.15
06:28
может у меня коллеги англичЯне
4 VladZ
 
04.02.15
06:30
(3)  Тогда уж все по-буржуйски пиши.
5 VladZ
 
04.02.15
06:31
А вот начать нужно с другого!
1. Навести порядок в голове.
6 qazokm
 
04.02.15
06:32
тогда здесь не поймут...
7 qazokm
 
04.02.15
06:33
Порядок, систематизация и т.д., это когда количество переходит в качество, пока наработок минимум, поэтому о систематизации говорить рано
8 Sserj
 
04.02.15
06:34
(6) Главное что бы сам себя понимал :)

Вообщем в (1) все объяснено, ты сравниваешь ссылочное значение со строковым представлением.
9 qazokm
 
04.02.15
06:36
да, только подтолкнуть, вот сейчас думаю как из наименования выделить значение... но тут уже как-то опасаюсь спросить лишняя порция негатива не нужна...:-))
10 DrZombi
 
гуру
04.02.15
06:36
(3) Может быть ты тогда освоишь Отладчик по человечески. И начнешь читать книги по описанию языка программирования 1С.
Можешь читать для 8.0, в 8.3 особо не поменялось.
И научишься как раз различать Агрегатный тип от типа "Строка" :)
11 DrZombi
 
гуру
04.02.15
06:37
(9) Отладчик... Отладчик спасет тебя. Даже на С# без отладчика никак. Ты как вообще программируешь. :)
12 Sserj
 
04.02.15
06:37
(9) Лучше никак.
Тобишь быстрый и тупой вариант :

if  СокрЛП(СтрокаТЗ.ВидРасчета)="001..." then

Но лучше "001" заменить на что-то более авторитетное.
13 1Сергей
 
04.02.15
06:39
Почитай про предопределенные значения
14 Sserj
 
04.02.15
06:40
(11) Незаню, незнаю, я принципиально к примеру когда учусь ни отладчиками, ни если есть возможность IDE не пользуюсь.
Пару месяцев исходники в блокноте понабивал и объектную модель на изусть выучил
:)
15 qazokm
 
04.02.15
06:41
(12) да раньше я сделал бы искомыйкод=val(ВидРасчета.Наименование) и получил бы 1, тут я сейчас пока в поиске...:-)
16 DrZombi
 
гуру
04.02.15
06:51
Жесть, после тебя еще не один программер будет плеваться, по поводу "Строка(ВидРасчета.Наименование) = "Еще строка"" :)
17 Любопытная
 
04.02.15
07:25
Может ТС всю задачу озвучит? Глядишь - найдется с чем вид расчета сравнивать
18 organizm
 
04.02.15
07:49
Программировать не умеет, разницу между типами данных не понимает, а все туда же: "...фу, да 1С на русском...", наверно, еще и авторитетные посты где-н. пишет...
19 RomaH
 
naïve
04.02.15
08:00
к стати - вместо сравнения кода или наименования сос трокой - для "своих" баз может "правильнее" использовать сравнение уникального идентификатора?

т.е. вот база ЗУП - вполне конкретная база
в ней есть не предопределенный ВР
в каком-то отчете/обработке его надо выделить

может вместо ВР.Код = "001" использовать
ВР.УникальныйИдентификатор() = "213468462-4465464-45465654"

зато при смене кода - код будет рабочим
20 ShoGUN
 
04.02.15
08:04
21 ShoGUN
 
04.02.15
08:07
(18) "Авторитетных" постов он уже достаточно накатал. Хотя бы про ORM почитал, может не создавал бы таких г*вн*тем.