Имя: Пароль:
1C
1C 7.7
v7: Справочник
,
0 ZADR
 
13.11.13
17:20
Как правильно обратиться к справочнику?
Пишу:
Форма.Организация = Справочники.Организации.ПолноеНаименование.НайтиПоНаименованию("АФ РГКП "ЦСМ"МЗ РК",0,0);
и выходит ошибка:
Форма.Организация = Справочники<<?>>.Организации.ПолноеНаименование.НайтиПоНаименованию("АФ РГКП "ЦСМ"МЗ РК",0,0);
{C:\USERS\USER\DESKTOP\ИМПОРТ\ЗАГРУЗКАПОСТУПЛЕНИЯИЗЕКСЕЛЯ.ERT(28)}: Переменная не определена (Справочники)
1 ДенисЧ
 
13.11.13
17:23
Справочники.Организации.ПолноеНаименование.НайтиПоНаименованию
Это за гранью уже....

А ещё наверняка ты в тонком клиенте НаКлиенте это делаешь....
2 vicof
 
13.11.13
17:23
(1) И в семерке (см. секцию)
3 ZADR
 
13.11.13
17:24
Я просто раньше только на восьмерке работал, а тут чуть по другому..
подскажите если не сложно...
4 ZADR
 
13.11.13
17:25
(2)Секция правильная
5 vicof
 
13.11.13
17:25
(3) Кури СОздатьОбъект
6 ZADR
 
13.11.13
17:27
(5) а как?
можете пример кода написать?
7 mikecool
 
13.11.13
17:27
"АФ РГКП "ЦСМ"МЗ РК" - по такому наименование ни в 77 ни в 8 нихрена не найдешь
даже не скомпилишь модуль
8 KishMish
 
13.11.13
17:27
(0)
Спр=СоздатьОбъект("Справочник.Организации");
Если Спр.НайтиПоНаименованию("ТрамПамПам")=1 Тогда
Сообщить("Найденный элемент: "+Спр.ТекущийЭлемент());
Иначе Сообщить("На найдено по наименолванию");
КонецЕсли;
9 KishMish
 
13.11.13
17:29
+(8)
Спр.НайтиПоНаименованию("АФ РГКП ""ЦСМ""МЗ РК")
10 mikecool
 
13.11.13
17:30
(8) ему по полному наименованию надо найти, судя по сабжу
11 ZADR
 
13.11.13
17:30
Если Спр.НайтиПоНаименованию("АФ РГКП "<<?>>ЦСМ"МЗ РК")=1 Тогда
ошибка
{C:\USERS\USER\DESKTOP\ИМПОРТ\ЗАГРУЗКАПОСТУПЛЕНИЯИЗЕКСЕЛЯ.ERT(31)}: Ожидается символ ')'
12 mikecool
 
13.11.13
17:30
+10 а тут либо запрос, либо перебор
13 mikecool
 
13.11.13
17:30
(11) я тебе что в (7) написал? как ты в 8 писал строки с кавычками в параметрах??
14 ZADR
 
13.11.13
17:31
а если по коду найти : 00000002
15 КонецЦикла
 
13.11.13
17:31
ZADR - Перебежчик-васьмерашнег?
16 mikecool
 
13.11.13
17:31
(15) да он тот еще восмерочник...
17 KishMish
 
13.11.13
17:31
(11) смотри (9)
и это поиск по наименованию
если нужен по реквизиту ПолноеНаименование
2 варианта.
1. Делать сортировку в конфе по этому реквизиту и юзать НатиПоРеквизиту
2. Юзать ВыбратьЭлементы();
ПолучитьЭлемент() и сравнивать реквизиты
18 mikecool
 
13.11.13
17:33
(17) сортировку по полю неограниченной длины, коим оно скорее всего и окажется, не сделать
тут запрос напрашивается, а быстрее - прямой
19 ZADR
 
13.11.13
17:33
Спр=СоздатьОбъект("Справочник.Организации");
          Если Спр.НайтиПоКоду(00000002,)=1 Тогда
             Сообщить("Найденный элемент: "+Спр.ТекущийЭлемент());
             Иначе Сообщить("На найдено по наименолванию");
             КонецЕсли;

так правильно?
20 Builder
 
13.11.13
17:34
(14) Не поверишь -
Спр.НайтиПоКоду();
21 Builder
 
13.11.13
17:34
(19)
НайтиПоКоду("0000002")
22 mikecool
 
