Дипломная работа: Автоматизация расчетов с поставщиками и подрядчиками в ООО «Городской супермаркет»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
102
НЕ (Объект.ПоВидамДоговоров И Объект.СписокВидовДоговоров.Количество()) Тогда
Возврат Новый ТаблицаЗначений;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДоговорыКонтрагентов.Организация КАК Организация,
| ДоговорыКонтрагентов.Владелец КАК Контрагент,
| ДоговорыКонтрагентов.Ссылка КАК Договор
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| НЕ ДоговорыКонтрагентов.ПометкаУдаления
| И НЕ ДоговорыКонтрагентов.ЭтоГруппа
| И ДоговорыКонтрагентов.Организация В(&Организация)
| И ДоговорыКонтрагентов.Владелец В(&Владелец)";
// Фильтруем список по договорам или видам договоров
Если Объект.ПоДоговорам Тогда
Запрос.Текст = Запрос.Текст + "
| И ДоговорыКонтрагентов.Ссылка В(&МассивДоговоров)";
Запрос.УстановитьПараметр("МассивДоговоров", Объект.СписокДоговоров);
ИначеЕсли Объект.ПоВидамДоговоров Тогда
Запрос.Текст = Запрос.Текст + "
| И ДоговорыКонтрагентов.ВидДоговора В(&МассивДоговоров)";
Запрос.УстановитьПараметр("МассивДоговоров", Объект.СписокВидовДоговоров);
КонецЕсли;
Запрос.Текст = Запрос.Текст + "
|
|УПОРЯДОЧИТЬ ПО
| Организация,
| ДоговорыКонтрагентов.Владелец";
103
Запрос.УстановитьПараметр("Владелец", Объект.СписокКонтрагентов);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
&НаКлиенте
Процедура ПоВидамСчетовПриИзменении(Элемент)
Элементы.СписокВидовСчетов.Видимость = Объект.ПоСчетам;
КонецПроцедуры
&НаКлиенте
Процедура СписокВидовСчетовПриИзменении(Элемент)
// Обрабатываем поле СписокСчетов - удаляем пустые строки и повторяющиеся счета
МассивСчетов = Новый Массив;
Для Каждого Счет Из Объект.СписокСчетов Цикл
Если МассивСчетов.Найти(Счет.Значение) = Неопределено И НЕ
Счет.Значение.Пустая() Тогда
МассивСчетов.Добавить(Счет.Значение);
КонецЕсли;
КонецЦикла;
Объект.СписокСчетов.ЗагрузитьЗначения(МассивСчетов);
Если НЕ ЗначениеЗаполнено(Объект.СписокСчетов) Тогда
Текст = "Счета не выбраны! Необходимо выбрать хотя бы один счет или снять отбор по
счетам.";
СообщитьОбОшибке(Текст, Объект.СписокСчетов);
КонецЕсли;
104
КонецПроцедуры
&НаСервере
Процедура ОтобратьАктыСверкиПоДоговорам(ОбъектДоговор, ОбъектСписокДоговоров, Запрос)
Если ОбъектДоговор Тогда
ДоговорыКонтрагентов = ПолучитьСписокДоговоров();
// Проверяем, сформирован ли отбор по договорам/видам договоров
Если ДоговорыКонтрагентов.Количество() Тогда
Договор = ДоговорыКонтрагентов.ВыгрузитьКолонку("Договор");
// Если отбор по договорам/видам договоров не сформирован, а список заполнен -
передаем список
ИначеЕсли ОбъектСписокДоговоров.Количество() Тогда
Договор = ОбъектСписокДоговоров;
// В противном случае список не заполнен и формируем отбор по пустым значениям
Иначе
Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
КонецЕсли;
Запрос.Текст = Запрос.Текст + "
| И АктСверкиВзаиморасчетов.ДоговорКонтрагента В
(&ДоговорыКонтрагентов)";
Запрос.УстановитьПараметр("ДоговорыКонтрагентов", Договор);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
Источник: https://baza.diplomsite.ru/previewfile/581