Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 03:37
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Странная Ошибка  (Прочитано 3095 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн djvjv

  • ****
  • Сообщений: 262
  • РЕПУТАЦИЯ: -2
  • Регистрация: 2012-03-15
  • Сайт: 
  • Профессия: Программист 8.1
Дело в том что я делаю отчет для документа заказ на протез, в бухгалтерия 2.0 обычное приложение. Ошибка:
(Документ.__ЗаказНаПротез.МодульОбъекта(207,1)): Определения процедур и функций должны размещаться перед операторами тела модуля
<<?>>Процедура ПечатьКраткого() Экспорт    (Проверка: Толстый клиент (обычное приложение))

Не могу понять в чем проблема?


В модуле объекта:

Процедура ПечатьПолного() Экспорт
   
   ТабДок = Новый ТабличныйДокумент;
   Макет = Документы.__ЗаказНаПротез.ПолучитьМакет("ПечатьПолного");
   ОбластьСтраница1 = Макет.ПолучитьОбласть("Страница1");
   ОбластьСтраница2 = Макет.ПолучитьОбласть("Страница2");
   Контракт = ?(ЗначениеЗаполнено(Продукция), СокрЛП(Продукция._Контракт), СокрЛП(Чехлы._Контракт));
   ОбластьСтраница1.Параметры.Контракт = Контракт;
   
   ТабДок.Вывести(ОбластьСтраница1);
   ТабДок.Вывести(ОбластьСтраница2);
   
   ТабДок.ОтображатьСетку = Ложь;
   ТабДок.Защита = Ложь;
   ТабДок.ТолькоПросмотр = Ложь;
   ТабДок.ОтображатьЗаголовки = Ложь;
   ТабДок.Показать();
   
КонецПроцедуры;

Процедура ПечатьКраткого() Экспорт   
   
   ТабДок = Новый ТабличныйДокумент;
   Макет = Документы.__ЗаказНаПротез.ПолучитьМакет("ПечатьКраткого");
   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ТабДок.Вывести(ОбластьЗаголовок);
   ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
   ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
   ОбластьИтого = Макет.ПолучитьОбласть("Итого");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   
   СписокТипов = Новый Массив;
   СписокТипов.Добавить(Перечисления.ТипыКонтактнойИнформации.Адрес);
   СписокТипов.Добавить(Перечисления.ТипыКонтактнойИнформации.Телефон);
   
   СписокВидов = Новый Массив;
   СписокВидов.Добавить(Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента);
   СписокВидов.Добавить(Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента);
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   КонтактнаяИнформация.Тип,
   |   КонтактнаяИнформация.Вид,
   |   КонтактнаяИнформация.Представление
   |ИЗ
   |   РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |ГДЕ
   |   КонтактнаяИнформация.Объект = &Контрагент
   |   И КонтактнаяИнформация.Тип В(&СписокТипов)
   |   И КонтактнаяИнформация.Вид В(&СписокВидов)";
   Запрос.УстановитьПараметр("Контрагент",Контрагент);
   Запрос.УстановитьПараметр("СписокТипов",СписокТипов);
   Запрос.УстановитьПараметр("СписокВидов",СписокВидов);
   Результат = Запрос.Выполнить();
   Выборка = Результат.Выбрать();
   
   Пока Выборка.Следующий() Цикл
      Если Выборка.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
         ОбластьШапка.Параметры.Адрес = Выборка.Представление;
      Иначе
         ОбластьШапка.Параметры.Телефон = Выборка.Представление;
      КонецЕсли;
   КонецЦикла;
   
   ОбластьШапка.Параметры.Дата = Формат(Дата,"ДЛФ=D");
   ОбластьШапка.Параметры.ФИО = Контрагент.НаименованиеПолное;
   ОбластьШапка.Параметры.Оплата = Плательщик;
   ВыборкаАмбКарт = Справочники.__АмбулаторныеКарты.Выбрать(,Контрагент);
   Если ВыборкаАмбКарт.Следующий() Тогда
      ОбластьШапка.Параметры.ДатаРождения = Формат(ВыборкаАмбКарт.ДатаРождения,"ДЛФ=D");
      ОбластьШапка.Параметры.КатегорияИнвалидности = Строка(ВыборкаАмбКарт.КатегорияИнвалидности)+" "+Строка(ВыборкаАмбКарт.ГруппаИнвалидности);
      ОбластьШапка.Параметры.Снилс = ВыборкаАмбКарт.СНИЛС;
      ОбластьШапка.Параметры.ПаспортныеДанные ="№" +Контрагент.ДокументУдостоверяющийЛичность;
      ОбластьШапка.Параметры.Удостоверение = ВыборкаАмбКарт.Удостоверение;
      Фед = ?(ВыборкаАмбКарт.ГруппаИнвалидности<>Перечисления.__ГруппыИнвалидности._,"Федеральный льготник", "");
      ИПР = ?(ЗначениеЗаполнено(ВыборкаАмбКарт.ИПР),"",сокрлп(ВыборкаАмбКарт.ИПР)+" от "+строка(ВыборкаАмбКарт.Ссылка));
      Направление = ?(ЗначениеЗаполнено(ВыборкаАмбКарт.Направление),"", сокрлп(ВыборкаАмбКарт.Направление)+" от "+строка(ВыборкаАмбКарт.Ссылка));
      ОбластьШапка.Параметры.Заказ = "ИПР(ПРП) №" +Строка(ВыборкаАмбКарт.ИПР)+" "+Строка(Формат(ВыборкаАмбКарт.ДатаИПР,"ДЛФ=D"))+" Направление "+_НапрвлениеНомер+" "+Формат(_НаправлениеДата,"ДЛФ=D");
   КонецЕсли;
   
   ВыборкаМед = Справочники.__МедЧасть.Выбрать(,ВыборкаАмбКарт.Ссылка);
   Если ВыборкаМед.Следующий() Тогда
      Пока ВыборкаМед.Следующий() Цикл
         Если ВыборкаМед.ПометкаУдаления Тогда
            Продолжить;
         КонецЕсли;
      КонецЦикла;
      ОбластьШапка.Параметры.Диагноз = Строка(ВыборкаМед.Диагноз)+","+Строка(ВыборкаМед.Диагноз1)+","+Строка(ВыборкаМед.Диагноз2)+","+Строка(ВыборкаМед.Диагноз3);
      Характер = ?(ВыборкаМед.ХарактерЗаживления=Перечисления.__ХарЗаживления.Первичное, 1,2);
   КонецЕсли;
   
   СуммаОплат = строка(Формат(?(ЗначениеЗаполнено(спецификация),Спецификация.ОтпускнаяЦена, 0) + ЧехлыК*ЧехлыЦена + Доп1К*Доп1Цена + Доп2К*Доп2Цена + ПолученоОтКлиентаДоплата, "ч 015.2"));
   позицияточки = Найти( СуммаОплат,".");
   СуммаР = сред(СуммаОплат,1,позицияточки-1);
   СуммаК = сред(СуммаОплат,1,позицияточки+1);
   Оплата = ?(ВариантОплаты>0,Контрагент.Наименование+" "+сокрлп(строка(формат(?(ЗначениеЗаполнено(спецификация),Спецификация.ОтпускнаяЦена,0) + ЧехлыК*ЧехлыЦена + Доп1К*Доп1Цена + Доп2К*Доп2Цена + ПолученоОтКлиентаДоплата, "ч 015.2")))+".",
           Плательщик.Наименование+" "+сокрлп(строка(формат(?(ЗначениеЗаполнено(спецификация),Спецификация.ОтпускнаяЦена,0) + ЧехлыК*ЧехлыЦена + Доп1К*Доп1Цена + Доп2К*Доп2Цена, "ч 015.2")))+"."+
           ?(ПолученоОтКлиентаДоплата>0,Контрагент.Наименование+" "+сокрлп(строка(формат(ПолученоОтКлиентаДоплата, "ч 015.2")))+".",""));
   ОбщаяСтоимость = 0;
   НомерСтроки = 0;
   ТабДок.Вывести(ОбластьШапка);
   ТабДок.Вывести(ОбластьТаблица);       
   Если ЗначениеЗаполнено(продукция) Тогда
      ОбластьСтрока.Параметры.Наименование = Продукция.Наименование;
      //НоваяСтрока.Спецификация = Спецификация;
      ОбластьСтрока.Параметры.Шифр = Спецификация.Шифр;
      ОбластьСтрока.Параметры.Количество = 1;
      ОбластьСтрока.Параметры.Цена = Спецификация.ОтпускнаяЦена/Спецификация.КоличествоПродукции;
      ОбщаяСтоимость = ОбщаяСтоимость + (Спецификация.ОтпускнаяЦена/Спецификация.КоличествоПродукции)*1;
      ОбластьСтрока.Параметры.Стоимость = (Спецификация.ОтпускнаяЦена/Спецификация.КоличествоПродукции)*1;
      НомерСтроки = НомерСтроки +1;
      ОбластьСтрока.Параметры.НомерСтроки = НомерСтроки;
      ТабДок.Вывести(ОбластьСтрока);
   КонецЕсли;
   Если ЗначениеЗаполнено(чехлы) Тогда
      ОбластьСтрока.Параметры.Наименование = Чехлы.Наименование;
      //НоваяСтрока.Спецификация = "";
      ОбластьСтрока.Параметры.Шифр = "";
      ОбластьСтрока.Параметры.Количество = ЧехлыК;
      ОбластьСтрока.Параметры.Цена = ЧехлыЦена;
      ОбщаяСтоимость = ОбщаяСтоимость + (ЧехлыЦена*ЧехлыК);
      ОбластьСтрока.Параметры.Стоимость = ЧехлыЦена*ЧехлыК;
      НомерСтроки = НомерСтроки +1;
      ОбластьСтрока.Параметры.НомерСтроки = НомерСтроки;
      ТабДок.Вывести(ОбластьСтрока);
   КонецЕсли;
   Если ЗначениеЗаполнено(доп1) Тогда
      ОбластьСтрока.Параметры.Наименование = Доп1.Наименование;
      //НоваяСтрока.Спецификация = "";
      ОбластьСтрока.Параметры.Шифр = "";
      ОбластьСтрока.Параметры.Количество = Доп1К;
      ОбластьСтрока.Параметры.Цена = Доп1Цена;
      ОбщаяСтоимость = ОбщаяСтоимость + (Доп1Цена*Доп1К);
      ОбластьСтрока.Параметры.Стоимость = Доп1Цена*Доп1К;
      НомерСтроки = НомерСтроки +1;
      ОбластьСтрока.Параметры.НомерСтроки = НомерСтроки;
      ТабДок.Вывести(ОбластьСтрока);
   КонецЕсли;
   Если ЗначениеЗаполнено(доп2) Тогда
      ОбластьСтрока.Параметры.Наименование = Доп2.Наименование;
      //НоваяСтрока.Спецификация = "";
      ОбластьСтрока.Параметры.Шифр = "";
      ОбластьСтрока.Параметры.Количество = Доп2К;
      ОбластьСтрока.Параметры.Цена = Доп2Цена;
      ОбщаяСтоимость = ОбщаяСтоимость + (Доп2К*Доп2Цена);
      ОбластьСтрока.Параметры.Стоимость = Доп2К*Доп2Цена;
      НомерСтроки = НомерСтроки +1;
      ОбластьСтрока.Параметры.НомерСтроки = НомерСтроки;
      ТабДок.Вывести(ОбластьСтрока);
   КонецЕсли;
      
   ОбластьИтого.Параметры.Итого = ОбщаяСтоимость;
   
   ТабДок.Вывести(ОбластьИтого);
   ТабДок.Вывести(ОбластьПодвал);
   
   ТабДок.ОтображатьСетку = Ложь;
   ТабДок.Защита = Ложь;
   ТабДок.ТолькоПросмотр = Ложь;
   ТабДок.ОтображатьЗаголовки = Ложь;
   ТабДок.Показать();
      
КонецПроцедуры

а в модуле формы:

Процедура Печать(Элемент)
   
   //Если Число(печформы.ВыбратьЭлемент("Заказ краткий", печформы)) Тогда
   //   ПечатьКраткого();
   //Иначе   
      ПечатьПолного();
   //КонецЕсли;
   
КонецПроцедуры

       печформы = Новый СписокЗначений;
    печформы.Добавить("Заказ краткий");
    печформы.Добавить("Заказ полный");
   


Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
Re: Странная Ошибка
« Ответ #1: 04 Июл 2012, 09:08 »
КонецПроцедуры;
уберите точку с запятой
Тазовод)

