Имя: Пароль:
1C
1С v8
Как программно сохранить данные в форме?
0 vem2012
 
24.11.13
20:12
Добрый вечер.

  В "1С Бухгалтерии 8, ред. 2.0" в документе "Поступление на расчетный счет" есть кнопка КУДиР. Как при помощи внешней обработки в документах "Поступление на расчетный счет" заполнить поле "В т.ч. доходы принимаемые" в форме, которая открывается при нажатии на кнопку КУДиР как 10% от суммы документа в?

Написал следующий код:

Выборка = Документы.ПоступлениеНаРасчетныйСчет.Выбрать(НачалоДня(ДатаНач),КонецДня(ДатаКон));

Пока Выборка.Следующий() Цикл
        
     ТекДок = Выборка.Ссылка.ПолучитьОбъект();
     ФормаНастройки = ПолучитьОбщуюФорму("ФормаНастройкиПлатежаУСН");
     ФормаНастройки.Активизировать();
     ФормаНастройки.АвтоРежим = Ложь;
     ФормаНастройки.Графа5    = ТекДок.СуммаДокумента*0.10;
     ТекДок.Записать();
  
КонецЦикла;

     Если нажать на кнопку "КУДиР", то все осталось без изменений. Не знаю, что надо еще дописать.
1 Сонька
 
24.11.13
20:15
данные хранятся в реквизитах а не на форме.. Какой реквизит документа хранит данные Графа5?
2 GROOVY
 
24.11.13
20:15
(1) Реквизиты формы как бы тоже есть.
3 vem2012
 
24.11.13
20:23
Графа5_УСН - реквизит в документе. Но что это мне дает?
4 zakidonoff
 
24.11.13
20:30
(0) Не совсем ясно зачем тебе форма УСН, если ты собрался внешней обработкой реквизиты заполнять...
Пиши напрямую:

Выборка.Графа5_УСН = ТекДок.СуммаДокумента*0.10;

Или я что-то не так понял?
5 vem2012
 
24.11.13
20:33
(zakidonoff) Я хочу затем массово документы перепровести и чтобы в "Книгу учета доходов и расходов по УСН" попало 10% от суммы документа.
6 Пеппи
 
24.11.13
20:34
(5) учетная политика какая стоит?
7 vem2012
 
24.11.13
20:34
(zakidonoff) Я собрался реквизиты не документа заполнять, а реквизиты формы.
8 vem2012
 
24.11.13
20:35
(Пеппи) УСН доходы
9 Пеппи
 
24.11.13
20:36
(7) с учетом (7) зачем тебе заполнять реквизиты формы??? у тебя все эти документы открыты?
10 Пеппи
 
24.11.13
20:36
(8) тогда ок
11 zakidonoff
 
24.11.13
20:36
Вот код стандартной работы этой формы:

    НалоговыйУчетУСН.ЗаполнитьНастройкуКУДиР(ЭтотОбъект);
    
    ФормаНастройки = ПолучитьОбщуюФорму("ФормаНастройкиПлатежаУСН");

    ФормаНастройки.Графа4       = Графа4_УСН;
    ФормаНастройки.Графа5       = Графа5_УСН;
    ФормаНастройки.Графа6       = Графа6_УСН;
    ФормаНастройки.Графа7       = Графа7_УСН;
    ФормаНастройки.НДС          = НДС_УСН;
    ФормаНастройки.ДоходЕНВД    = ДоходыЕНВД_УСН;
    ФормаНастройки.РасходЕНВД   = РасходыЕНВД_УСН;
    ФормаНастройки.Содержание   = Содержание_УСН;
    ФормаНастройки.ТолькоДоходы = НалоговыйУчетУСН.ПрименениеУСНДоходы(Организация, Дата);
    ФормаНастройки.АвтоРежим     = НЕ РучнаяНастройка_УСН;

    СтруктураПараметров = ФормаНастройки.ОткрытьМодально();

    Если СтруктураПараметров = Неопределено Тогда
        Возврат;
    КонецЕсли;

    Графа4_УСН           = СтруктураПараметров.Графа4;
    Графа5_УСН           = СтруктураПараметров.Графа5;
    Графа6_УСН           = СтруктураПараметров.Графа6;
    Графа7_УСН           = СтруктураПараметров.Графа7;
    НДС_УСН              = СтруктураПараметров.НДС;
    ДоходыЕНВД_УСН       = СтруктураПараметров.ДоходыЕНВД;
    РасходыЕНВД_УСН      = СтруктураПараметров.РасходыЕНВД;
    Содержание_УСН       = СтруктураПараметров.Содержание;
    РучнаяНастройка_УСН = НЕ СтруктураПараметров.АвтоРежим;
    
    СформироватьОбновитьСписокПорядокОтраженияАвансов();


Т.е. работает так: открывается форма. В неё передаются реквизиты с документа. После закрытия формы в документе меняются реквизиты на те, что были указаны в форме.
Заключение: Зачем тебе форма УСН, если ты собрался внешней обработкой реквизиты заполнять? Пиши напрямую:

Выборка.Графа5_УСН = ТекДок.СуммаДокумента*0.10;
12 Сонька
 
24.11.13
20:37
(2)ну не знаю... я поняла как (4)..
13 vem2012
 
24.11.13
20:50
(zakidonoff) Еще раз повторяю: мне не нужно менять реквизиты в документе, мне нужно менять реквизиты в форме (вернее так, если я смогу поменять реквизит в форме, то он поменяется в документе)

Что мне дает Выборка.Графа5_УСН = ТекДок.СуммаДокумента*0.10 ?

При проведении документа регистр накопления "Книга учета доходов и расходов раздел I) Графа5 будет равна СуммаДокумента.
14 zakidonoff
 
24.11.13
20:54
По-моему, тут один груви понял, что ты хочешь (или сделал вид, что понял -) ).
Как по-мне, так ты как-то через канализацию лезешь там, где можно войти через парадную дверь.
15 vem2012
 
24.11.13
21:00
(zakidonoff) Графа5_УСН - это реквизит в документе. Графа5 - это реквизит в форме "ФормаНастройкиПлатежаУСН". Мне нужно поменять реквизит Графа5. В реквизит Графа5_УСН документа я что угодно запихаю, но это не решает проблему.
16 hhhh
 
24.11.13
21:11
(15) надо менять документ. Форма - это мираж. Сейчас она есть, через полсекунды ее нет. Нет смысла вообще. Она нигде не запоминается.
17 vem2012
 
24.11.13
21:12
(zakidonoff) Проблема в том, что реквизит в форме "ФормаНастройкиПлатежаУСН" меняется (если открыть форму модально, то это видно), но не сохраняется.
18 hhhh
 
24.11.13
21:12
(15) и менять в форме в 250 раз тормознее, чем напрямую в документе поменять.
19 zakidonoff
 
24.11.13
21:14
(17) Реквизит в форме и при твоём коде меняется. Только дальше-то что?

Выборка.Графа5_УСН = ТекДок.СуммаДокумента*0.10;
Выборка.РучнаяНастройка_УСН = Истина;

И будет тебе счастье.
20 vem2012
 
24.11.13
21:19
(zakidonoff) Я проверил, не работает.
21 vem2012
 
24.11.13
21:23
(zakidonoff)Сори, работает. Все дело было в строке
Выборка.РучнаяНастройка_УСН = Истина;

(zakidonoff)Спасибо за помощь и спасибо за терпение.
AdBlock убивает бесплатный контент. 1Сергей