Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Налоговая накладная, Вид договора
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
vadim007
Конфа: Бухия для Украины, 290.
Объясните, в чем фишка, что не раскрывается список видов договоров (вкладка дополнительно)? До обновления на 290 релиз было неполное обновление из 288 и 289 релизов, там список видов договоров раскрывался, и выбирался нужный вид договора. Текст процедура ЗаполнитьВидДоговора() изменился:
Процедура ЗаполнитьВидДоговора() // БЫЛО
    Если спВидДоговора.ВыбратьЗначение(ВидДоговора,"Выберите вид договора",2,0,1) = 0 Тогда
        Возврат;
    КонецЕсли;
КонецПроцедуры

заменена на
Процедура ЗаполнитьВидДоговора() // СТАЛО
    спВидДоговора.УдалитьВсе();
    спВидДоговора.ДобавитьЗначение("Договір постачання");
    спВидДоговора.ДобавитьЗначение("Договір купівлі-продажу");
    спВидДоговора.ДобавитьЗначение("Договір комісії");
    спВидДоговора.ДобавитьЗначение("Договір аренди");
    спВидДоговора.ДобавитьЗначение("Договір бартерної поставки");
    спВидДоговора.ДобавитьЗначение("Договір консигнації");
    спВидДоговора.ДобавитьЗначение("Договір поруки");
    спВидДоговора.ДобавитьЗначение("Договір доручення");
    спВидДоговора.ДобавитьЗначение("Договір довірчого управління");
    спВидДоговора.ДобавитьЗначение("Договір відповідального зберігання");
    спВидДоговора.ДобавитьЗначение("Договір складського зберігання");
    спВидДоговора.ДобавитьЗначение("Договір про надання посередницьких послуг");
    спВидДоговора.ДобавитьЗначение("Договір про виконання роботи");
    спВидДоговора.ДобавитьЗначение("Договір про надання послуг");
    спВидДоговора.ДобавитьЗначение("Договір про інформаційно-довідкове обслуговування");
    спВидДоговора.ДобавитьЗначение("Договір поставки оптової партії");
    // если есть в новом списке - спозиционируемся на него
    Инд = спВидДоговора.НайтиЗначение(СокрЛП(ВидДоговора));
    Если Инд = 0 Тогда
        // нет такого в списке
        спВидДоговора.ТекущаяСтрока(1);
        ВидДоговора = спВидДоговора.ПолучитьЗначение(1);
    Иначе
        спВидДоговора.ТекущаяСтрока(Инд);
    КонецЕсли;
КонецПроцедуры

Из текста процедуры видно, что список видов договоров и не должен раскрываться, а вид договора нужно ввести вручную, и если ошиблись, то будет выбран вид договора первый в списке. Бред какой-то.
У кого какое мнение?
mister-x
по коду так і виходить: ВидДоговора вже задано або вручну або якимось чином програмно
vadim007
Цитата(mister-x @ 22.12.11, 14:35) необходимо зарегистрироваться для просмотра ссылки
по коду так і виходить: ВидДоговора вже задано або вручну або якимось чином програмно

В общем, я сделал так (кусок кода из прежней конфигурации), теперь можно выбирать из списка:
Процедура ЗаполнитьВидДоговора()
    спВидДоговора.УдалитьВсе();
    спВидДоговора.ДобавитьЗначение("Договір постачання");
    спВидДоговора.ДобавитьЗначение("Договір купівлі-продажу");
    спВидДоговора.ДобавитьЗначение("Договір комісії");
    спВидДоговора.ДобавитьЗначение("Договір аренди");
    спВидДоговора.ДобавитьЗначение("Договір бартерної поставки");
    спВидДоговора.ДобавитьЗначение("Договір консигнації");
    спВидДоговора.ДобавитьЗначение("Договір поруки");
    спВидДоговора.ДобавитьЗначение("Договір доручення");
    спВидДоговора.ДобавитьЗначение("Договір довірчого управління");
    спВидДоговора.ДобавитьЗначение("Договір відповідального зберігання");
    спВидДоговора.ДобавитьЗначение("Договір складського зберігання");
    спВидДоговора.ДобавитьЗначение("Договір про надання посередницьких послуг");
    спВидДоговора.ДобавитьЗначение("Договір про виконання роботи");
    спВидДоговора.ДобавитьЗначение("Договір про надання послуг");
    спВидДоговора.ДобавитьЗначение("Договір про інформаційно-довідкове обслуговування");
    спВидДоговора.ДобавитьЗначение("Договір поставки оптової партії");
    //! 22.12.2011 Vadim007. Вид договора выбираем из списка, как прежде
    Если спВидДоговора.ВыбратьЗначение(ВидДоговора,"Выберите вид договора",2,0,1) = 0 Тогда
        Возврат;
    КонецЕсли;
    Возврат;
    //! Конец вставки
    // если есть в новом списке - спозиционируемся на него
    Инд = спВидДоговора.НайтиЗначение(СокрЛП(ВидДоговора));
    Если Инд = 0 Тогда
        // нет такого в списке
        спВидДоговора.ТекущаяСтрока(1);
        ВидДоговора = спВидДоговора.ПолучитьЗначение(1);
    Иначе
        спВидДоговора.ТекущаяСтрока(Инд);
    КонецЕсли;
КонецПроцедуры
Kaliban
У вас какя-то накладка с обновлениями.

в 290 релизе при открытии заполняется список
    спВидДоговора = СоздатьОбъект("СписокЗначений"); 
    спВидДоговора.ДобавитьЗначение("Договір поставки");
    спВидДоговора.ДобавитьЗначение("Договір купівлі-продажу");
    спВидДоговора.ДобавитьЗначение("Договір комісії");
    спВидДоговора.ДобавитьЗначение("Договір оренди");
    спВидДоговора.ДобавитьЗначение("Договір бартерної поставки");
...


а процедура при выборе договора так и выглядит:
Процедура ЗаполнитьВидДоговора()
    Если спВидДоговора.ВыбратьЗначение(ВидДоговора,"Выберите вид договора",2,0,1) = 0 Тогда
        Возврат;
    КонецЕсли;          
КонецПроцедуры
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.