8.х Работа со справочником

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем OIT, 31 мар 2008.

  1. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    У каждого Контрагента имеется несколько договоров
    Как можно выбрать у данного Контрагента нужный договор
    то есть как то связать два справочника
    Подскажите пожалуйста
    Благодарю Вас
  2. vlashi
    Offline

    vlashi Опытный в 1С

    Регистрация:
    18 янв 2008
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВыбДог = Дог.Выбрать(,Контрагент,,);
    Пока ВыбДог.Следующий() Цикл
    //---------------------------------------
    
    КонецЦикла;
    
    
  3. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    А как сделать вот в таком случае:
    нахожу Контрагента в справочнике по наименованию,
    затем по этому Контрагенту добавляю договор и
    этот же договор использую в дальнейшей работе
    Будьте добры подскажите
    Благодарю Вас
  4. vlashi
    Offline

    vlashi Опытный в 1С

    Регистрация:
    18 янв 2008
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26
    В текстовом файле процедура поиска контрагента, если не находит то создает нового с реквизитами, затем создает договор и делает его основным. Как пример подойдет.
    Посмотреть вложение 813

    P.S. Это только кусок из обработки и из другой конфигурации.

    Вложения:

    • 81ExImpImp.txt
      Размер файла:
      5 КБ
      Просмотров:
      100
  5. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Код:
    Функция НайтиСотрудника(НаименованиеСотрудника,НовыйДоговор)
    НайденныйСотрудник = Справочники.Контрагенты.НайтиПоНаименованиюНаименованиеСотрудника,Истина);
    Если НайденныйСотрудник.Пустая() Тогда
    НовыйСотрудник = Справочники.Контрагенты.СоздатьЭлемент();
    НовыйСотрудник.Наименование       = НаименованиеСотрудника;
    НовыйСотрудник.НаименованиеПолное = НаименованиеСотрудника;
    НовыйСотрудник.УстановитьНовыйКод();
    НовыйСотрудник.Записать();
    НовыйСотрудник.ГоловнойКонтрагент = НовыйСотрудник.Ссылка;
    НовыйСотрудник.Записать();
    НайденныйСотрудник = НовыйСотрудник.Ссылка;
    КонецЕсли;
    НайденныйДоговор = Справочники.ДоговорыКонтрагентов.Выбрать(,НаименованиеСотрудника,,);
    
    /////////
    ЗДЕСЬ по НайденномуСотруднику(то есть Контрагенту) нужно добавить договор
    как это сделать
    Подскажите пожалуйста
    /////////
    Возврат НайденныйСотрудник;
    Возврат НовыйДоговор

    КонецФункции
  6. vlashi
    Offline

    vlashi Опытный в 1С

    Регистрация:
    18 янв 2008
    Сообщения:
    143
    Симпатии:
    0
    Баллы:
    26
    Это как мне кажется лишнее.
    Далее:
    Неправильно нужно
    Код:
    НайденныйДоговор = Справочники.ДоговорыКонтрагентов.Выбрать(,НовыйСотрудник,,);
    
    
    Добавляем договор:
    Код:
    НовДог = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
    НовДог.Владелец = НовКлиент.Ссылка;
    //----------------------------------------------------
    // присваиваем все необходимые реквизиты
    //----------------------------------------------------
    НовДог.Записать();
    НовыйСотрудник.ОсновнойДоговорКонтрагента = НовДог.Ссылка;
    НовыйСотрудник.Записать();
    
    
  7. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Я Вам очень благдарна
    Все получилось

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