Имя: Пароль:
1C
1С v8
закрыть форму и сохранить
0 Misty
 
04.06.12
05:00
Добрый день! Подскажите.
ф=Док.ПолучитьФорму();
ф.Открыть();
ф.ЭлементыФормы.СтатьяДвиженияДенежныхСредств.значение=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("0022");    
ф.Закрыть(КодВозвратаДиалога.ОК);
или
ф.Закрыть(истина);
При закрытии формы спрашивает сохранять значения или нет, как сделать так, чтобы не спрашивало.
Спасибо.
1 Гефест
 
04.06.12
05:02
На..зачем открывать форму?
2 Cube
 
04.06.12
05:02
(0) Задачу опиши. Тебе надо поменять реквизит? Тогда тебе вообще не надо форму открывать...
3 Misty
 
04.06.12
05:21
в форме есть элементформы - статья движения д средств, вот его надо поменять во всех документах ПКО, т.к. этот элемент потом участвует в формирование субконто1 счета дебет. Вот поменять у меня получилось и потом проводка формируется как надо, но постоянно спрашивает - сохранять значения и я постоянно жму да. а надо что бы не спрашивало.
4 Misty
 
04.06.12
05:21
а реквизита нету такого :(
5 Loki_DelMar
 
04.06.12
05:27
Выборка = Документы.ПриходныйКассовыйОрдер.Выбрать();
Пока Выборка.Следующий() Цикл
Выборка.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("0022");
ДокументОбъект = Выборка.ПолучитьОбъект();
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Исключение
Сообщить("Не удалось записать документ " + Строка(ДокументОбъект));
КонецПопытки;
КонецЦикла;
6 Misty
 
04.06.12
05:31
я так пробовала - уточню - вид операции прочий приход
почему то реквизит статьядвиженияденежныхсредств не имееет никакого отношения к формированию проводки по дебету :(
надо заполнить элемент формы статьядвиженияденежныхсредств и тогда все ок
7 Любопытная
 
04.06.12
05:34
(6) тебе надо заполнить реквизит субконтоДт1
8 Misty
 
04.06.12
05:38
нету такого реквизита
9 Misty
 
04.06.12
05:39
вы мне подскажите как форму закрыть чтобы не спрашивало про сохранение изменений, а они сохранялись по умолчанию
10 Cube
 
04.06.12
05:42
(9) Конфа? Релиз? Платформа?
11 Любопытная
 
04.06.12
05:42
Наврала я , фигня.
Должно у тебя все заполняться при заполнении реквизита статья движения денежных средств. там код в обработке проведения
Проводка = Проводки.Добавить();

Проводка.Период      = ДатаДок;
Проводка.Организация = Организация;

Проводка.СчетДт      = СчетДт;
       БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "СтатьиДвиженияДенежныхСредств",  РасшифровкаПлатежа[0].СтатьяДвиженияДенежныхСредств);

Ты документы перепроводила после заполнения реквизита? Просто программно подставить значение мало, надо потом перепровести все
12 Loki_DelMar
 
04.06.12
05:45
(11) Код из (5) должен работать, либо смотрите, что происходит ПриИзмененииСтатьяДвиженияДенежныхСредств и допишите в (5)
13 Любопытная
 
04.06.12
05:47
(12) она заполняет реквизит шапки, а в проведении реквизит ТЧ. Табличная часть "расшифровка платежа" заполняется в любом случае, даже если ее не видно на форме и платеж не списком. И именно по таб части идет проведение потом.
14 Любопытная
 
04.06.12
05:52
+(13) При чем заполняется она при открытии документа)) На элемент формы "статья движения денежных средств" не повешено ни одного обработчика)
В общем, ТС, лови ТабЧасть каждого документа и в первой строке заполняй статью ДДС, тогда все проведется корректно без открытия форм
15 Misty
 
04.06.12
05:52
вы посмотрите реквизиты в самом документе - там только счеткасса и все
в самой форме при открытии заполняется элемент формы - СтатьиДвиженияДенежныхСредств, а не реквизит, а после его заполнения формируется проводка и на субконтодебет1 и падает эта статья, мать ее. вот у меня все срабатывает отлично, как я и записала, но форму закрыть могу, только после того как меня спросит - сохранить значения, я отвечаю да и все . А мне не хочется да отвечать, а хочется чтобы автоматом срабатывало что то типа
ф.Закрыть(истина);

только это не работает
16 Misty
 
04.06.12
05:53
у меня нет табличной части, т.к. я вид операции выбираю - прочий приход
17 Гефест
 
04.06.12
05:56
(16) Она как суслик, не видна, но есть
18 Misty
 
04.06.12
06:00
понятно что не видна, но мне она и не нужна
19 Loki_DelMar
 
04.06.12
06:05
Выборка = Документы.ПриходныйКассовыйОрдер.Выбрать();
Пока Выборка.Следующий() Цикл
СДДС = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("0022");
Выборка.СтатьяДвиженияДенежныхСредств = СДДС;
Для Каждого Строка Из Выборка.РасшифровкаПлатежа Цикл
Строка.СтатьяДвиженияДенежныхСредств = СДДС;
КонецЦикла;
ДокументОбъект = Выборка.ПолучитьОбъект();
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Исключение
Сообщить("Не удалось записать документ " + Строка(ДокументОбъект));
КонецПопытки;
КонецЦикла;
20 Любопытная
 
04.06.12
06:06
(18) Барышня, запустите отладчик, откройте свой ПКО и посмотрите в отладчике, какие реквизиты заполнены. Будете, вероятно, неприятно удивлены.

В общем Ваше закрыть(истина) - фигня, СП Вы не читали, потому что знали бы, что параметр, который в скобках можно указать - нужен исключительно для формы, открытой модально, чтобы можно было какой-то результат вернуть.
21 Гефест
 
04.06.12
06:14
Когда ты заполняешь реквизит формы, заполняется реквизит в первой строке табличной части. Так отстань от реквизита формы и заполняй ТЧ
22 Misty
 
04.06.12
06:38
вот удивительно, но в ПКО реквизит статьядвиженияденежныхсредств есть пустаяссылка.еще раз повторю - вид операции - прочий приход
23 Любопытная
 
04.06.12
06:42
(22) да какая разница какой вид операции. Открой уже обработку проведения и посмотри, как там заполняются субконто дебета. Отладчиком прогони проведение документа с заполенными реквизитами как тебе надо и посмотри. И сделай потом так, чтобы в остальных документах заполнялись нужные тебе реквизиты.
24 Misty
 
04.06.12
06:51
после создания документа вручную с заполнением всех реквизитов -  реквизит статьядвиженияденежныхсредств есть пустаяссылка.

в форме документа есть элемент формы - статьядвиженияденежныхсредств - его надо заполнить, тогда на его основании создастся проводка с субконто1дебет = статьядвиженияденежныхсредств, а реквизит статьядвиженияденежныхсредств вообще в этом случае не причем.
25 Любопытная
 
04.06.12
06:53
Убейся
26 Гефест
 
04.06.12
06:56
Читай (21) до посинения
27 Alex375
 
04.06.12
08:22
Кассовые документы хитрые: вроде бы заполняешь реквизиты, но реально данные храняться в ТЧ. Тебе и пытаются это объяснить, а ты гнешь свое: хочу реквизит. Прислушайся к умным людям - вноси изменения в ТЧ объекта не открывая ни каких форм документа. И не забудь, что если документ был проведен, то и записывать его надо с проведением
Закон Брукера: Даже маленькая практика стоит большой теории.