Имя: Пароль:
1C
1С v8
Неопознанный оператор
0 OlgaHelga
 
03.07.12
21:54
Уважаемые профессионалы!
Пишу внешку для 1С:Предприятие 8.2 (8.2.15.310)Бухгалтерия для Казахстана
выдает такую ошибку {Форма.Форма.Форма(41,60)}: Неопознанный оператор
ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100); КАК <<?>>Комментарий,
Подскажите пожалуйста, что не так?
Спасибо.
1 H A D G E H O G s
 
03.07.12
21:57
ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100); КАК <<?>>Комментарий,

заменить на

ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100) КАК <<?>>Комментарий,
2 aleks-id
 
03.07.12
21:58
; надо убрать
3 OlgaHelga
 
03.07.12
21:59
Теперь такие ошибки
{Форма.Форма.Форма(41,54)}: Ожидается символ ';'
ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100)<<?>> КАК <<?>>Комментарий,  (Проверка: Толстый клиент (обычное приложение))
{Форма.Форма.Форма(41,59)}: Неопознанный оператор
ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100) КАК <<?>><<?>>Комментарий,  (Проверка: Толстый клиент (обычное приложение))
4 France
 
03.07.12
22:00
похоже, долгая будет ветка... пепси бы, и попкорну.
5 aleks-id
 
03.07.12
22:03
весь запрос давай
6 OlgaHelga
 
