[РЕШЕНО] Вопрос по периодическим реквизитам

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Ростислав, 26 июл 2016.

  1. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Спр = ОбъектСправочникаСотрудник();
    Спр.Новый();

    Спр.ИспользоватьДату(НужнаяДата);

    Спр.Должность = "Кузнец";
    ....... и.т.д.
    Спр.Записать();

    Вопрос, почему в периодический реквизит не записывается дата, а вместо нее просто " . . " ?
  2. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Установить(<?>,);
    Синтаксис:
    Установить(<Дата>,<Значение>)
    Назначение:
    Установить значение периодического реквизита справочника на заданную дату.
    Параметры:
    <Дата> - выражение со значением требуемой даты;
    <Значение> - выражение, содержащее устанавливаемое значение периодического реквизита справочника.
    Замечание:
    Метод можно использовать только для периодических реквизитов справочника и если для справочника еще не применялся метод ИспользоватьДату. Метод можно использовать только для объектов-справочников, созданных функцией СоздатьОбъект.
  3. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Спасибо, это я читал и пробовал. В этом случае обычные реквизиты записываются, а когда обработчик доходит до строки с записью периодического реквизита выдает ошибку "Не выбран элемент!", хотя до этого записал обычный реквизит, что означает, что элемент выбран.
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Покажите, как Вы это делаете.
    Ростислав нравится это.
  5. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Через установку даты элементу: (не проставляется дата в реквизите)

    ................

    Иначе
    // Условие приводит сюда 100% - тестировалось
    Сотрудник = ОбъектСпрСотрудники();
    Сотрудник.Новый();
    КонецЕсли;

    // Проблема - почему-то не записывается дата в периодические реквизиты http://1c-pro.ru/threads/vopros-po-periodicheskim-rekvizitam.58384/
    Сотрудник.ИспользоватьДату(ДатаДок);

    Если ПустоеЗначение(ФИО) = 0 Тогда
    Сотрудник.Наименование = ФИО;
    КонецЕсли;
    Сотрудник.ДокПриемНаРаботу = НомерДок;
    Сотрудник.НомерДоговора = НомерДоговора;
    Сотрудник.ДатаСилыКонтракта = ДатаСилыДоговора;
    Сотрудник.ДатаЗаключенияДоговора = ДатаДок;
    Сотрудник.Подразделение = Подразделение;
    Сотрудник.Должность = Должность;
    Сотрудник.ДатаУвольнения = "";
    Сотрудник.ПричинаУвольнения = "";
    Сотрудник.Родитель = СправочникСотрудникиЭлементПоНаименованию(Подразделение);

    Сотрудник
    .Записать();


    Через установку реквизиту: (ошибка "Не выбран элемент ")
    ................

    Иначе
    // Условие приводит сюда 100% - тестировалось
    Сотрудник = ОбъектСпрСотрудники();
    Сотрудник.Новый();
    КонецЕсли;

    Если ПустоеЗначение(ФИО) = 0 Тогда
    Сотрудник.Наименование = ФИО; // Это обычный реквизит и он нормально проходит
    КонецЕсли;
    Сотрудник.ДокПриемНаРаботу = НомерДок; // Это обычный реквизит и он нормально проходит
    Сотрудник.НомерДоговора.Установить(ДатаДок,НомерДоговора); // Это периодический реквизит и тут происходит ошибка "Не выбран элемент"
    ........
    Сотрудник.Родитель = СправочникСотрудникиЭлементПоНаименованию(Подразделение);

    Сотрудник
    .Записать();

    Функция по созданию объекта имеет такой смысл (Синтаксис другой, но он проверен в других документах, так что код функции рабочий)
    Функция ОбъектСпрСотрудники()
    Возврат СоздатьОбъект("Справочник.Сотрудники");
    КонецФункции;
    Последнее редактирование: 26 июл 2016
  6. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    ты новый элемент запиши сначала, потом установить()
    Ростислав нравится это.
  7. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Спасибо. Понял.

    Тема закрыта

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