7.7 сбор данных в справочник

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

  1. TopicStarter Overlay
    rusl_an
    Offline

    rusl_an

    Регистрация:
    14 ноя 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, у меня такая проблемка: имеем 3 справочника. Контрагенты, местонахождение и расписание. (все прикручено на базу 1с7 усн).
    что требуется:
    1) вносить в справочник "Контрагенты" месторасположение клиента из справочника "Местонахождение" (в нем у меня жестко прописаны районы города ). - сделано
    2) вносить в справочник "Расписание" клиентов из справочника "Контрагенты" - сделано
    3) При внесении в в справочник "Расписание" клиентов из справочника "Контрагенты" нужно чтобы в соответствующее поле формы справочника "Расписание" автоматом вносилось и его местонахождение из пункта 1. Ну и соответственно, если местонахождение не занесено для данного клиента, то была возможность сразу его внести из формы справочника "Расписание" - вот в этом собственно проблема, пока с таким не разу не сталкивался. Помогите реализовать.

    P.S. все выше сказанное нужно для формирования отчета расписания в котором можно будет группировать как по инженерам кто куда едет, так и по районам города, чтоб проще было определить в какой район кого отправить. Собственно сейчас и возникла необходимость в группировке по районам т.к. нереально помнить кто где находится - ну да с отчетом я разберусь, если получится пункт 3 реализовать
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    На форме справочника "Расписание" в реквизит формы "контрагент" в поле формула вводим процедуру
    Код:
    Процедура ПриВыбореКонтрагента()
    Местонахождение=Контрагент.Местонахождение;
    КонецПроцедуры
    
    теперь если не заполнено или изменили...
    Код:
    Процедура ПриЗаписи()
    Если ПустоеЗначение(Местонахождение)+ПустоеЗначение(Контрагент)=0 Тогда
    Спр=СоздатьОбъект("Справочник.Контрагенты");
    Спр.НайтиЭлемент(Контрагент);
    Если Местонахождение<>Контрагент.Местонахождение Тогда
    Спр.Местонахождение=Местонахождение;
    Спр.Записать();
    КонецЕсли;
    КонецЕсли;
    Местонахождение=Контрагент.Местонахождение;
    КонецПроцедуры
    
  3. TopicStarter Overlay
    rusl_an
    Offline

    rusl_an

    Регистрация:
    14 ноя 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    попробую, спасибо... отпишусь
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  5. TopicStarter Overlay
    rusl_an
    Offline

    rusl_an

    Регистрация:
    14 ноя 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    сделал по п. 1 пишет ошибку

    ПриВыбореКонтрагента<<?>>
    Переменная не определена (ПриВыбореКонтрагента)
  6. TopicStarter Overlay
    rusl_an
    Offline

    rusl_an

    Регистрация:
    14 ноя 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    сорри, глаза видать не на месте... так сделал... работает

    Процедура ПриВыбореКонтрагента()
    Местонахождение=Контрагент.Местонахождение.Наименование;
    КонецПроцедуры
  7. TopicStarter Overlay
    rusl_an
    Offline

    rusl_an

    Регистрация:
    14 ноя 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    в этом пункте, не совсем так надо. Достаточно сделать чтоб при пустом значении местонахождение в справочнике контрагенты, открывалась форма этого контрагента.
    иначе говоря, как должно происходить: при открытии формы расписания с уже внесенным или вносимым контрагентом выполняется проверка забито- ли местонахождение в этом контрагенте, если да то идем дальше, если нет то должна открыться форма этого контрагента из справочника контрагенты(в которой собственно оператор и сможет внести где этот клиент находится). Загвоздка в том что не знаю как сделать чтоб открылась форма Этого контрагента, с реализацией условий и всем прочим сам разберусь
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Нужно хоть немного думать, а не тупо слизывать код.
    ПриВыбореКонтрагента() вызов функции/процедуры
  9. TopicStarter Overlay
    rusl_an
    Offline

    rusl_an

    Регистрация:
    14 ноя 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Да я ж написал... вроде
    теперь по 2 пункту
    в этом пункте, не совсем так надо. Достаточно сделать чтоб при пустом значении местонахождение в справочнике контрагенты, открывалась форма этого контрагента.
    иначе говоря, как должно происходить: при открытии формы расписания с уже внесенным или вносимым контрагентом выполняется проверка забито- ли местонахождение в этом контрагенте, если да то идем дальше, если нет то должна открыться форма этого контрагента из справочника контрагенты(в которой собственно оператор и сможет внести где этот клиент находится). Загвоздка в том что не знаю как сделать чтоб открылась форма Этого контрагента, с реализацией условий и всем прочим сам разберусь
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Используйте ОткрытьФорму для реквизита контрагент
  11. TopicStarter Overlay
    rusl_an
    Offline

    rusl_an

    Регистрация:
    14 ноя 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Спасибо, все получилось))
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104

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