7.7 Изменение реквизита справочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Skyrim, 25 янв 2011.

  1. TopicStarter Overlay
    Skyrim
    Offline

    Skyrim Опытный в 1С

    Регистрация:
    1 ноя 2010
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    По коду нужно найти элемент справочника и изменить реквизит. Тип реквизита Справочник.Пользователи
    ПКтоЗанес="Имя_пользователя"
    Код:
    спр.НайтиПоКоду(номер);
    спр.КтоЗанес=ПКтоЗанес;
    
    
    Менял тип реквизита на строковый, пробовал присвоить строку "оарвч", реквизит все равно имеет пустое значение. Что я не так делаю.

    Код:
    Код:
    спр.НайтиПоКоду(номер);
    
    
    работает коректно
  2. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    больше кода показывай
    Код:
    Тип реквизита Справочник.Пользователи
    
    спр1.найтипонаименованию("иванов")
    спр.НайтиПоКоду(номер);
    спр.КтоЗанес=спр1.текущийэлемент()
    
    
    зы:это рыба, синтаксис сам
  3. TopicStarter Overlay
    Skyrim
    Offline

    Skyrim Опытный в 1С

    Регистрация:
    1 ноя 2010
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура Загрузка()
    
    ФТекст=СоздатьОбъект("Текст");
    ФТекст.открыть("Файл.txt");
    спр=СоздатьОбъект("Справочник.Контрагенты");
    Для ном=1 по ФТекст.количествострок() цикл  
    номер=Лев(Фном.ПолучитьСтроку(ном),5);
    Пктозанес=Сред(Фном.ПолучитьСтроку(ном),7);      
    спр.НайтиПоКоду(номер);
    спр.КтоЗанес=Пктозанес;
    Рек=спр.ПолнНаименование;
    КонецЦикла;
    
    КонецПроцедуры
    
    содержание файла

  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Попробуй использовать метод ТекущийЭлемент().

    [warn="!!! ВНИМАНИЕ !!!"]Давайте начнем пользоваться тегами?!![/warn]
  5. TopicStarter Overlay
    Skyrim
    Offline

    Skyrim Опытный в 1С

    Регистрация:
    1 ноя 2010
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Если можна дайте пример. Поставил тип реквизита строка. Как ему присвоить строку "строка" ?
  6. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    я те уже писал
    Код:
    спр1=создатьобъект("Справочник.Пользователи")
    спр1.найтипонаименованию(Пктозанес)
    спр.НайтиПоКоду(номер);
    спр.КтоЗанес=спр1.текущийэлемент()
    
    
  7. TopicStarter Overlay
    Skyrim
    Offline

    Skyrim Опытный в 1С

    Регистрация:
    1 ноя 2010
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Все равно не хочет работать. Вот пытаюсь такую обработку сделать:
    Код:
    Процедура Выполнить()
    
    спр=СоздатьОбъект("Справочник.Контрагенты"); 
    спр.выбратьЭлементы();
    Пока Спр.получитьЭлемент()=1 Цикл
    спр.ПолнНаименованиеНал=спр.ПолнНаименование;
    КонецЦикла;  
    
    КонецПроцедуры
    
    
    Аналогичная ситуация реквизит ПолнНаименованиеНал никак не изменяется. :angry:
    Во всех элементах реквизит ПолнНаименованиеНал имеет пустое значение. Типы реквизитов строковые.
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    вы присваиваете (т.е. изменяете).
    А кто за вас сохранять-то будет)))))

    Код:
    Спр.Записать()
    
    
    внутри цикла - т.к. для каждого элемента)))))
  9. TopicStarter Overlay
    Skyrim
    Offline

    Skyrim Опытный в 1С

    Регистрация:
    1 ноя 2010
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Вторая обработка заработала :angry:
    Попробую теперь первую.
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Поздравляю.))) Рекомендую использовать конструкцию
    Код:
    НачатьТранзакцию()
    //тут код
    ЗафиксироватьТранзакцию()
    
    
    
    для ускорения процесса (если справочник большой)

Поделиться этой страницей