Имя: Пароль:
1C
1С v8
Автоматическое заполнение поля ввода
0 Злобная Печенька
 
27.07.12
10:27
создала документ, в котором есть табличная часть. заполняемая запросом,и есть поле ввода, в  которое заносится итог колонки таблички. По нажатию кнопки все заполняется отлично, но после закрытия докемнта значение поля ввода обнуляется. Есть возможность сохранить? в принципе понимаю, что дело в Данных поля ввода. у меня они имеют значение ЭлементыФормы.ТабличнаяЧасть1.Отбор.СуммаДоход.Значение.  Автоматически ставится значение ЭлементыФормы.ТабличнаяЧасть1.Текущие данные.СуммаДоход, но в этом случае сохраняются данные первой строки таблицы. ЧЯДНТ?
Процедура ОсновныеДействияФормыЗаполнить(Кнопка)
       Если Ответственный.Пустая() тогда
       Сообщить ("ВВЕДИТЕ ВСЕ ДАННЫЕ!!!")
       конецЕсли;
   Запрос = новый Запрос;
   Запрос.установитьПараметр("ФИО", ФИО);
   Запрос.установитьПараметр("ДатаНач", ДатаНач);
   Запрос.установитьПараметр("ДатаКон", ДатаКон);
   Запрос.Текст =  
               "ВЫБРАТЬ
               |    НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, МЕСЯЦ) КАК Месяц,
               |    СУММА(НДФЛСведенияОДоходах.СуммаДохода) КАК СуммаДохода,
               |СРЕДНЕЕ(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.СуммаПриход) КАК СуммаНДФЛ
               |ИЗ
               |    РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах
               |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ.Обороты КАК РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты
               |        ПО (НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.МесяцНалоговогоПериода, МЕСЯЦ))
               |            И НДФЛСведенияОДоходах.ФизЛицо = РасчетыНалоговыхАгентовСБюджетомПоНДФЛОбороты.ФизЛицо
               |ГДЕ
               |    НДФЛСведенияОДоходах.ФизЛицо = &ФИО
               |    И НДФЛСведенияОДоходах.Период МЕЖДУ &ДатаНач И &ДатаКон
               |
               |СГРУППИРОВАТЬ ПО
               |    НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, МЕСЯЦ)                
               |УПОРЯДОЧИТЬ ПО
               |    Месяц";

                   
   Шапка = Запрос.Выполнить().Выбрать();
ТабличнаяЧасть1.Очистить();
Пока Шапка.Следующий() Цикл    
 НовСтрока = ТабличнаяЧасть1.Добавить();
 НовСтрока.Месяц = Формат(Шапка.месяц, "ДФ = ММММ");
 НовСтрока.СуммаДоход = Шапка.СуммаДохода;
 НовСтрока.СуммаНДФЛ=Шапка.СуммаНДФЛ;
 КонецЦикла;
ЭлементыФормы.ОбщаяСуммаДохода.Значение=ТабличнаяЧасть1.Итог("СуммаДоход");
ЭлементыФормы.ОбщаяВычеты.Значение=ТабличнаяЧасть1.Итог("СуммаНДФЛ");
Обновить();
   
КонецПроцедуры
1 Лефмихалыч
 
27.07.12
10:30
поле ввода твое с данными не связано, в этом и ошибка. В документе должен быть реквизит документа, а не формы. В реквизитах формы ни чего не сохраняется
2 Злобная Печенька
 
27.07.12
10:31
(1)спасибо за подсказку, буду думать
3 Злобная Печенька
 
27.07.12
10:37
(1)Получилось!!! добавила реквизит, и присвоила ему значение итога. все заработало. Спасибо, огромное
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший