Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 01:57
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Процедура ПриИзмененииКонтрагента  (Прочитано 1022 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlaMaRit

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-05
  • Сайт: 
  • Профессия: Программист 7.7
всем добрый день, ребята я новенький на этом форуме, пришёл с таким вопросом, если не туда пишу, прошу перенаправить, вопрос: нужно изменить программу, так чтобы при выборе контрагента автоматически сканировалась база заявок этого контрагента на наличие долгов и чтобы параллельно фильтровалась дата последней отгрузки. То есть, нужно чтоб это выглядела так: приходит контрагент, говорит хочу сделать заявку на покупку товара на 50000, торговый представитель открывает программу, заходит в документы потом новая заявка, а программа, при выборе пришедшего контрагента, выдаёт сообщение: должник на N-ую сумму, или последняя заявка не закрыта. буду сильно благодарен если поможете. Я тут уже что-то изменил в процедуре ПриИзмененииКонтрагента, выставляю на ваш суд:
Процедура ПриИзмененииКонтрагента()

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

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


Оффлайн G_Re

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 5
  • КПД: 16%
  • Регистрация: 2011-12-17
  • Сайт: 
  • Профессия: Ученик 1С
Я бы все твои хотелки делал черным запросом(примерно как у тебя закомментировано). Может дольше чуть-чуть будет работать(а может и нет), но логически более понятно. ..... но это дело вкуса(наверное).

Оффлайн AlaMaRit

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-05
  • Сайт: 
  • Профессия: Программист 7.7
Я бы все твои хотелки делал черным запросом(примерно как у тебя закомментировано). Может дольше чуть-чуть будет работать(а может и нет), но логически более понятно. ..... но это дело вкуса(наверное).
что-то не совсем понятно что ты имеешь ввиду, укажи на мои "хотелки" плизз

Оффлайн G_Re

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 5
  • КПД: 16%
  • Регистрация: 2011-12-17
  • Сайт: 
  • Профессия: Ученик 1С
Под термином "хотелки", для краткости, я имел в виду этот твой текст "...нужно изменить программу, так чтобы при выборе контрагента автоматически сканировалась база заявок этого контрагента на наличие долгов и чтобы параллельно фильтровалась дата последней отгрузки. То есть, нужно чтоб это выглядела так: приходит контрагент, говорит хочу сделать заявку на покупку товара на 50000, торговый представитель открывает программу, заходит в документы потом новая заявка, а программа, при выборе пришедшего контрагента, выдаёт сообщение: должник на N-ую сумму, или последняя заявка не закрыта..."

Оффлайн AlaMaRit

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-05
  • Сайт: 
  • Профессия: Программист 7.7
G_Re, G_Re, Я на форуме новенький, и всех тонкостей не знаю, Вы по сути вопрос мне помочь можете?

Оффлайн G_Re

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 5
  • КПД: 16%
  • Регистрация: 2011-12-17
  • Сайт: 
  • Профессия: Ученик 1С
Даже не знаю, чем помочь. Принципиально это, по крайней мере, можно реализовать 2 способами, 1 - тот, что ты описал, то есть при ЗАПОЛНЕНИИ документа при выборе Контрагента формируется некая справка об этом контрагенте. 2 вариант - ДО формирования документа(заявки) у оператора(бухгалтера) есть возможность посмотреть это состояние. Это может быть либо отдельный отчет либо кнопочка в форме справочника "Контрагенты". Выбор конкретной ТЕХНОЛОГИЧЕСКОЙ реализации зависит от принятой у вас технологии и комфортности работы оператора. Что же касается ПРОГРАММНОЙ реализации, то основной алгоритм одинаков: если реализация на бухучете, то бухгалтерский запрос, если на регистрах, то обычный запрос. Не знаю, помог или нет, но для более конкретной помощи нужна более конкретная информация.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Фрегат агент

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 162
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal