Имя: Пароль:
1C
1С v8
Программное сохранение документа 1с
,
0 igorius
 
12.10.15
10:11
Всем доброе время суток.

Такой вопрос: Есть документ, у которого есть табличная часть. Эта ТЧ заполняется программно и не доступна пользователю. При открытии формы в нее должна записаться определенная информация. Проблема в том, что если пользователь открыл документ и потом его сохранил, то инфа в ТЧ тоже сохранилась, а если открыл и закрыл, то инфа не сохранилась(а надо что бы сохранялась), как это можно обойти?

Надеюсь понятно описал проблему, заранее спасибо за ответы.
1 DrShad
 
12.10.15
10:15
модифицированность формы взводи после заполнения ТЧ
2 kosts
 
12.10.15
10:23
(0) И не забудь не_перезаполнять ТЧ, если документ открыт только на просмотр...
3 igorius
 
12.10.15
10:40
(1) модифицированность показывает пользователю, что форма была изменена, но мне надо что бы именно документ сохранялся. Если еще конкретизировать, то в процедуре ПриОткрытии происходит заполнение ТЧ и после заполнение док должен сохранится. Тут как бы фиксируется само открытие пользователем документ.
4 igorius
 
12.10.15
10:42
(1) У меня были мысли через ДокументОбъект попробовать это сделать, но тогда получатся ряд сложностей... может есть другой метод?
5 Mort
 
12.10.15
10:44
"При открытии формы в нее должна записаться определенная информация." - Плохое решение.
6 НЕА123
 
12.10.15
10:44
(4)
>У меня были мысли через ДокументОбъект попробовать это сделать
по-другому - как?
7 Альбатрос
 
12.10.15
10:47
(5) +1
8 cw014
 
12.10.15
10:47
(4)
Процедура ПередОткрытием(Отказ)

   ЗаполнитьЧемТо(ТабличнаяЧасть);
   Попытка
      Записать();
   Исключение
      Отказ = Истина; // Не открывать если не запишем
   КонецПопытки;

КонецПроцедуры
9 igorius
 
12.10.15
10:48
(5) (7)  Почему? Я в 1с работаю относительно не долго, так что много нюансов еще увы не знаю.
10 igorius
 
12.10.15
10:52
(8) Спасибо)
11 cw014
 
12.10.15
10:55
(10) Спасибо не булькает ;) Проверь сначала
12 Альбатрос
 
12.10.15
10:57
(8) Угу, а потом пользователи будут бегать с вопросом "у меня документ не открывается!"

(0) "если пользователь открыл документ и потом его сохранил, то инфа в ТЧ тоже сохранилась, а если открыл и закрыл, то инфа не сохранилась"
На вранье похоже, если ТЧ перезаполняется при КАЖДОМ открытии
13 igorius
 
12.10.15
10:57
(11) Проверил, пока работает как надо)
14 cw014
 
12.10.15
10:58
(12) Там суть в другом - что заполняется неведомо где, а если юзверю сразу модифицированность ставить - окошко будет выскакивать, на которое он будет отвечать "Отмена"
15 igorius
 
12.10.15
10:58
(12) Ну, тут может немного не правильно сформулировал, ТЧ не перезаполняется, а дозаполняется при определенных условиях.
16 Альбатрос
 
12.10.15
10:59
(14) А если документ не нужно сохранять?
17 cw014
 
12.10.15
11:00
(16) Ну уже видимо нужно
18 Альбатрос
 
12.10.15
11:00
(17) Не поспоришь))))
19 Альбатрос
 
12.10.15
11:00
(15) Сути не меняет
20 igorius
 
12.10.15
11:02
(16) то что попадает в ТЧ надо сохранить по любому. Там логика мол, есть несколько связаных меж собой доков и надо показывать в одном из них изменения другого дока и сохранять дату их изменения.
21 Альбатрос
 
12.10.15
11:04
(20) с кодом из (8) у тебя всегда будет сохраняться документ сразу, еще до открытия. То есть нечайно нажал на кнопку создать документ и опа, он уже записан.
22 Альбатрос
 
12.10.15
11:04
(20) Заведи РС и выводи его.
23 Адинэснег
 
12.10.15
11:07
костыли
24 Адинэснег
 
12.10.15
11:08
записывай тогда уж в списке при активации строки, или при выводе *LOL*
25 igorius
 
12.10.15
11:20
(21) там док создается на основании другого дока, и 90 процентов данных подтягиваются с других доков. Вариант (8) мне пока подходит, если будут траблы - то буду думать дальше) Спасибо всем за помощь)
26 cw014
 
12.10.15
11:21
(22) +1
(25) Добавь проверку "ЭтоНовый"
27 igorius
 
12.10.15
11:24
(26) добавил, с РС думал, но уже начал так, так что пока будет так, а там видно будет)
28 kosts
 
12.10.15
12:12
(27) Еще не забудь, что не у всех пользователей есть право на запись документа.
А так же есть администратор системы, который если и открывал, то это обычно не должно в движениях отражаться.
Рассказал бы про всю картину, а то овнокодом попахивает.
Если это журналирование, то пиши или в системный журнал или в отдельный регистр.
29 igorius
 
12.10.15
13:27
(28) Суть всей картины: Есть контролирующий документ который должен контролировать взаимодействие складской и финансовой части фирмы, создается на основе заказа покупателя, в котором есть три ТЧ, финансовая ТЧ, складская ТЧ, ТЧ изменений.

Финансовая ТЧ - в нее должны подтягиваться все документы проплаты(оплата в кассу, счет, корректировки и тд) по заказу на основе которого создан контрол документ.
Складская ТЧ - все отгрузки по заказу.
ТЧ изменений - должна фиксировать добавление нового дока(проплаты или отгрузки), изменение дока(например изменилась в доке отгрузки место назначения или сумма в доке проплата) и удаление дока(если удалили проплату и тд.) Финансовая ТЧ и Складская ТЧ перезаполняются при открытии(показывают состояние на данный момент), а ТЧ изменений дозаполняется в зависимости от выше перечисленных изменений. + каждий вечер запускаеться регЗадание, которое которое перезаполняет все Контролирующие доки.

Вот полная картина.
30 Альбатрос
 
12.10.15
13:35
(29) Делай РС
31 igorius
 
12.10.15
13:43
(30) так получается придется ковырять много документов, их проведения и по сути дублировать и плодить лишнюю информацию.
32 Альбатрос
 
12.10.15
13:53
(31) С хера ли дублирование? Думаешь делать запись в БД при каждом открытии документа это лучше что ли? Учитывая еще то, что документ всегда сохраняется, а ведь возможны случаи, когда его сохранять и не нужно. Смотри сам короче.
33 kosts
 
12.10.15
13:58
(29) Обычно так сильно не заморачиваются, что бы прямо при открытии всё само заполнялось.
Отдается на откуп пользователя.
На форме есть кнопка Заполнить, по нажатию на которую и заполняются табличные части.
34 Альбатрос
 
12.10.15
14:00
Да и нахрена тогда кстати ТЧ, если при открытии всегда шерстятся данные. Повесить ТП на форму и заполнять ее при открытии без всяких сохранений.
35 igorius
 
12.10.15
14:53
(34) со всем вышеперечисленным согласен, но проблема в том, что надо что бы вся инфа хранилось в документе(так поставили задачу)....
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.