При создании менеджера модуля доку-та печати вылетела такая ошибка:

Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
{Документ.РеализацияПродукции1.МодульМенеджера(112)}: Если Выборка.ДолгДолларТекущий + ИтогСуммаДоллар - Выборка.ОплаченоСейчасДоллар > ЛимитДоллар И ЛимитДоллар > 0 тогда
{Документ.РеализацияПродукции1.Команда.Печать.МодульКоманды(18)}: Документы.РеализацияПродукции1.Печать(ТабДок, ПараметрКоманды);
{Документ.РеализацияПродукции1.Команда.Печать.МодульКоманды(6)}: Печать(ТабДок, ПараметрКоманды);

Помогите, пожалуйста, исправить.

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

 Запрос.Параметры.Вставить("Ссылка", Ссылка);

 Выборка = Запрос.Выполнить().Выбрать();

 //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
 Шапка = Макет.ПолучитьОбласть("Шапка");
 ОбластьПрайсЛистШапка = Макет.ПолучитьОбласть("Строка");
 ОбластьПрайсЛист = Макет.ПолучитьОбласть("СтрокаДанных");
 Подвал = Макет.ПолучитьОбласть("Подвал");
 //ДанныеДолжника = Макет.ПолучитьОбласть("ДанныеДолжника");
 ОстатокДолар = Макет.ПолучитьОбласть("ОстатокДоллар|Остаток");
 ОстатокСумм = Макет.ПолучитьОбласть("ОстатокСум|Остаток");
 ОстатокДоллар = Макет.ПолучитьОбласть("ОстатокДоллар|Область1");
 ОстатокСум = Макет.ПолучитьОбласть("ОстатокСум|Область1");
 ОстатокТекст = Макет.ПолучитьОбласть("ОстатокТекст|Область1");
 остатокТекст1 = Макет.ПолучитьОбласть("ОстатокТекст|Остаток");
 ТабДок.Очистить();

 ВставлятьРазделительСтраниц = Ложь;
 Пока Выборка.Следующий() Цикл
  Если ВставлятьРазделительСтраниц Тогда
   ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
  КонецЕсли;

  //ТабДок.Вывести(ОбластьЗаголовок);

  Шапка.Параметры.Заполнить(Выборка);
  ТабДок.Вывести(Шапка, Выборка.Уровень());

  ТабДок.Вывести(ОбластьПрайсЛистШапка);
  ВыборкаПрайсЛист = Выборка.ПрайсЛист.Выбрать();
  ИтогСуммаСум = 0;
  ИтогСуммаДоллар = 0;
  ИтогКол = 0;

  Пока ВыборкаПрайсЛист.Следующий() Цикл
   Если ВыборкаПрайсЛист.Валюта = ОбщегоНазначения.ПолучитьВалюту(1)Тогда
    ИтогСуммаДоллар = ИтогСуммаДоллар + ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаДол = ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаСум = "";
   КонецЕсли;
   Если ВыборкаПрайсЛист.Валюта = ОбщегоНазначения.ПолучитьВалюту(2)Тогда
    ИтогСуммаСум = ИтогСуммаСум + ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаСум = ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаДол = "";
   КонецЕсли;
   ИтогКол = ИтогКол + ВыборкаПрайсЛист.Количество;
   ОбластьПрайсЛист.Параметры.Заполнить(ВыборкаПрайсЛист);
   ТабДок.Вывести(ОбластьПрайсЛист, ВыборкаПрайсЛист.Уровень());
  КонецЦикла;

  //Подвал.Параметры.Заполнить(Выборка);
  Подвал.Параметры.ИтогДоллар = ИтогСуммаДоллар;
  Подвал.Параметры.ИтогСум = ИтогСуммаСум;
  Подвал.Параметры.ИтогКол = ИтогКол;

  Подвал.Параметры.Заполнить(Выборка);
  ТабДок.Вывести(Подвал);

  ОстатокДоллар.Параметры.ПредДолгДоллар = Выборка.ДолгДолларТекущий;
  ОстатокСум.Параметры.ПредДолгСум = Выборка.ДолгСумТекущий;
  ОстатокДоллар.Параметры.ИтогДоллар = ИтогСуммаДоллар;
  ОстатокСум.Параметры.ИтогСум = ИтогСуммаСум;
  ОстатокДоллар.Параметры.ВзносДоллар = Выборка.ОплаченоСейчасДоллар;
  ОстатокСум.Параметры.ВзносСум = Выборка.ОплаченоСейчасСум;

  ТабДок.Присоединить(ОстатокДоллар);

  ОстатокДолар.Параметры.ОстДолларТеперь = ОтборДолга(Выборка.Клиент,ОбщегоНазначения.ПолучитьВалюту(1));
  ОстатокСумм.Параметры.ОстСумТеперь = ОтборДолга(Выборка.Клиент,ОбщегоНазначения.ПолучитьВалюту(2));

  Лиммит = ОбщегоНазначения.ПолучитьДанныеДолжниковЛимит(Выборка.Клиент, Выборка.Дата);

  ЛимитСум = 0;
  ЛимитДоллар = 0;
  Лиммит.Свойство("ЛимитСум", ЛимитСум);
  Лиммит.Свойство("ЛимитДоллар", ЛимитДоллар);

  Если Выборка.ДолгДолларТекущий + ИтогСуммаДоллар - Выборка.ОплаченоСейчасДоллар > ЛимитДоллар И ЛимитДоллар > 0 тогда

   ОбластьОфорление = ТабДок.Присоединить(ОстатокДолар);
   //ТабДок.Области.ДанныеДолжника.ЦветТекста = WebЦвета.Красный;
   //ТабДок.Вывести(ОбластьОфорление);
   ОбластьОфорление.ЦветТекста = WebЦвета.Красный;
  Иначе
   ТабДок.Присоединить(ОстатокДолар);
  КонецЕсли;
  ТабДок.Вывести(ОстатокСум);

  Если Выборка.ДолгСумТекущий + ИтогСуммаСум - Выборка.ОплаченоСейчасСум > ЛимитСум И ЛимитСум > 1 тогда
   ОбластьОфорление = ТабДок.Присоединить(ОстатокСумм);
   ОбластьОфорление.ЦветТекста = WebЦвета.Красный;

  Иначе
   ТабДок.Присоединить(ОстатокСумм);
  КонецЕсли;
  ТабДок.Вывести(ОстатокТекст);
  ТабДок.Присоединить(ОстатокТекст1);
  ВставлятьРазделительСтраниц = Истина;
 КонецЦикла;
 //}}

До условия, Если Выборка.ДолгДолларТекущий + ИтогСуммаДоллар - Выборка.ОплаченоСейчасДоллар > ЛимитДоллар И ЛимитДоллар > 0 , выводится нормально.
---
ЛимитСум = 0;
ЛимитДоллар = 0;
Лиммит.Свойство("ЛимитСум", ЛимитСум);
Лиммит.Свойство("ЛимитДоллар", ЛимитДоллар);
Вот тут не учитываете, что если в структуре не найден ключ, то возвращается Неопределено. Что в итоге приводит к последующей ошибке.
Как вариант:

```1c
    ЛимитСум = 0;
    ЛимитДоллар = 0;
    Если НЕ Лиммит.Свойство("ЛимитСум", ЛимитСум) Тогда ЛимитСум=0; КонецЕсли;
    ЕСЛИ НЕ Лиммит.Свойство("ЛимитДоллар", ЛимитДоллар) Тогда ЛимитДоллар = 0; КонецЕсли;
```
---
ЛимитСум = 0;
ЛимитДоллар = 0;
Лиммит.Свойство("ЛимитСум", ЛимитСум);
Лиммит.Свойство("ЛимитДоллар", ЛимитДоллар);
Вот тут не учитываете, что если в структуре не найден ключ, то возвращается Неопределено. Что в итоге приводит к последующей ошибке.
Как вариант:

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

    Запрос.Параметры.Вставить("Ссылка", Ссылка);

    Выборка = Запрос.Выполнить().Выбрать();

    //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьПрайсЛистШапка = Макет.ПолучитьОбласть("Строка");
    ОбластьПрайсЛист = Макет.ПолучитьОбласть("СтрокаДанных");
    Подвал = Макет.ПолучитьОбласть("Подвал");
    //ДанныеДолжника = Макет.ПолучитьОбласть("ДанныеДолжника");
    ОстатокДолар = Макет.ПолучитьОбласть("ОстатокДоллар|Остаток");
    ОстатокСумм = Макет.ПолучитьОбласть("ОстатокСум|Остаток");
    ОстатокДоллар = Макет.ПолучитьОбласть("ОстатокДоллар|Область1");
    ОстатокСум = Макет.ПолучитьОбласть("ОстатокСум|Область1");
    ОстатокТекст = Макет.ПолучитьОбласть("ОстатокТекст|Область1");
    остатокТекст1 = Макет.ПолучитьОбласть("ОстатокТекст|Остаток");
    ТабДок.Очистить();

    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
    Если ВставлятьРазделительСтраниц Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;

    //ТабДок.Вывести(ОбластьЗаголовок);

    Шапка.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(Шапка, Выборка.Уровень());

    ТабДок.Вывести(ОбластьПрайсЛистШапка);
    ВыборкаПрайсЛист = Выборка.ПрайсЛист.Выбрать();
    ИтогСуммаСум = 0;
    ИтогСуммаДоллар = 0;
    ИтогКол = 0;

    Пока ВыборкаПрайсЛист.Следующий() Цикл
    Если ВыборкаПрайсЛист.Валюта = ОбщегоНазначения.ПолучитьВалюту(1)Тогда
    ИтогСуммаДоллар = ИтогСуммаДоллар + ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаДол = ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаСум = ";
    КонецЕсли;
    Если ВыборкаПрайсЛист.Валюта = ОбщегоНазначения.ПолучитьВалюту(2)Тогда
    ИтогСуммаСум = ИтогСуммаСум + ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаСум = ВыборкаПрайсЛист.Сумма;
    ОбластьПрайсЛист.Параметры.СуммаДол = ";
    КонецЕсли;
    ИтогКол = ИтогКол + ВыборкаПрайсЛист.Количество;
    ОбластьПрайсЛист.Параметры.Заполнить(ВыборкаПрайсЛист);
    ТабДок.Вывести(ОбластьПрайсЛист, ВыборкаПрайсЛист.Уровень());
    КонецЦикла;

    //Подвал.Параметры.Заполнить(Выборка);
    Подвал.Параметры.ИтогДоллар = ИтогСуммаДоллар;
    Подвал.Параметры.ИтогСум = ИтогСуммаСум;
    Подвал.Параметры.ИтогКол = ИтогКол;

    Подвал.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(Подвал);

    ОстатокДоллар.Параметры.ПредДолгДоллар = Выборка.ДолгДолларТекущий;
    ОстатокСум.Параметры.ПредДолгСум = Выборка.ДолгСумТекущий;
    ОстатокДоллар.Параметры.ИтогДоллар = ИтогСуммаДоллар;
    ОстатокСум.Параметры.ИтогСум = ИтогСуммаСум;
    ОстатокДоллар.Параметры.ВзносДоллар = Выборка.ОплаченоСейчасДоллар;
    ОстатокСум.Параметры.ВзносСум = Выборка.ОплаченоСейчасСум;

    ТабДок.Присоединить(ОстатокДоллар);

    ОстатокДолар.Параметры.ОстДолларТеперь = ОтборДолга(Выборка.Клиент,ОбщегоНазначения.ПолучитьВалюту(1));
    ОстатокСумм.Параметры.ОстСумТеперь = ОтборДолга(Выборка.Клиент,ОбщегоНазначения.ПолучитьВалюту(2));

    Лиммит = ОбщегоНазначения.ПолучитьДанныеДолжниковЛимит(Выборка.Клиент, Выборка.Дата);

    ЛимитСум = 0;
    ЛимитДоллар = 0;
    Лиммит.Свойство("ЛимитСум", ЛимитСум);
    Лиммит.Свойство("ЛимитДоллар", ЛимитДоллар);

    Если Выборка.ДолгДолларТекущий + ИтогСуммаДоллар - Выборка.ОплаченоСейчасДоллар > ЛимитДоллар И ЛимитДоллар > 0 тогда

    ОбластьОфорление = ТабДок.Присоединить(ОстатокДолар);
    //ТабДок.Области.ДанныеДолжника.ЦветТекста = WebЦвета.Красный;
    //ТабДок.Вывести(ОбластьОфорление);
    ОбластьОфорление.ЦветТекста = WebЦвета.Красный;
    Иначе
    ТабДок.Присоединить(ОстатокДолар);
    КонецЕсли;
    ТабДок.Вывести(ОстатокСум);

    Если Выборка.ДолгСумТекущий + ИтогСуммаСум - Выборка.ОплаченоСейчасСум > ЛимитСум И ЛимитСум > 1 тогда
    ОбластьОфорление = ТабДок.Присоединить(ОстатокСумм);
    ОбластьОфорление.ЦветТекста = WebЦвета.Красный;

    Иначе
    ТабДок.Присоединить(ОстатокСумм);
    КонецЕсли;
    ТабДок.Вывести(ОстатокТекст);
    ТабДок.Присоединить(ОстатокТекст1);
    ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
```
---
и что вы хотели сказать?
---
Он, наверно, хотел сказать: "Пользуйтесь при оформлении тегами код: </>"
Чуть выше окна набора сообщения...
---
он просто скопировал код
---
Он его правильно оформил...

Согласитесь, что так намного "читабельней", чем в (1)