Имя: Пароль:
1C
1С v8
Справочник: найти и присвоить элемент, а не группу.
,
0 листопад
 
14.09.12
11:20
В спр.СтатьиЗатрат есть группа "ЗАРПЛАТА" и есть элемент справочника "Зарплата". Пишу обработку, которая должна счету26 присвоить субконто "Зарплата". Как поставить условие, что должен искать "Зарплата" не в группе справочника, а в элементах? сейчас он присваивает Группу "ЗАРПЛАТА".

Вот кусок кода:

Субконто26 = Справочники.СтатьиЗатрат.НайтиПоНаименованию("Зарплата", Истина);

Для каждого Строка Из ТабЧасть Цикл
   //...
   Проводка.СчетДт = Счет26;
   Проводка.СубконтоДт2 = Субконто26;
   //...
КонецЦикла;
1 Нуф-Нуф
 
14.09.12
11:20
через запрос
2 Нуф-Нуф
 
14.09.12
11:20
а вообще искать по наименованию это моветон
3 листопад
 
14.09.12
11:23
(1) А без запроса?
4 salvator
 
14.09.12
11:24
(3) По коду ищи...
5 bazvan
 
14.09.12
11:25
Проверка "ЭтоГруппа"
6 ptiz
 
14.09.12
11:26
Я тут видел код, в котором перебором ищут :)
7 osa1C
 
14.09.12
11:27
Если Субконто26.ЭтоГруппа() = Истина Тогда
  Продолжить;
КонецЕсли;
8 МихаилМ
 
14.09.12
11:28
без запроса в транзакции

пока не найден "нужный" элемент
НайтиПоНаименованию(
пометка на удаление

отмена транзакции
9 ptiz
 
14.09.12
11:39
(8) Ну это совсем "по-семерочному"!
10 sanja26
 
14.09.12
11:42
(0)а в найтиПоНаименованию пустого родителя задать...
11 листопад
 
14.09.12
11:45
Пишу:

Выборка=Справочники.СтатьиЗатрат.Выбрать();
   Пока Выборка.Следующий()  Цикл
       Если Выборка.ЭтоГруппа() Тогда
           Продолжить;
       КонецЕсли;
       Субконто26 = Выборка.НайтиПоНаименованию("Зарплата", Истина);
   КонецЦикла;    


Пишет ошибку:

Документ.ОтражениеЗарплатыВРеглУчете.Форма.ФормаДокумента.Форма(1708)}: Метод объекта не обнаружен (ЭтоГруппа)
       Если Выборка.ЭтоГруппа() Тогда
12 DrShad
 
14.09.12
11:46
без скобок
13 DrShad
 
14.09.12
11:47
да и лучше запрос, чем выборка - когда статей будет дофигища, как быстро найдет нужную?
14 salvator
 
14.09.12
11:47
(11) Чем поиск по коду тебе не угодил?
15 листопад
 
14.09.12
11:48
(12) Убрала скобки, теперь пишет ошибку:
{Документ.ОтражениеЗарплатыВРеглУчете.Форма.ФормаДокумента.Форма(1711)}: Метод объекта не обнаружен (НайтиПоНаименованию)
       Субконто26 = Выборка.НайтиПоНаименованию("Зарплата", Истина);
16 Жан Пердежон
 
14.09.12
11:48
(11) на кол за такое
17 sanja26
 
14.09.12
11:50
(16) два дня уже пора)
18 Eugene_life
 
14.09.12
11:51
(15) вот так примерно:
Выборка=Справочники.СтатьиЗатрат.Выбрать();
   Пока Выборка.Следующий()  Цикл
       Если Выборка.ЭтоГруппа() Тогда
           Продолжить;
       ИначеЕсли Выборка.Наименование = "Зарплата" Тогда
           СтатьяЗарплатаНеГруппа=Выборка.Ссылка;
           Прервать;
       КонецЕсли;
   КонецЦикла;
Субконто26 = СтатьяЗарплатаНеГруппа;
19 salvator
 
14.09.12
11:52
(15) Пишешь не думая вообще? Какая нафиг Выборка.НайтиПоНаименованию?
20 ptiz
 
14.09.12
11:52
(15) Советую навсегда забыть метод .Выбрать() объекта СправочникМенеджер и пользоваться только запросами.
21 листопад
 
14.09.12
11:57
(18) получилось, только скобки пришлось убрать ЭтоГруппа.
СПАСИБО!!!
22 DrShad
 
14.09.12
12:00
как обычно самый не оптимальный вариант победил у ТС, а остальные она тупо игнорит - ибо не понимает
23 программистище
 
14.09.12
12:37
(22) сиськи есть, больше и ничего не надо
они сами за тебя все сделают