Оффлайн djvjv

  • ****
  • Сообщений: 262
  • РЕПУТАЦИЯ: -2
  • Регистрация: 2012-03-15
  • Сайт: 
  • Профессия: Программист 8.1
Re: Странная Ошибка
« Ответ #2: 04 Июл 2012, 09:46 »
а еще вот ошибка
{Документ.__ЗаказНаПротез.Форма.ФормаДокумента.Форма(234)}: Преобразование значения к типу Булево не может быть выполнено
   Если печформы.ВыбратьЭлемент("Заказ краткий", печформы) Тогда



Если печформы.ВыбратьЭлемент("Заказ краткий", печформы) Тогда
      ПечатьКраткого();
   Иначе   
      ПечатьПолного();
   КонецЕсли;

Оффлайн SergeiB

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-07-04
  • Сайт: 
  • Профессия: Программист 8.1
Re: Странная Ошибка
« Ответ #3: 04 Июл 2012, 10:42 »
СписокЗначений.ВыбратьЭлемент, вызывает окно для интерактивного выбора одного из элементов, входящих в список значений. Если пользователь отказался от выбора, возвращает «Неопределено».
Оператор Если пытается преобразовать значение выбора к логическому выражению.
Нужно сформировать условие по сравнению выбранного элемента и элемента списка значения («Заказ краткий»).

Если печформы.ВыбратьЭлемент("Заказ краткий", печформы) = печформы.НайтиПоЗначению("Заказ краткий") Тогда
    ПечатьКраткого();
    Иначе   
    ПечатьПолного();
 КонецЕсли;


Теги:
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4547
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 6108
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4215
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8539
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8574
Последний ответ 26 Апр 2012, 23:08
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
50 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 127
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal