#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК Т
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИерархияПартнеров КАК Т2
| ПО Т2.Родитель = Т.Партнер
|;
|РазрешитьЧтение
|ГДЕ
| ЗначениеРазрешено(Т2.Партнер)
|;
|РазрешитьИзменениеЕслиРазрешеноЧтение
|ГДЕ
| ЗначениеРазрешено(Партнер)";
Ограничение.ТекстДляВнешнихПользователей =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК ЭтотСписок
|
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИерархияПартнеров КАК ИерархияПартнеров
| ПО ИерархияПартнеров.Родитель = ЭтотСписок.Партнер
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнешниеПользователи КАК ВнешниеПользователиПартнеры
| ПО ВнешниеПользователиПартнеры.ОбъектАвторизации = ИерархияПартнеров.Партнер
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КонтактныеЛицаПартнеров КАК КонтактныеЛицаПартнеров
| ПО КонтактныеЛицаПартнеров.Владелец = ЭтотСписок.Партнер
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнешниеПользователи КАК ВнешниеПользователиКонтактныеЛица
| ПО ВнешниеПользователиКонтактныеЛица.ОбъектАвторизации = КонтактныеЛицаПартнеров.Ссылка
|;
|РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(ВнешниеПользователиПартнеры.Ссылка)
| ИЛИ ЗначениеРазрешено(ВнешниеПользователиКонтактныеЛица.Ссылка)";
КонецПроцедуры
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Функция СокрЮрНаименованиеНаДату(Контрагент, ДатаСведений) Экспорт
Если НЕ ЗначениеЗаполнено(Контрагент)
ИЛИ ТипЗнч(Контрагент) <> Тип("СправочникСсылка.Контрагенты") Тогда
Возврат "";
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ДатаСведений) Тогда
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Контрагент, "НаименованиеПолное");
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Параметры.Вставить("Контрагент", Контрагент);
Запрос.Параметры.Вставить("ДатаСведений", ДатаСведений);
Запрос.Текст ="
|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| ИсторияНаименованийКонтрагентов.СокращенноеНаименование КАК СокращенноеНаименование
|ПОМЕСТИТЬ ИсторическоеЗначениеНаименования
|ИЗ
| Справочник.Контрагенты.ИсторияНаименований КАК ИсторияНаименованийКонтрагентов
|ГДЕ
| ИсторияНаименованийКонтрагентов.Ссылка = &Контрагент
| И ИсторияНаименованийКонтрагентов.Период <= &ДатаСведений
|
|УПОРЯДОЧИТЬ ПО
| ИсторияНаименованийКонтрагентов.Период УБЫВ
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЕСТЬNULL(ИсторическоеЗначениеНаименования.СокращенноеНаименование, Контрагенты.НаименованиеПолное) КАК НаименованиеПолное
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
| ЛЕВОЕ СОЕДИНЕНИЕ ИсторическоеЗначениеНаименования КАК ИсторическоеЗначениеНаименования
| ПО (ИСТИНА)
|ГДЕ
| Контрагенты.Ссылка = &Контрагент";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.НаименованиеПолное;
Иначе
Возврат "";
КонецЕсли;
КонецФункции
Функция РеквизитыНеРедактируемыеВГрупповойОбработке() Экспорт
НеРедактируемыеРеквизиты = Новый Массив;
НеРедактируемыеРеквизиты.Добавить("ЮридическоеФизическоеЛицо");
НеРедактируемыеРеквизиты.Добавить("ОбособленноеПодразделение");
НеРедактируемыеРеквизиты.Добавить("ГоловнойКонтрагент");
НеРедактируемыеРеквизиты.Добавить("НаименованиеПолное");
НеРедактируемыеРеквизиты.Добавить("ИсторияНаименований.*");
ПартнерыИКонтрагентыЛокализация.ДополнитьРеквизитыНеРедактируемыеВГрупповойОбработкеКонтрагент(НеРедактируемыеРеквизиты);
Возврат НеРедактируемыеРеквизиты;
КонецФункции
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Справочники.СоглашенияСКлиентами.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры
Процедура ПриНастройкеНачальногоЗаполненияЭлементов(Настройки) Экспорт
Настройки.ПриНачальномЗаполненииЭлемента = Истина;
КонецПроцедуры
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
#Область РозничныйПокупатель
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "РозничныйПокупатель";
Элемент.Наименование = НСтр("ru = 'Розничный покупатель'", КодОсновногоЯзыка);
Элемент.НаименованиеПолное = НСтр("ru = 'Розничный покупатель'", КодОсновногоЯзыка);
Элемент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо;
Элемент.ГоловнойКонтрагент = Справочники.Контрагенты.РозничныйПокупатель;
Элемент.Партнер = Справочники.Партнеры.РозничныйПокупатель;
Элемент.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо;
#КонецОбласти
КонецПроцедуры
Процедура ПриНачальномЗаполненииЭлемента(Объект, Данные, ДополнительныеПараметры) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ДанныеВыбора = ПартнерыИКонтрагентыВызовСервера.КонтрагентыДанныеВыбора(Параметры);
КонецПроцедуры
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаВыбора" Тогда
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровКакКонтрагентов") Тогда
ИспользоватьПолнотекстовыйПоиск = ОбщегоНазначенияУТВызовСервера.ИспользуетсяПолнотекстовыйПоиск("ИспользоватьПолнотекстовыйПоиск");
Если ИспользоватьПолнотекстовыйПоиск Тогда
ВыбраннаяФорма = "ФормаВыбораИспользуютсяТолькоПартнеры";
Иначе
ВыбраннаяФорма = "ФормаВыбораИспользуютсяТолькоПартнерыБезПолнотекстовогоПоиска";
КонецЕсли;
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецЕсли;
Если ВидФормы = "ФормаОбъекта" Тогда
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровКакКонтрагентов") Тогда
СтандартнаяОбработка = Ложь;
Если Параметры.Свойство("Ключ") И ЗначениеЗаполнено(Параметры.Ключ) Тогда
ПартнерыИКонтрагентыВызовСервера.ДанныеКонтрагентаДляОткрытияФормыПартнера(Параметры);
ВыбраннаяФорма = "Справочник.Партнеры.Форма.ФормаЭлементаРеквизитыКонтрагента";
Иначе
ВыбраннаяФорма = "Справочник.Партнеры.Форма.ПомощникНового";
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область ПервоначальноеЗаполнениеИБ
Процедура ЗаполнитьПредопределенныхКонтрагентов() Экспорт
СправочникОбъект = Справочники.Контрагенты.РозничныйПокупатель.ПолучитьОбъект();
СправочникОбъект.НаименованиеПолное = НСтр("ru = 'Розничный покупатель'", ОбщегоНазначения.КодОсновногоЯзыка());
СправочникОбъект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо;
СправочникОбъект.Партнер = Справочники.Партнеры.РозничныйПокупатель;
СправочникОбъект.Записать();
КонецПроцедуры
#КонецОбласти
#Область Отчеты
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КомандаОтчет = ВзаиморасчетыСервер.ВедомостьРасчетовСПартнерами_ДобавитьКомандуОтчета(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаЭлемента,ФормаСписка,ФормаСпискаПараметрическая";
КонецЕсли;
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаЭлемента,ФормаСписка,ФормаСпискаПараметрическая";
КонецЕсли;
КомандаОтчет = Отчеты.ДействующиеРетроБонусыКлиента.ДобавитьКомандуОтчета(
КомандыОтчетов, Параметры, "ДействующиеРетроБонусыПоКонтрагентуКонтекст");
Если КомандаОтчет <> Неопределено Тогда
Представление = НСтр("ru = 'Действующие ретро-бонусы по клиенту'");
КомандаОтчет.Представление = Представление;
КонецЕсли;
КомандаОтчет = Отчеты.ДействующиеРетроБонусыПоставщиков.ДобавитьКомандуОтчета(
КомандыОтчетов, Параметры, "ДействующиеРетроБонусыПоставщиковКонтекст");
Если КомандаОтчет <> Неопределено Тогда
Представление = НСтр("ru = 'Действующие ретро-бонусы поставщика'");
КомандаОтчет.Представление = Представление;
КонецЕсли;
ПартнерыИКонтрагентыЛокализация.ДобавитьКомандыОтчетов_Контрагенты(КомандыОтчетов, Параметры);
КонецПроцедуры
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КонецПроцедуры
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли