8.х Програминг УТ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Hatake, 14 янв 2009.

  1. TopicStarter Overlay
    Hatake
    Offline

    Hatake

    Регистрация:
    27 сен 2008
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    УТ 10.3.6
    Есть такая задача, раньше работали по счетам, в документе счет на оплату мной были сделаны доработки:
    1. Созданы реквизиты :Оплачен, Исполнен, Печать 1, Печать 2 - тип Булево
    2. Реквизит Оплачен и Исполнен нужны для выделения в форме списка цветом, соответственно когда счет оплачем, ставим галку Оплачен и получаем желтый цвет выделения строки в форме списка, когда товар по счтеу отгружет, ставим Исполнен и цвет переходит на зеленый
    Вот код:

    Код:
    Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    //Обозначаем возможные цвета срок списка(Рудаков)//
    Цвет = Новый Цвет(255,255,0);
    Цвет1 = Новый Цвет(100,180,100);
    Цвет2 = Новый Цвет(245,217,247);
    Если Не Элемент.ТекущаяСтрока = Неопределено
    И ТипЗнч(ДанныеСтроки.Контрагент) = Тип("Строка") Тогда
    ОформлениеСтроки.Ячейки.Контрагент.Шрифт       = Новый Шрифт(,, Истина);
    ОформлениеСтроки.Ячейки.Контрагент.ЦветТекста  = WebЦвета.ТемноСиний;
    КонецЕсли;
    //Выделяем цветом строки в форме списка(Рудаков)//
    Если ДанныеСтроки.Ссылка.Оплачен = Истина Тогда
    ОформлениеСтроки.ЦветФона = Цвет;
    Иначе
    Если ДанныеСтроки.Ссылка.Исполнен = Истина Тогда
    ОформлениеСтроки.ЦветФона = Цвет1;
    //Иначе
    //ОформлениеСтроки.ЦветФона = Цвет2;
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры
    
    3. Реквизит Печать 1 и Печать 2 нужны для вывода формы счета с печатями организации, для отправки по электронной почте
    Вот код:


    Код:
    // Вывести подписи
    Если Тип = "Счет" Тогда
    
    Если ЭтотОбъект.Печать1 Тогда
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета1");
    
    Иначе
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
    Если ЭтотОбъект.Печать2 Тогда
    ОбластьМакета=Макет.ПолучитьОбласть("ПодвалСчета2");
    КонецЕсли;
    КонецЕсли;
    
    Иначе
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалЗаказа");
    КонецЕсли; 
    
    ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
    
    ТабДокумент.Вывести(ОбластьМакета);
    
    Возврат ТабДокумент;
    
    Теперь понадобилось вести работу по заказам, то же самое сделать в Документе ЗаказПокупателя, я просто перенес код из одного документа в другой, но ничего не вышло, с реквизитами Оплачен и Исполнен при соответствующей отметке в документе, цвета не проставляються (в счетах всё работает) а при нажатии F5 из конфигуратора выдает кучу ошибок:

    {Документ.ЗаказПокупателя(1,11)}: Неопознанный оператор
    ЕслиПерем <<?>>мУдалятьДвижения;
    {Документ.ЗаказПокупателя(2,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мВалютаРегламентированногоУчета Экспорт;
    {Документ.ЗаказПокупателя(3,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мПараметрыСвязиСтрокТЧ Экспорт;
    {Документ.ЗаказПокупателя(7,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мТекущийДоговорКонтрагента Экспорт;
    {Документ.ЗаказПокупателя(11,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мТекущаяВалютаВзаиморасчетов Экспорт;
    {Документ.ЗаказПокупателя(13,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мРассчитыватьАвтоматическиеСкидки;
    {Документ.ЗаказПокупателя(14,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мМинимальныеЦены Экспорт;
    {Документ.ЗаказПокупателя(15,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мСписокФильтров Экспорт;
    {Документ.ЗаказПокупателя(18,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мСуммаВсего Экспорт;
    {Документ.ЗаказПокупателя(19,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мСуммаВсегоНДС Экспорт;
    {Документ.ЗаказПокупателя(21,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мУчетнаяПолитика Экспорт;
    {Документ.ЗаказПокупателя(22,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мРезервироватьПоСериям Экспорт;
    {Документ.ЗаказПокупателя(26,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
    <<?>>Перем мСтруктураПараметровДляПолученияДоговора Экспорт;
    {Документ.ЗаказПокупателя(41,1)}: Определения процедур и функций должны размещаться перед операторами тела модуля
    <<?>>Функция ПолучитьПараметрыПечатиСчетаЗаказа(Тип) Экспорт

    В програминге не силен, так по малости только, помоги чем сможите, как перенести функционал, спасибо .
  2. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Между Если и следующими операторами должен быть пробел. А перед Перем в свою очередь ничего не должно быть. Проверь синтаксис - скорее всего криво добавил код.

    Возможно, что случайно вставил Если в самое начало модуля.

Поделиться этой страницей