Имя: Пароль:
1C
 
не создается элемент справочника
0 Adilgeriy
 
04.05.19
21:33
вынес часть кода в отдельную функцию и перестал создаваться новый элемент справочника
https://a.radikal.ru/a01/1905/f4/96cb99cecac4.png

текст функции
Функция ПолучитьПодразделениеСсылка(ПодразделениеИмя,Организация)
    ПодразделениеСсылка    = Справочники.Подразделения.НайтиПоНаименованию(ПодразделениеИмя,,,Организация);
    Если ПодразделениеСсылка = Справочники.Подразделения.ПустаяСсылка() Тогда
        Подразделение                = Справочники.Подразделения.СоздатьЭлемент();
        Подразделение.Владелец        = Организация;
        Подразделение.Наименование    = ПодразделениеИмя;
        Подразделение.Записать();
        ПодразделениеСсылка = Подразделение.ССылка;
    КонецЕсли;
    Возврат    (ПодразделениеСсылка);
КонецФункции
1 palsergeich
 
04.05.19
22:09
Скорее всего потому что     ПодразделениеСсылка    = Справочники.Подразделения.НайтиПоНаименованию(ПодразделениеИмя,,,Организация); возвращает НЕОПРЕДЕЛЕНО
2 palsergeich
 
04.05.19
22:11
Я бы во избежание натих казусов заменил
  Если ПодразделениеСсылка = Справочники.Подразделения.ПустаяСсылка() Тогда
На
  Если Не ЗначениеЗаполнено(ПодразделениеСсылка) Тогда
3 Adilgeriy
 
04.05.19
22:13
Ну да. Если не находит то создаёт новое подразделение
Не срабатывает код:
Подразделение = сСправочники.Подразделения.СоздатьЭлемент()
4 palsergeich
 
04.05.19
22:14
(3) На чем валится то? Что значит не создает?
5 palsergeich
 
04.05.19
22:15
Ты блин тоже скриншот сделал, а самое нужное - обрезал, и сиди играй в Вангу, что там на самом деле
6 Adilgeriy
 
04.05.19
22:31
(5) сори не увидел как обрезал
https://d.radikal.ru/d29/1905/ec/586fc2f15cb8.png
7 palsergeich
 
04.05.19
22:33
(6) Вот теперь все ясно.
Подразделение - скорее всего реквизит формы с типом строка.
Замените
Подразделение                = Справочники.Подразделения.СоздатьЭлемент();
        Подразделение.Владелец        = Организация;
        Подразделение.Наименование    = ПодразделениеИмя;
        Подразделение.Записать();
        ПодразделениеСсылка = Подразделение.ССылка;
На
ПодразделениеОбъект                = Справочники.Подразделения.СоздатьЭлемент();
        ПодразделениеОбъект.Владелец        = Организация;
        ПодразделениеОбъект.Наименование    = ПодразделениеИмя;
        ПодразделениеОбъект.Записать();
        ПодразделениеСсылка = ПодразделениеОбъект.ССылка;
8 Aleksey
 
04.05.19
22:33
Подразделение - строка?
Случайно реквизита с таким имени нет?
9 palsergeich
 
04.05.19
22:34
(8) 100% дело в этом
10 Adilgeriy
 
04.05.19
22:34
есть на форме
11 palsergeich
 
04.05.19
22:34
(10) Смотри (7)
12 palsergeich
 
04.05.19
22:34
Этого достаточно
13 Adilgeriy
 
04.05.19
22:38
да был реквизит на форме. с формы убрал в списке реквизитов остался. спасибо большое. миста как всегда меня спасла
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.