13.11.13
17:34
(19) если код числовой, то да
если текстовый, то Спр.НайтиПоКоду("00000002"
23 ZADR
 
13.11.13
17:38
пишу так:

    Спр=СоздатьОбъект("Справочник.Организации");
          Если Спр.НайтиПоКоду(00000002,)=1 Тогда
             Сообщить("Найденный элемент: "+Спр.ТекущийЭлемент());
             Иначе Сообщить("На найдено по коду");
             КонецЕсли;
    Организация = Спр;

на табло выходит "На найдено по коду"
и поле организация пустое на форме
24 Builder
 
13.11.13
17:42
Кавычки, у тебя код однозначно текстовый!
1. Если Спр.НайтиПоКоду("00000002")=1 Тогда
Ну и
2. Организация = Спр.ТекущийЭлемент();
25 ZADR
 
13.11.13
17:45
Спр=СоздатьОбъект("Справочник.Организации");
          Если Спр.НайтиПоКоду("00000002",)=1 Тогда
             Сообщить("Найденный элемент: "+Спр.ТекущийЭлемент());
             Иначе Сообщить("Не найдено по коду");
             КонецЕсли;
    Организация = Спр.ТекущийЭлемент();

по прежнему поле поле "организация" на форме пустое...
26 mikecool
 
13.11.13
17:46
Спр.НайтиПоКоду("00000002", 0)
27 ZADR
 
13.11.13
17:47
(26)не помогло...
28 mikecool
 
13.11.13
17:48
(27) теперь только бубен и отладчик помогут
29 ZADR
 
13.11.13
17:49
а почему надо писать СоздатьОбъект?
ведь этот реквизит уже есть в справочниках...
30 mikecool
 
13.11.13
17:49
(29) поверь на слово...
31 ZADR
 
13.11.13
17:50
(30) хорошо)
32 ZADR
 
13.11.13
17:51
может еще кто то подскажет?
33 mikecool
 
13.11.13
17:51
(32) тебе уже подсказали все, что нужно для определения элемента справочника
34 ZADR
 
13.11.13
17:53
ну тогда второй вопрос:
Как заполнить значение в поле "организация" программно?
35 mikecool
 
13.11.13
17:54
Select S.Id [Ссылка $Справочник.Организации]
from $Справочник.Организации S
where S.Code Like "%00000002%"
запрос для 1с++
36 ZADR
 
13.11.13
17:55
(35)а для 1с 7.7?
37 Builder
 
13.11.13
17:55
(34) Ну вот так как ты делаешь.
Проверь количество нулей в коде, оно у тебя разное :)
38 mikecool
 
13.11.13
17:56
(36) это для 77 и есть
39 akaBrr
 
13.11.13
17:57
(34) Форма.Организация = Спр.ТекущийЭлемент();
40 akaBrr
 
13.11.13
17:58
(39) Упс, Организация = Спр.ТекущийЭлемент();
41 vova1122
 
13.11.13
18:03
(25)
1. А Сообщить("Найденный элемент: "+Спр.ТекущийЭлемент()); находит элемент?
2. Реквизит "Организация" какого типа?
42 ZADR
 
13.11.13
18:09
1. да находит
2. а как в 7 ке посмотреть тип? зайти в свойства? там ничего такого нет
43 Builder
 
13.11.13
18:11
(42) В свойствах элемента формы - закладка "Тип"
44 Стрелок
 
13.11.13
18:19
вот и выросло племя. с 8 на 7.7 гораздо сложнее перейти чем обратно смотрю... чел даже не удосужился вначале сам по примерам из букварей что то сделать. работает влоб и напролом. авось подскажут код... печально
45 Pahomich
 
13.11.13
18:19
Семерочка, это вам не восьмерка...Тут думать, соображать надо! Наскоком не возьмешь
46 vova1122
 
13.11.13
18:24
(45) и наоборот... Семерошники так говорят о восьмёрке
47 Pahomich
 
13.11.13
18:25
(42) Сообщить("Тип Чего="+ТипЗначенияСтр(Чего))
48 Стрелок
 
13.11.13
18:25
(46) может и так только с 7.7 на восемь куча народа перешла и прекрасно знают обе версии. а вот с 8-ки на 7.7 баста карапузики. потому как надо гораздо больше понимать чем в 8-ке.
49 viktor_vv
 
13.11.13
18:37
(46) Да не, в восьмерке наоборот, все более-менее разложено по полочкам.

А вот для восьмерочника семерошный

Спр=СоздатьОбъект("Справочник.Организации");

этакая неочевидная помесь СправочникМенеджер и СправочникОбъект в одном флаконе, без поллитры не поймешь :)).
Закон Брукера: Даже маленькая практика стоит большой теории.