7.7 процедура ПриИзмененииКонтрагента

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем AlaN, 7 сен 2015.

  1. TopicStarter Overlay
    AlaN
    Offline

    AlaN

    Регистрация:
    7 сен 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    всем добрый день, ребята я новенький на этом форуме, пришёл с таким вопросом, если не туда пишу, прошу перенаправить, вопрос: нужно изменить программу, так чтобы при выборе контрагента автоматически сканировалась база заявок этого контрагента на наличие долгов и чтобы параллельно фильтровалась дата последней отгрузки. То есть, нужно чтоб это выглядела так: приходит контрагент, говорит хочу сделать заявку на покупку товара на 50000, торговый представитель открывает программу, заходит в документы потом новая заявка, а программа, при выборе пришедшего контрагента, выдаёт сообщение: должник на N-ую сумму, или последняя заявка не закрыта. буду сильно благодарен если поможете. Я тут уже что-то изменил в процедуре ПриИзмененииКонтрагента, выставляю на ваш суд:
    Процедура ПриИзмененииКонтрагента()

    глПриВыбореКонтрагента(Контрагент, Договор, 1);
    ПриИзмененииДоговора();
    Рег = СоздатьОбъект("Регистр.Взаиморасчеты");
    Рег.ВременныйРасчет(1);
    РассчитатьРегистрыНа(ПолучитьДатуТА());
    Итог = Рег. СводныйОстаток(Контрагент,,,"Сумма");
    Если Итог < - 100000 Тогда
    Предупреждение("Должник на сумму " + Итог);
    Форма.Закрыть();
    КонецЕсли;
    //Lfh = ПолучитьДатуТА();
    //ВыбКонтр = Контрагент.ТекущийЭлемент();
    //ТекстЗапроса = ТекстЗапроса + "//{{ЗАПРОС(хочу)
    //|Контр = Регистр.Взаиморасчеты.Контрагент;
    //|Сум = Регистр.Взаиморасчеты.Сумма;
    //|Функция Сумма = КонОст(Сум);
    //|Группировка Контр;
    //|Условие (Контр = ВыбКонтр);
    //|"//}}ЗАПРОС
    //;
    //
    //Запрос = СоздатьОбъект("Запрос");
    //Запрос.ВключитьSQL(1);
    //если Запрос.Выполнить(ТекстЗапроса) = 0 тогда
    // возврат;
    //конецЕсли;
    //пока Запрос.Группировка("Контрагент") = 1 цикл
    //
    // Если (Запрос.Сумма < - 100000 ) Тогда
    //
    // Предупреждение("Должник на сумму " + Запрос.Сумма);
    // Форма.Закрыть(0);
    // КонецЕсли;//НашДолг = 1
    //конецЦикла;

    КонецПроцедуры // ПриИзмененииКонтрагента()
    Она в принципе работает, но только проверяет наличие долга, превышающий указанную сумму
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Ну изменили и изменили, вопрос-то какой ?
  3. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    Статус заявки есть? сделайте по аналогии запросом документы заявки по данному контрагенту по статусу(например) <> закрыта и отобразить пользователю...
    --- Объединение сообщений, 7 сен 2015 ---
    Или сделайте вообще обработку на проверку долга и вывод данных заявок(ссылки сделайте "кликабельными", чтобы пользователь мог сразу посмотреть документы..) с двумя табличными частями - в одной долг и какими документами... второй не закрытые заявки и их статус. Плюс повесите кнопку продолжить(если менеджера всё устраивает или нет не долга не закрытых заявок..) Обработку открывать при выборе..
    Последнее редактирование: 7 сен 2015
  4. TopicStarter Overlay
    AlaN
    Offline

    AlaN

    Регистрация:
    7 сен 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    вопрос: как сделать чтобы при выборе контрагента автоматически сканировалась база заявок этого контрагента на наличие долгов и чтобы параллельно фильтровалась дата последней отгрузки. То есть, нужно чтоб это выглядела так: приходит контрагент, говорит хочу сделать заявку на покупку товара на 50000, торговый представитель открывает программу, заходит в документы потом новая заявка, а программа, при выборе пришедшего контрагента, выдаёт сообщение: должник на N-ую сумму, или последняя заявка не закрыта.?
    Последнее редактирование модератором: 7 сен 2015
  5. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    Если вопрос почему обработку(или отчет) именно - моё имхо - меньше трогать саму конфу, проще отлаживать и тестировать механизм, а если внешняя, то вообще отпадает необходимость выгонять всех пользователей..))
    Последнее редактирование: 7 сен 2015
  6. TopicStarter Overlay
    AlaN
    Offline

    AlaN

    Регистрация:
    7 сен 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    спасибо за развернутый ответ, а нельзя ли сделать, чтоб обработку на проверку долга и вывод данных заявок система делала в автоматическом режиме при выборе контрагента, и выводила сразу должников по оплате и тех кто просрочил, заданное число дней?
  7. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    А кто мешает?)) При выборе в новой передаете контрагента(ОткрытьФорму() - посмотрите), а все выполнение вешаете ПриОткрытии... только проверку на заполненность контрагента не забудьте)) и закрытие при определённых условиях..
  8. TopicStarter Overlay
    AlaN
    Offline

    AlaN

    Регистрация:
    7 сен 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    ))) все это понятно, только я не могу разобраться в каком месте здесь
    глПриВыбореКонтрагента(Контрагент, Договор, 1);
    ПриИзмененииДоговора();
    Рег = СоздатьОбъект("Регистр.Взаиморасчеты");
    Рег.ВременныйРасчет(1);
    РассчитатьРегистрыНа(ПолучитьДатуТА());
    Итог = Рег. СводныйОстаток(Контрагент,,,"Сумма");
    Если Итог < - 100000 Тогда
    Предупреждение("Должник на сумму " + Итог);
    Форма.Закрыть();
    КонецЕсли;
    //Lfh = ПолучитьДатуТА();
    //ВыбКонтр = Контрагент.ТекущийЭлемент();
    //ТекстЗапроса = ТекстЗапроса + "//{{ЗАПРОС(хочу)
    //|Контр = Регистр.Взаиморасчеты.Контрагент;
    //|Сум = Регистр.Взаиморасчеты.Сумма;
    //|Функция Сумма = КонОст(Сум);
    //|Группировка Контр;
    //|Условие (Контр = ВыбКонтр);
    //|"//}}ЗАПРОС
    //;
    //
    //Запрос = СоздатьОбъект("Запрос");
    //Запрос.ВключитьSQL(1);
    //если Запрос.Выполнить(ТекстЗапроса) = 0 тогда
    // возврат;
    //конецЕсли;
    //пока Запрос.Группировка("Контрагент") = 1 цикл
    //
    // Если (Запрос.Сумма < - 100000 ) Тогда
    //
    // Предупреждение("Должник на сумму " + Запрос.Сумма);
    // Форма.Закрыть(0);
    // КонецЕсли;//НашДолг = 1
    //конецЦикла;

    КонецПроцедуры // ПриИзмененииКонтрагента()
    и что именно нужно вставить, если поможете буду благодарен
  9. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    ? в стандартную глПриВыбореКонтрагента в начало добавить ОткрытьФорму(Обработка.ххх, Контрагент) (или другой параметр какой вас интересует...)идет выполнение вашей обработки, далее по плану в зависимости от того, что вернёте
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Эта процедура (глПриВыбореКонтрагента) вызывается из ВСЕХ документов... Зачем вызывать при создании кассовых и банковских документов или доверенностей?
    Вызывайте из модуля формы
  11. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    -Wideyed- Вот, что значит невнимательность - на гл даже внимание не обратил и даже не подумал о том, что НЕ из формы вызывает:oops:
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Из формы)))) Из почти одноименной процедуры
Похожие темы
  1. Panchos
    Ответов:
    2
    Просмотров:
    1.434
Загрузка...

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