Что-то пока не получается. Нужно в документе Реализация создать блокировку реализации товара. т.е. если мы продали товар 28.09.2010 (уже считается что этот документ КредДок), в договоре контрагента стоит срок количества дней (2 дня) след. вот эти 2 дня мы можем продавать товар этому контрагенту, до 01.10.2010 года а после запрет продажи тоесть "Этому контрагенту запрещено продавать товар" так как он просрочил оплату кредитного документа. Вот Это пока не удается релизовать встрял в запросе...(((( Это нужно в торговле и склад 77 я пытаюсь это сделать в модуле документа Реализации (в проверки Контроля кредита ). Пожалуйста помогите кто сможет....
// КонтрольКредитаПройден(ВремПокупатели) // // Параметры: // ВремПокупатели- регистр "Покупатели", рассчитанный при необходимости // // Возвращаемое значение: // 1 - контроль пройден (можно проводить), 0 - не пройден (не проводить!). // // Описание: // Проводит контроль величины кредита. // Функция КонтрольКредитаПройден(ВремПокупатели) Перем Запрос, ТекстЗапроса; РазрешитьПревышениеКредита = глПолучитьПолномочие("РазрешитьПревышениеКредита"); // Проверим дату оплаты КонтрольДатыОплаты = КонтрольДатыОплаты(); Если ПустоеЗначение(КонтрольДатыОплаты) = 0 Тогда Если РазрешитьПревышениеКредита <> 0 Тогда глСообщениеПроведения(КонтрольДатыОплаты+ РазделительСтрок+ "Документ: "+глПредставлениеДокумента(ТекущийДокумент()), ТекущийДокумент(),,,1); Иначе глНеПроводить(Контекст,КонтрольДатыОплаты); Возврат 0; КонецЕсли; КонецЕсли; Если Договор.НеКонтролироватьКредит = 1 Тогда Возврат 1; КонецЕсли; ТекущийДолг = ВремПокупатели.СводныйОстаток(Фирма,Договор,,,,"СуммаВал"); Ник = глБанковскаяДата(ДатаДок, Договор.ГлубинаКредита); //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ДатаНачала = НачМесяца(ДатаДок); ДатаКонца = ДатаДок; ТЗ = "//{{ЗАПРОС(Сформировать) |Период с ДатаНачала по ДатаКонца; |КредДокумент = Регистр.Взаиморасчеты.КредДокумент; |СуммаУпр = Регистр.Взаиморасчеты.Долг; |ТекущийДокумент = Регистр.Взаиморасчеты.ТекущийДокумент; |Контрагент = Регистр.Взаиморасчеты.Контрагент; |Договор = Регистр.Взаиморасчеты.Договор; |Функция НачОст = НачОст(СуммаУпр); |Функция Приход = Приход(СуммаУпр); |Функция Расход = Расход(СуммаУпр); |Функция КонОст = КонОст(СуммаУпр); //|Функция КонОстПР = КонОст(СуммаУпр) когда(Просрочен(КредДокумент)=1); |Группировка Контрагент; |Группировка КредДокумент; |Группировка ТекущийДокумент; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТЗ) = 0 Тогда Возврат 0; КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
// Заполнение полей "Заголовок"
Пока Запрос.Группировка("Контрагент") = 1 Цикл // Заполнение полей Контрагент ТЭ=Запрос.Контрагент; // Во временную переменную передаем значение выборки СуммаУпр=Запрос.СумКонОст; Если ТЭ.ЭтоГруппа()=1 Тогда НазГр=СокрЛП(ТЭ.Наименование); КонецЕсли; Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей КредДокумент
Пока Запрос.Группировка(3) = 1 Цикл // Заполнение полей ТекущийДокумент Если Запрос.ТекущийДокумент = Запрос.КредДокумент Тогда Продолжить; КонецЕсли; Если Найти("РасходнаяНакладная",Запрос.КредДокумент.Вид())<>0 Тогда ДатаОтгрузки = Запрос.КредДокумент.ДатаДок; Иначе ДатаОтгрузки = ""; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; // Заполнение полей "Итого"
// Вывод заполненной формы ; Если (ТекущийДолг + СуммаВзаиморасчетов) > (Договор.СуммаКредита) Тогда Если ДатаДок < Ник Тогда ///////////////////////////////////////////// ИначеЕсли ДатаДок > Ник Тогда // ОткрытьФормуМодально("Обработка.Долг"); //Пк = СоздатьОбъект("Справочник.Контрагент"); // // //Контрагент.Запрет = 1; //Сообщить("2 При проведения ха-ха"); // ВалютаКредита = Договор.ВалютаВзаиморасчетов; СтрокаСообщ = "Сумма накладной вместе с текущим долгом превышает сумму максимального кредита клиенту! | Текущий долг: "+глФРМ(ТекущийДолг,ВалютаКредита)+" | Остаток кредита:"+глФРМ(Договор.СуммаКредита - ТекущийДолг,ВалютаКредита)+" | Сумма накладной:"+ глФРМ(СуммаВзаиморасчетов,ВалютаКредита)+"!"; Если РазрешитьПревышениеКредита <> 0 Тогда глСообщениеПроведения(СтрокаСообщ+ РазделительСтрок+"Документ: "+глПредставлениеДокумента(ТекущийДокумент()), ТекущийДокумент(),,,1); Возврат 1; Иначе глНеПроводить(Контекст,СтрокаСообщ); Возврат 0; КонецЕсли; КонецЕсли; КонецЕсли; Возврат 1; КонецФункции // КонтрольКредитаПройден()
|