упується ще один сертифікат на нього
Попередження ( Не можна використовувати сертифікат для покупки іншого сертифікату );
Інакше
СтруктураПодбора=СформіроватьСтруктуруПодбораСертіфікат (Дата, Справочнікі.Номенклатура.Сертіфікат, 1, мВалютаРегламентірованногоУчета,
Не визначено, мУказаніеСкладовВТЧ,
ТіпЦен,,, УсловіеПродаж, Склад, НоміналСертіфіката, Карта);
СтруктураПодбора.Вставить(laquo;Бонусraquo;,Ложь);
ОбработкаПодбора (Товари, СтруктураПодбора);
КонецЕсли;
ІначеЕслі Статус=Перечисления.СтатусДвиженияСертификатов.Списан тоді
Попередження ( Даний сертифікат як списаний !!! );
ІначеЕслі Статус=Перечисления.СтатусДвиженияСертификатов.НаРуках тоді
ЕстьБонусНоменклатура=Брехня;
Для кожного стор з Товари цикл
Якщо стр.Бонус тоді
ЕстьБонусНоменклатура=Істина;
КонецЕсли;
КонецЦікла;
Якщо ЕстьБонусНоменклатура тоді
Попередження ( Не можна використовувати сертифікат для переведення в готівку, оскільки у списку товарів мається бонусна номенклатура );
повернення Результат;
КонецЕсли;
НайденнаяСтрока=Сертіфікати.Найті (Карта, Сертифікат );
Якщо НайденнаяСтрока lt; gt; Не визначено Тоді
Попередження ( Не можна використовувати один сертифікат двічі !!! );
повернення Результат;
КонецЕсли;
ЕстьСертіфікатВТЧ=брехня;
ІтоговаяСумма=Товари.Ітог ( Сума );
Для кожного стор з Товари цикл
Якщо стр.Номенклатура=Справочнікі.Номенклатура.Сертіфікат тоді
ЕстьСертіфікатВТЧ=істина;
КонецЕсли;
КонецЦікла;
Якщо не ЕстьСертіфікатВТЧ тоді
ЭлементыФормы.НадписьСертификат.Видимость=Истина;
ЭлементыФормы.ТабличноеПоле1.Видимость=Истина;
НовийСертіфікат=Сертіфікати.Добавіть ();
НовийСертіфікат.Сертіфікат=Карта;
НовыйСертификат.Сумма=НоминалСертификата;//Карта.НоминалСертификата;
Інакше
ОтменитьПересчетТоваров_Сертификаты(НоминалСертификатовВсего,ИтоговаяСумма);
Попередження ( Не можна використовувати сертифікат для покупки іншого сертифікату !!! );
предСерт=Справочники.ИнформационныеКарты.ПустаяСсылка();
НоміналСертіфікатовВсего=0;
Сертіфікати.Очістіть ();
КонецЕсли;
КонецЕсли;
Інакше
ДісконтнаяКарта=Карта;
ПріІзмененііДісконтнойКарти ();
КонецЕсли;
Повернення Результат;
КонецФункции//СШКІнформаціоннаяКарта ()
Процедура ПерерасчетТоваров_Сертификаты(СуммаНоминал,СуммаТовары, Карта)
якщо СуммаТовари gt; СуммаНомінал тоді
//Списуємо номінал картки пропорційно сумам
Для кожного запис з Товари цикл
процентСписания=(запись.Сумма*100)/СуммаТовары;
СуммаСписания=окр(СуммаНоминал/100*процентСписания,2);//,laquo;ЧДЦ=12raquo;);
//запись.Сумма=запись.Сумма-СуммаСписания;//,laquo;ЧДЦ=12raquo;);
сСумма=запісь.Сумма-СуммаСпісанія;
запись.Цена=(сСумма*100/(100-(запись.ПроцентАвтоматическихСкидок+запись.ПроцентСкидкиНаценки)))/запись.Количество;//,laquo;ЧДЦ=12raquo;);
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(запись, ЕтотОб'ект);
Якщо запісь.Цена lt; 0.01 Тоді
запісь.Цена=0.01;
//запись.Сумма=запись.Цена*запись.Количество;
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(запись, ЕтотОб'ект);
КонецЕсли;
КонецЦікла;
ІспользуемийСертіфікат=Карта;
предСерт=Карта;
Інакше
НоминалСертификата=ПолучитьНоминалСертификата(ТекущаяДата(),Карта);
Попередження ( Сума для переведення в готівку ...