7.7 Автоматическое заполнение табличной части документа

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

  1. TopicStarter Overlay
    Anton_Davids
    Offline

    Anton_Davids

    Регистрация:
    5 дек 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте! 1с предприятие v 7.70.025. Мне нужно чтоб при создании документа автоматически заполнились два табличных реквизита: Наименование и должность. заполнение происходит из справочника с одноименными реквизитами. возможно ли это реализовать в "процедуре приоткрытии" , и если да, то в каком модуле? спасибо..
  2. Vlad
    Offline

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

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Конфигурация какая?
  3. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Возможно. Видимо, в модуле документа
  4. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
  5. Хряк
    Online

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    зачем два заполнять
    при условии, что спр спозицирован на сотруднике
    сотр=спр.текущий элемент() (или спр.наименование)
    должн=спр.должность (должн - текстовый рекв на форме)
  6. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    В таком случае документ лучше не открывать :angry:

    Если при интерактивном создании - Метод документа "ВВодНового()"
    Если при программном - перебор справочника и построчное заполнение.
  7. TopicStarter Overlay
    Anton_Davids
    Offline

    Anton_Davids

    Регистрация:
    5 дек 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    вот как пробую я..не заполняется..ввожу в модуле формы..подскажите что не так..
    Процедура ПриОткрытии()
    Справ=СоздатьОбъект("Справочник.сотрудники");
    выбратьстроки();
    Пока получитьстроку()=1 Цикл
    Активизироватьстроку();
    наименование=Справ.Наименование;
    должность=справ.должность;
    конеццикла
    Записать();
    Конецпроцедуры
  8. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Вам что нужно? При создании нового/открытии существующего (нужное подчеркнуть) документа заполнить табличную часть какими-то данными? Какими?
    В вашем коде вы в каждую (существующую) строку документа пытаетесь записать пустые данные.
  9. Хряк
    Online

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    справ не спозицирован
    Процедура ПриОткрытии()
    Справ=СоздатьОбъект("Справочник.сотрудники");
    справ.выбратьэлементы
    пока справ получитьэлемент
    если справ.это группа
    продолжить
    конец
    НоваяСтрока
    наименование=Справ.ТекущийЭлемент;
    должность=справ.должность;
    конеццикла

    открой любую типовую с кнопкой Заполнить
  10. TopicStarter Overlay
    Anton_Davids
    Offline

    Anton_Davids

    Регистрация:
    5 дек 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    а система 7.7 такое понимает?

    При создании нового документа заполнить табличную часть списком сотрудников из заполненного справочника "сотрудники".
  11. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Не понимает. Это должен понимать программист, и объяснить системе.
    Алгоритм верный. Только использовать не при открытии, а при вводе нового документа, я об этом выше уже писал.
  12. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Как-то так:
    Код:
    Процедура ВводНового(ПризнКопирования)
    Если ПризнКопирования = 0 Тогда 
    СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
    СпрСотр.ВыбратьЭлементы();
    Пока СпрСотр.ПолучитьЭлемент() = 1 Цикл
    Если (СпрСотр.ЭтоГруппа() = 0) И (СпрСотр.ПометкаУдаления() = 0) Тогда
    НоваяСтрока();
    Наименование = СпрСотр.Наименование; // или СпрСотр.ТекущийЭлемент(), если нужна ссылка
    Должность = СпрСотр.Должность;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;  
    КонецПроцедуры
    
    
  13. TopicStarter Overlay
    Anton_Davids
    Offline

    Anton_Davids

    Регистрация:
    5 дек 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Спасибо!! Только не выводится реквизит наименование..есть мысли почему? дело не в типе?
  14. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    А какой тип у реквизита ТЧ Наименование?
  15. TopicStarter Overlay
    Anton_Davids
    Offline

    Anton_Davids

    Регистрация:
    5 дек 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    поставил ТекущийЭлемент() и заполнилось.. Спасибо за помощь!

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