03.07.12
22:05
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект);
   Запрос.УстановитьПараметр("Дата", СсылкаНаОбъект.Дата);
   
   Запрос.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    Номер,
   |    Дата КАК ДатаДокумента,
   |    Организация,
   |   СтруктурноеПодразделение,
   |    Контрагент,
   |    Склад,
   |    ВЫБОР
   |        КОГДА Ответственный.ФизЛицо <> ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
   |            ТОГДА Ответственный.ФизЛицо
   |        ИНАЧЕ Ответственный
   |    КОНЕЦ КАК Ответственный,
   |    ОтветственныеЛицаСклад.ФизическоеЛицо КАК МОЛ,
   |    ВалютаДокумента,
   |    ВалютаДокумента.Представление КАК ВалютаПредставление,
   |    Доверенность,
   |    ДоверенностьЧерезКого КАК ЧерезКого
   |ИЗ
   |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСклад
   |        ПО Склад = ОтветственныеЛицаСклад.СтруктурнаяЕдиница
   |ГДЕ
   |    Ссылка = &ТекДокумент";
   
   Шапка = Запрос.Выполнить().Выбрать();
   Шапка.Следующий();
   Запрос = Новый Запрос("
|ВЫБРАТЬ
|   РеализацияТоваровУслуг.Ссылка
|ИЗ
|   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
|   ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(100)) = &Комментарий");
ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100) КАК <<?>>Комментарий,
   ЗапросПоТоварам = Новый Запрос();
   ЗапросПоТоварам.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект);
   ЗапросПоТоварам.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    РеализацияТоваровУслугТовары.НомерСтроки,
   |    РеализацияТоваровУслугТовары.Номенклатура,
   |    РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
   |    РеализацияТоваровУслугТовары.Номенклатура.Комментарий КАК Комментарий,
   |    СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
   |    РеализацияТоваровУслугТовары.Цена,
   |    СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма,
   |    СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС,
   |    СУММА(ВЫБОР
   |            КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
   |                        И РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
   |                    ИЛИ (НЕ РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС)
   |                ТОГДА РеализацияТоваровУслугТовары.Сумма
   |            ИНАЧЕ ВЫБОР
   |                    КОГДА РеализацияТоваровУслугТовары.Ссылка.УчитыватьНДС
   |                            И (НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС)
   |                        ТОГДА РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
   |                КОНЕЦ
   |        КОНЕЦ) КАК СуммаСНДС
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Ссылка = &ТекДокумент
   |
   |СГРУППИРОВАТЬ ПО
   |    РеализацияТоваровУслугТовары.НомерСтроки,
   |    РеализацияТоваровУслугТовары.Номенклатура,
   |    РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование,
   |    РеализацияТоваровУслугТовары.Номенклатура.Комментарий,
   |    РеализацияТоваровУслугТовары.Цена
   |
   |УПОРЯДОЧИТЬ ПО
   |    НомерСтроки
   |ИТОГИ
   |    СУММА(СуммаНДС),
   |    СУММА(СуммаСНДС)
   |ПО
   |    ОБЩИЕ";
   
   ВыборкаСтрокТоварыИтоги = ЗапросПоТоварам.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
   ВыборкаСтрокТоварыИтоги.Следующий();
   
   ВыборкаСтрокТовары = ВыборкаСтрокТоварыИтоги.Выбрать();
   
   СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение);

   Макет = ПолучитьМакет("З8");

   ТабДокумент = Новый ТабличныйДокумент;
   
   // Зададим параметры макета
   ТабДокумент.ПолеСверху         = 0;
   ТабДокумент.ПолеСлева          = 10;
   ТабДокумент.ПолеСнизу          = 0;
   ТабДокумент.ПолеСправа         = 0;
   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваров_З8";

   // Выводим общие реквизиты шапки
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   
   СведенияОбОрганизации = ОбщегоНазначения.СведенияОЮрФизЛице(СтруктурнаяЕдиницаОрганизация, Шапка.ДатаДокумента);
   ТекстРНН_БИН          = "";
   
   ОбластьМакета.Параметры.Заполнить(Шапка);
   ОбластьМакета.Параметры.ПредставлениеОрганизации = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
   ОбластьМакета.Параметры.ПредставлениеОтправителя = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
   ОбластьМакета.Параметры.ОрганизацияПоОКПО        = СведенияОбОрганизации.КодПоОКПО;
   ОбластьМакета.Параметры.ОрганизацияРНН_БИН         = ОбщегоНазначения.ПолучитьРегистрационныйНомерОрганизацииКонтрагентаВПечатнуюФорму(СведенияОбОрганизации, Шапка.ДатаДокумента, Ложь, ТекстРНН_БИН);
   ОбластьМакета.Параметры.ТекстРНН_БИН             = ТекстРНН_БИН;
   ОбластьМакета.Параметры.НомерДокумента           = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект, глСписокПрефиксовУзлов);
   ОбластьМакета.Параметры.Комментарий = ВыборкаСтрокТовары.Номенклатура.Комментарий;
   ОтветственныйДляПечати = "";
   ДолжностьОтветственного = "";
   
   Если ТипЗнч(Шапка.Ответственный) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
       ДанныеОтветственного = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(Шапка.Организация, Шапка.Ответственный, СсылкаНаОбъект.Дата);
       ОтветственныйДляПечати = ДанныеОтветственного.Представление;
       ДолжностьОтветственного = ДанныеОтветственного.Должность;
   Иначе
       ОтветственныйДляПечати = Шапка.Ответственный;
   КонецЕсли;    
       
   ОбластьМакета.Параметры.ОтветственныйЗаПоставку = ОтветственныйДляПечати;
   
   ПредставлениеПолучателя = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаДокумента), "ПолноеНаименование,");
   ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя;
   
   ТабДокумент.Вывести(ОбластьМакета);

   // Выводим заголовок таблицы
   ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
   ЗаголовокТаблицы.Параметры.Валюта = Шапка.ВалютаПредставление;
   ТабДокумент.Вывести(ЗаголовокТаблицы);

   КоличествоСтрок = ВыборкаСтрокТовары.Количество();
   
   // Выводим многострочную часть документа
   ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
       
   Пока ВыборкаСтрокТовары.Следующий() Цикл

       Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
           Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
           Продолжить;
       КонецЕсли;

       Если Не УниверсальныеМеханизмы.ПроверитьВыводДляТабличногоДокумента(ТабДокумент, ОбластьМакета) Тогда
           ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
           ТабДокумент.Вывести(ЗаголовокТаблицы);
       КонецЕсли;    

       ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
       ОбластьМакета.Параметры.НомерПП = ВыборкаСтрокТовары.НомерСтроки;
       ОбластьМакета.Параметры.ТоварНаименование = ВыборкаСтрокТовары.Номенклатура.НаименованиеПолное;
                   
       ТабДокумент.Вывести(ОбластьМакета);

   КонецЦикла;

   // Выводим итоги по документу
   ОбластьМакета = Макет.ПолучитьОбласть("Итого");
   ОбластьМакета.Параметры.Валюта = Шапка.ВалютаПредставление;
   ОбластьМакета.Параметры.ИтогоСуммаСНДС = ВыборкаСтрокТоварыИтоги.СуммаСНДС;
   ОбластьМакета.Параметры.ИтогоСуммаНДС = ВыборкаСтрокТоварыИтоги.СуммаНДС;
   
   ОбластьМакета.Параметры.КоличествоПорядковыхНомеровЗаписейПрописью = ЧислоПрописью(КоличествоСтрок, ,",,,,,,,,0");
   ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(?(ЗначениеЗаполнено(ВыборкаСтрокТоварыИтоги.СуммаСНДС),ВыборкаСтрокТоварыИтоги.СуммаСНДС,0), Шапка.ВалютаДокумента);
   
   ТабДокумент.Вывести(ОбластьМакета);
   
   // вывод подписей
   ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
   ОбластьМакета.Параметры.Заполнить(Шапка);
       
   Руководители = ОбщегоНазначения.ОтветственныеЛицаОрганизаций(СтруктурнаяЕдиницаОрганизация, Шапка.ДатаДокумента,);
   Бухгалтер    = ?(НЕ ЗначениеЗаполнено(Руководители.ГлавныйБухгалтер), "Не предусмотрен", Руководители.ГлавныйБухгалтер);
   ОбластьМакета.Параметры.ГлБухгалтер = Бухгалтер;
   
   ОбластьМакета.Параметры.ОтпускРазрешил = ОтветственныйДляПечати;
   ОбластьМакета.Параметры.ОтпускРазрешилДолжность = ДолжностьОтветственного;
   
   ОбластьМакета.Параметры.Доверенность = СокрЛП(Шапка.Доверенность);
   ОбластьМакета.Параметры.ЧерезКого    = СокрЛП(Шапка.ЧерезКого);
   
   
   // заполняем МОЛ
   Если ЗначениеЗаполнено(Шапка.Склад) Тогда
       ДанныеМОЛ = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(Шапка.Организация, Шапка.МОЛ, СсылкаНаОбъект.Дата);
       ОбластьМакета.Параметры.МОЛОтпустил = ДанныеМОЛ.Представление;
   КонецЕсли;    
       
   ТабДокумент.Вывести(ОбластьМакета);
           
   //Возврат ТабДокумент;
   ТабДокумент.Показать() ;
   
   
   
КонецПроцедуры
7 aleks-id
 
03.07.12
22:07
как сказал папа Карло "а теперь делаем ноги"
8 ДенисЧ
 
03.07.12
22:08
Вместо
|ГДЕ
|   ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(100)) = &Комментарий");
ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100) КАК <<?>>Комментарий,

|ГДЕ
|   ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(100)) = &Комментарий"),
ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 100) КАК <<?>>Комментарий,

Ну не нужны в тексте запроса точки с запятой...
9 aleks-id
 
03.07.12
22:09
(8) сам то понял что написал???
10 aleks-id
 
03.07.12
22:10
там же каша полнейшая
11 aleks-id
 
03.07.12
22:11
кроме этого пол мужской и фотки нет
12 France
 
03.07.12
22:11
(7) и кто тебя за язык тянул с "давай запрос"???))
13 OlgaHelga
 
03.07.12
22:12
Впервые такое делаю. Все плохо? Пойду за веревкой))
14 H A D G E H O G s
 
03.07.12
22:14
Иди за фоткой.
15 France
 
03.07.12
22:16
оставь веревку пока в покое..
помучай глаза, вглядись в 8 и помучай клавиатуру..
потом за фото..
16 OlgaHelga
 
03.07.12
22:20
Я уже неделю бьюсь над этой внешкой и день, и ночь... Когда ломаю конфу и комментариям устанавливаю ограничение длины, все работает. Хотела обойтись без вмешательства непосредственно в конфигурацию((
17 vqwy
 
03.07.12
22:21
(16) а чо пол мужской уже?
18 vqwy
 
03.07.12
22:21
+(17) с отчаяния?
19 OlgaHelga
 
03.07.12
22:21
Дмитрий Сергеевич, вряд ли моя фотка решит эту проблему.
20 OlgaHelga
 
03.07.12
22:21
Некогда было менять пол... Торопилась))
21 France
 
03.07.12
22:26
хватит торопится.. почитай хоть ответы, которые здесь дали. а времени не хватит не только на смену пола)
22 Amra
 
03.07.12
22:58
(19) Решит. Палюбому)