Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: При открытии не вносить изменения в поле выбора
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Constantus
Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

У меня при открытии формы (нетипового документа) стоит код, который заполняет реквизит "ПериодНачисления" (дата) в формате "Месяц год".
Этот реквизит оформлен как поле выбора. Код заполняет список выбора и в зависимости от даты (первый день месяца) заполняет в нужном формате.

    Если НЕ ЗначениеЗаполнено(ПериодНачисления) Тогда
        СформироватьСписокВыбораМесяца(Год(ТекущаяДата()));
    Иначе
        СформироватьСписокВыбораМесяца(Год(ПериодНачисления));
        ПериодНачисления = ЭлементыФормы.ПериодНачисления.СписокВыбора[Месяц(ПериодНачисления)+1].Значение;
    КонецЕсли;



Процедура СформироватьСписокВыбораМесяца(Знач Год)
    
    Год = Число(Год);
    СписокВыбора = ЭлементыФормы.ПериодНачисления.СписокВыбора;
    СписокВыбора.Очистить();
    СписокВыбора.Добавить(Null);
    СписокВыбора.Добавить(Формат(Год-1, "ЧГ=0"), Формат(Год-1, "ЧГ=0"));
    Для М = 1 По 12 Цикл
        СформДата = Дата(Год, М, 1);
        Наим = Формат(СформДата, "ДФ='ММММ гггг"" г.""'");
        СписокВыбора.Добавить(СформДата, Наим);    
    КонецЦикла;
    СписокВыбора.Добавить(Формат(Год+1, "ЧГ=0"), Формат(Год+1, "ЧГ=0"));
    
КонецПроцедуры



Но столкнулся с такой проблемой, получается так, что всегда при открытии этот код переопределяет значение "ПериодНачисления" и если ты даже просто открыл документ для просмотра, то при закрытии сообщает, что данные были изменены и требуется сохранить.

Как можно используя эти код, при открытии не проводить переопределение старого значения на новое?

Если ремачу
//ПериодНачисления = ЭлементыФормы.ПериодНачисления.СписокВыбора[Месяц(ПериодНачисления)+1].Значение;

то реквизит после открытия пустой.
Vidocq05
Constantus @ Сегодня, 15:44 необходимо зарегистрироваться для просмотра ссылки ,
Поцепите этот код на "НачалоВыбораИзСписка".
ed.kharkov
Constantus @ Сегодня, 15:44 необходимо зарегистрироваться для просмотра ссылки ,
Добрый день.
Так может список выбора формировать в момент начала выбора даты, а не при открытии документа?
Constantus
Vidocq05 @ Сегодня, 18:06 необходимо зарегистрироваться для просмотра ссылки ,

Может быть, но перенос этого кода не помог. При открытии формы данное поле пустое, хотя когда тыкаешь, то он фокусирует в списке нужное значение, а визуально всё пусто
Vidocq05
Цитата(Constantus @ 03.08.18, 15:44) необходимо зарегистрироваться для просмотра ссылки
"ПериодНачисления" (дата)

Это реквизит формы или объекта?
Constantus
Vidocq05 @ Сегодня, 18:35 необходимо зарегистрироваться для просмотра ссылки ,

Это реквизит объекта...
Vidocq05
Constantus @ Сегодня, 16:40 необходимо зарегистрироваться для просмотра ссылки ,
В свойствах элемента формы в поле "Данные" выбран "ПериодНачисления" как реквизит объекта?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.