Имя: Пароль:
1C
1С v8
Реквизит в расширении
,
0 idw
 
29.01.20
14:43
Здравствуйте. Добавил в расширении новый реквизит ДокОснование документа Счет, также в расширение добавил форму.
Но в модуле формы расширения в процедуре

&НаСервере
&Вместо("ОбновитьСервер")
Процедура ВСП_ОбновитьСервер()

не видит новый реквизит, пишет: Переменная не определена (ДокОснование)

Куда копать?
1 ChMikle
 
29.01.20
14:46
хм, точно реквизит объекта , а не реквизит формы ?
2 TopProger
 
29.01.20
14:46
так Объект.ДокОснование нет?
3 idw
 
29.01.20
14:47
(2) я писал так ШапкаОснование.Вставить("ДокОснование", ДокОснование);
4 ChMikle
 
29.01.20
14:48
(3) через объект.Докоснование попробуйте
5 idw
 
29.01.20
14:49
там и ругается.
Хотя в этой же процедуре идет обращение к реквизиту документа ДокументОснование (не расширение)

Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);

Всё ОК.
6 idw
 
29.01.20
14:50
(4) теперь ругается на Переменная не определена (Объект).

Написал так: ШапкаОснование.Вставить("ДокОснование", Объект.ДокОснование);
7 ChMikle
 
29.01.20
14:50
(6) выложите весь листинг кода это процедуры
8 TopProger
 
29.01.20
14:50
(6) значит вы не в форме объекта или не в контексте
9 idw
 
29.01.20
14:54
(7)

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

            ИначеЕсли ТипОснования = Тип("ДокументСсылка.ЗаявкаНаВозвратТоваровОтКлиента") Тогда
                
                Документы.ЗаявкаНаВозвратТоваровОтКлиента.ПроверитьВозможностьВводаНаОсновании(
                    ВыборкаШапка.ДокументОснование,
                    ВыборкаШапка.Статус,
                    ВыборкаШапка.ЕстьОшибкиПроведен,
                    Истина);
                
            КонецЕсли;
            
            Если ТекстЗапросаДокумент <> "Документ.ОтчетКомиссионера" Тогда
                
                Документы.СчетНаОплатуКлиенту.ПроверитьКорректностьХозяйственнойОперацииДокументаОснования(
                    ВыборкаШапка.ЕстьОшибкиХозяйственнаяОперация,
                    ВыборкаШапка.ХозяйственнаяОперация);
                
            КонецЕсли;
            
            ЗаполнитьЗначенияСвойств(ШапкаОснование, ВыборкаШапка);
            ШапкаОснование.Вставить("ДокОснование", Объект.ДокОснование); //idw+
            Валюта = ВыборкаШапка.Валюта;
            
        КонецЕсли;
        
        Если ВыборкаДокументовЭтапы.Количество() = 0 Тогда
            
            ТекстОшибки = НСтр("ru='В документе %Документ% не заполнены этапы графика оплаты'");
            ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Документ%", ДокументОснование);
            ВызватьИсключение ТекстОшибки;
            
        КонецЕсли;
        
        ТаблицаЭтапов.Очистить();
        
        Пока ВыборкаДокументовЭтапы.Следующий() Цикл
            
            НоваяСтрокаЭтап = ТаблицаЭтапов.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрокаЭтап, ВыборкаДокументовЭтапы);
            
        КонецЦикла;
        
        Если ТаблицаЭтапов.Итог("СуммаПлатежа") = 0 Тогда
            
            ТекстОшибки = НСтр("ru='Не требуется вводить счета на оплату. Сумма платежа по документу %Документ% равна 0.'");
            ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Документ%", ДокументОснование);
            ВызватьИсключение ТекстОшибки;
            
        КонецЕсли;
        
        Если ВыборкаДокументовОплата.Следующий() Тогда
            
            СуммаОстатокОплаты = 0;
            СуммаОстатокОплаты = ВыборкаДокументовОплата.СуммаОплаты;
            
            Для Каждого ТекущийЭтап Из ТаблицаЭтапов Цикл
                
                Если СуммаОстатокОплаты < ТекущийЭтап.СуммаПлатежа Тогда
                    ТекущийЭтап.СуммаОплаты = СуммаОстатокОплаты;
                    ТекущийЭтап.СуммаКОплате = ТекущийЭтап.СуммаПлатежа - ТекущийЭтап.СуммаОплаты;
                    Прервать;
                КонецЕсли;
                    
                ТекущийЭтап.СуммаОплаты  = ТекущийЭтап.СуммаПлатежа;
                ТекущийЭтап.СуммаКОплате = 0;
                ТекущийЭтап.Оплачен      = Истина;
                СуммаОстатокОплаты       = СуммаОстатокОплаты - ТекущийЭтап.СуммаПлатежа;
                
            КонецЦикла;
                
        КонецЕсли;
        
        ИтогоСуммаКОплате    = ТаблицаЭтапов.Итог("СуммаКОплате");
        ИтогоСуммаОплаты     = ТаблицаЭтапов.Итог("СуммаОплаты");
        ИтогоСуммаПлатежа    = ТаблицаЭтапов.Итог("СуммаПлатежа");
        ИтогоПроцентПлатежа  = ТаблицаЭтапов.Итог("ПроцентПлатежа");
        
        ТекущаяДата = НачалоДня(ТекущаяДатаСеанса());
        
        ИтогоОтмеченоКОплате = 0;
        
        Для Каждого ТекущийЭтап Из ТаблицаЭтапов Цикл
            
            Если Не ТекущийЭтап.Оплачен Тогда
                Если ТекущийЭтап.ДатаПлатежа <= ТекущаяДата Тогда
                    ТекущийЭтап.Выбран = Истина;
                    ИтогоОтмеченоКОплате = ИтогоОтмеченоКОплате + ТекущийЭтап.СуммаКОплате;
                КонецЕсли;
                
                Если ТекущийЭтап.ДатаПлатежа > ТекущаяДата Тогда
                    ТекущийЭтап.Выбран = Истина;
                    ИтогоОтмеченоКОплате = ИтогоОтмеченоКОплате + ТекущийЭтап.СуммаКОплате;
                    Прервать;
                КонецЕсли;
            КонецЕсли;
            
        КонецЦикла;
        
    КонецЕсли;
    
    // Вставить содержимое метода.
    ПродолжитьВызов();
КонецПроцедуры
10 idw
 
29.01.20
14:55
(8) в расширении добавлена форма, щелкаю по этой форме, там две закладки Форма и Модуль. Захожу в модуль.
11 TopProger
 
29.01.20
14:58
в основной форме процедура ОбновитьСервер с какой дерективой?
12 idw
 
29.01.20
15:00
13 idw
 
29.01.20
15:01
(11) вот такая:

&НаСервере
Процедура ОбновитьСервер()
14 TopProger
 
29.01.20
15:01
в форме есть реквизит объект?
15 idw
 
29.01.20
15:02
(14) нет
16 TopProger
 
29.01.20
15:02
нихрена это не форма объекта и не увидишь ты там свой добавленный реквизит, его надо передавать при открытии формы.
17 idw
 
29.01.20
15:02
Платформа 8.3.15, конфа КА2
18 idw
 
29.01.20
15:05
(16) точно.
19 ChMikle
 
29.01.20
15:06
(18) ?
20 idw
 
29.01.20
15:07
(18) не форма объекта это, а форма создания счета.
21 ChMikle
 
29.01.20
15:08
(20) :)
22 idw
 
29.01.20
15:11
В расширении формы добавил параметр ДокОснование,

в
&НаСервере
Процедура ВСП_ПриСозданииНаСервереВместо(Отказ, СтандартнаяОбработка)

ДокОснование = Параметры.ДокОснование; // присваиваю передаваемое значение здесь

Опять выдает ошибку здесь:
ШапкаОснование.Вставить("ДокОснование", ДокОснование);
23 idw
 
29.01.20
15:12
24 idw
 
29.01.20
15:15
Хотя вроде так работает: ШапкаОснование.Вставить("ДокОснование", Параметры.ДокОснование);
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший