&Вместо("ОбновитьПараметрыФискальногоЧекаПозицийЧекаККМ")
Процедура Расш1_ОбновитьПараметрыФискальногоЧекаПозицийЧекаККМ(ПараметрыФискальногоЧека, ДокументСсылка)
// Вставить содержимое метода.
ПродолжитьВызов(ПараметрыФискальногоЧека, ДокументСсылка);
ПА = Ложь;
Для Каждого ТекСтрока из ПараметрыФискальногоЧека.ДокументОснование.Товары Цикл
Если ЗначениеЗаполнено(ТекСтрока.Номенклатура.Расш1_ПризнакАгента) Тогда
Если ТекСтрока.Номенклатура.Расш1_ПризнакАгента = Перечисления.ПризнакиАгента.БанковскийПлатежныйСубагент Тогда
ПА = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если ПА Тогда
ПозицииЧека = ПараметрыФискальногоЧека.ПозицииЧека;
ПараметрыФискальногоЧека.Удалить("ПозицииЧека");
ИндексСтроки = 0;
Для Каждого ТекСтрока из ПараметрыФискальногоЧека.ДокументОснование.Товары Цикл
ПозицииЧека[ИндексСтроки].ПризнакАгентаПоПредметуРасчета = ТекСтрока.Номенклатура.Расш1_ПризнакАгента;
Если не ЗначениеЗаполнено(ПараметрыФискальногоЧека.ПризнакАгента) Тогда
ПараметрыФискальногоЧека.ПризнакАгента = ТекСтрока.Номенклатура.Расш1_ПризнакАгента;
КонецЕсли;
АдресП = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ТекСтрока.Номенклатура.Принципал,Перечисления.ТипыКонтактнойИнформации.Адрес,ТекущаяДата(),Истина);
АдресК = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ТекСтрока.Номенклатура.Контрагент,Перечисления.ТипыКонтактнойИнформации.Адрес,ТекущаяДата(),Истина);
ТелефонП = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ТекСтрока.Номенклатура.Принципал,Перечисления.ТипыКонтактнойИнформации.Телефон,ТекущаяДата(),Истина);
ТелефонК = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ТекСтрока.Номенклатура.Контрагент,Перечисления.ТипыКонтактнойИнформации.Телефон,ТекущаяДата(),Истина);
ТелефонО = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ТекСтрока.Номенклатура.Расш1_оператор,Перечисления.ТипыКонтактнойИнформации.Телефон,ТекущаяДата(),Истина);
АдресО = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ТекСтрока.Номенклатура.Расш1_оператор,Перечисления.ТипыКонтактнойИнформации.Адрес,ТекущаяДата(),Истина);
Если ЗначениеЗаполнено(АдресП) Тогда
Адрес = АдресП;
Телефон = ТелефонП;
Иначе
Адрес = АдресК;
Телефон = ТелефонК;
КонецЕсли;
ПозицииЧека[ИндексСтроки].ДанныеАгента.ОператорПеревода.Адрес = АдресО;
ПараметрыФискальногоЧека.ДанныеАгента.ОператорПеревода.Адрес = АдресО;
ПозицииЧека[ИндексСтроки].ДанныеАгента.ОператорПеревода.ИНН = ТекСтрока.Номенклатура.Расш1_оператор.ИНН;
ПараметрыФискальногоЧека.ДанныеАгента.ОператорПеревода.ИНН = ТекСтрока.Номенклатура.Расш1_оператор.ИНН;
ПозицииЧека[ИндексСтроки].ДанныеАгента.ОператорПеревода.Наименование = ТекСтрока.Номенклатура.Расш1_оператор.Наименование;
ПараметрыФискальногоЧека.ДанныеАгента.ОператорПеревода.Наименование = ТекСтрока.Номенклатура.Расш1_оператор.Наименование;
ПозицииЧека[ИндексСтроки].ДанныеАгента.ОператорПеревода.Телефон = ТелефонО;
ПараметрыФискальногоЧека.ДанныеАгента.ОператорПеревода.Телефон = ТелефонО;
ПозицииЧека[ИндексСтроки].ДанныеАгента.ОператорПоПриемуПлатежей.Телефон = ТелефонО;
ПараметрыФискальногоЧека.ДанныеАгента.ОператорПоПриемуПлатежей.Телефон = ТелефонО;
ПозицииЧека[ИндексСтроки].ДанныеАгента.ПлатежныйАгент.Операция = "Оплата услуги";
ПараметрыФискальногоЧека.ДанныеАгента.ПлатежныйАгент.Операция = "Оплата услуги";
ПозицииЧека[ИндексСтроки].ДанныеАгента.ПлатежныйАгент.Телефон = Телефон;
ПараметрыФискальногоЧека.ДанныеАгента.ПлатежныйАгент.Телефон = Телефон;
//тег [1226] providerInn
ТекИННПринципала = "";
Если ТипЗнч(ТекСтрока.Номенклатура.Принципал) = Тип("СправочникСсылка.Партнеры") Тогда
// это партнер
ТекИННПринципала = ПолучитьИНН(ТекСтрока.Номенклатура.Принципал);
Иначе
// это контрагент
ТекИННПринципала = ТекСтрока.Номенклатура.Принципал.ИНН;
КонецЕсли;
ПозицииЧека[ИндексСтроки].ДанныеПоставщика.ИНН = ТекИННПринципала;
ПараметрыФискальногоЧека.ДанныеПоставщика.ИНН = ТекИННПринципала;
//тег [1226] providerInn
ПозицииЧека[ИндексСтроки].ДанныеПоставщика.Наименование = ТекСтрока.Номенклатура.Принципал.Наименование;
ПараметрыФискальногоЧека.ДанныеПоставщика.Наименование = ПозицииЧека[ИндексСтроки].ДанныеПоставщика.Наименование;
ПозицииЧека[ИндексСтроки].ДанныеПоставщика.Телефон = Телефон;
ПараметрыФискальногоЧека.ДанныеПоставщика.Телефон = Телефон;
ИндексСтроки = ИндексСтроки +1;
КонецЦикла;
ПараметрыФискальногоЧекаЗаполнитьПозицииЧека(ПараметрыФискальногоЧека, ПозицииЧека);
КонецЕсли;
КонецПроцедуры
Функция ПолучитьИНН(Принципал)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Контрагенты.ИНН КАК ИНН
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Партнер = &Партнер";
Запрос.УстановитьПараметр("Партнер", Принципал);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.ИНН;
КонецЦикла;
Возврат "";
КонецФункции