|
v7: Сохранение документа из табличной части | ☑ | ||
---|---|---|---|---|
0
Slim747
18.03.13
✎
11:59
|
Добрый день уважаемые программисты 1С. Помогите решить проблему. На днях столкнулся с задачей проведения документа из табличной части. Стандартные процедуры типа #Записать в табличной части не работают. Подскажите, есть ли какой-нибудь выход из ситуации? Заранее благодарен.
|
|||
1
Галахад
гуру
18.03.13
✎
12:01
|
Ого, "проведение из табличной части". Хорошая трава.
|
|||
2
Mikeware
18.03.13
✎
12:02
|
1986...
|
|||
3
Slim747
18.03.13
✎
12:02
|
Прошу прощения! Проведение документа из многострочной части!
|
|||
4
fmrlex
18.03.13
✎
12:03
|
(0) (3) Усе равно нифига не понятно. Чего хочешь то?
|
|||
5
Галахад
гуру
18.03.13
✎
12:03
|
Тоже не плохо...
|
|||
6
mishaPH
18.03.13
✎
12:04
|
(0) атвор. ты хочешь чтобы вводя каждую строку док проводился?
|
|||
7
mishaPH
18.03.13
✎
12:05
|
или при проведении конструкция типа
ВыбратьСтроки() тебе не знакома? |
|||
8
Slim747
18.03.13
✎
12:06
|
Есть Документ. В нем есть табличная часть. Как при выборе или установке значения реквизита табличной части инициировать сохранение документа?
|
|||
9
Cthulhu
18.03.13
✎
12:07
|
а теперь - по-русски. и главное - подробнее.
чего всё-таки хочешь?.. (не стесняйся если сильно странного - ну поглумимся и отпустим, один раз - не ...))) |
|||
10
Slim747
18.03.13
✎
12:10
|
Хочу, чтобы при вводе или редактировании строки документ сохранялся.
|
|||
11
Cthulhu
18.03.13
✎
12:11
|
(10): в предопределенной процедуре, вызываемой при завершении редактирования строки, вызывай "ПриЗаписи(); Если СтатусВозврата()=1 Тогда Записать() КонецЕсли;"
|
|||
12
Slim747
18.03.13
✎
12:13
|
Спасибо. Попробуем. Извините за неверное выражение!
|
|||
13
mishaPH
18.03.13
✎
14:54
|
(11) (12) не выйдет. скажет, что мол дананя процедура не может быть вызвана из формы. как-то так.
записывать и тем более проводить док при изменении чего-то в табличной части - это мразм |
|||
14
varelchik
18.03.13
✎
16:56
|
(13)+100
|
|||
15
Cthulhu
18.03.13
✎
17:33
|
(13): спецом проверил. вот код:
=== ничего не "говорит". прекрасно всё "вышло". а тебе врать - стыдно должно быть. Далее. Автосэйв в принципе может быть нужен, может быть не нужен, а может быть и действительно "мразм". как говорится, зависит от. причем подобные твоему категоричные обобщения, да ещё и в подобном претенцозном оформлении - в большинстве случаев свидетельство недалёкого ума при воспаленном ЧСВ. постарайся так больше не делать. (14): о, ещё один. на свет вы лезете штоль?.. )))) |
|||
16
varelchik
18.03.13
✎
18:27
|
(15) А если с ТЧ будет строк порядка 500 и более?
+ Атрибутов порядка 20. Это ж какие тормоза начнуться?! Юзьвер точно вас застрелит или сам повесится. |
|||
17
Cap_1977
18.03.13
✎
18:34
|
(0) А чего добиться то хочешь постоянно дергая базу на запись ? Наверняка кривая постановка задачи.
|
|||
18
Mikeware
18.03.13
✎
18:36
|
(16) Ну, можно каждую десятую строку записывать...
правда, при этом стоит учитыввать, что "отката"-то не будет... т.е. палка о двух концах... |
|||
19
varelchik
18.03.13
✎
18:45
|
(18) пусть автор на (17) ответит.
Действительно нафига на каждый чих пользователя реагировать? Тута явно кривая постановка. + Незабываем что призаписи в базу появляется Транзакция блокируя 1sjourn. А за это надо по рукам давать! |
|||
20
Эльниньо
18.03.13
✎
18:50
|
//_____________________________________________________________________________
Процедура Пересчет() Сумма = (Расценка + Коэфф / 10) * Количество; Пора = Пора + 1; Если Пора > 10 Тогда Форма.КнЗапись.Заголовок("Записать!"); Если Пора > 20 Тогда Форма.КнЗапись.Заголовок("ЗАПИСАТЬ!"); КонецЕсли; КонецЕсли; КонецПроцедуры //Пересчет ... //_____________________________________________________________________________ Процедура ПриЗаписи() Автор = глПользователь; Форма.КнЗапись.Заголовок("Записать"); Пора = 0; КонецПроцедуры //ПриЗаписи |
|||
21
Cthulhu
18.03.13
✎
18:51
|
(16): ты по слогам перечитай тот комментарий, на который отвечаешь. тебя что, кто-то заставляет, приставив нож к горлу, во ВСЕХ случаях делать автосэйв???
|
|||
22
Cthulhu
18.03.13
✎
18:54
|
(18): именно так. в каждом случае необходимо принимать взвешенное решение, отдавая себе отчет в том, что за все нужно платить (кстати, откат (частичный) - тоже возможен, в коде и трудоёмко).
например, если товарные запасы не "переоптимизированы" - то автосэйв лишается смысла. если же манагеры вынуждены вести "номенклатурные войны" - то нужно уже думать... |
|||
23
Cthulhu
18.03.13
✎
18:55
|
(17): наверняка. не забивай себе голову. и - это не я хочу, сюрпраайс?..
(19): фу, вы своим эпидермисом с истерично трясущихся щёк замусорили топик. |
|||
24
Slim747
19.03.13
✎
09:18
|
Ребята! Просто этот документ находится в течение дня в открытом состоянии. Всего в нем семь строк(неделя). На протяжении дня подъезжают автомобили. Автосохранение необходимо, чтобы исключить возможную потерю введенной информации.
|
|||
25
ЧеловекДуши
19.03.13
✎
09:19
|
(2) Это проклятый год? :)
|
|||
26
Cap_1977
19.03.13
✎
09:20
|
(24) Какие данные там кроме дней недели в строке ?
|
|||
27
ЧеловекДуши
19.03.13
✎
09:24
|
(24) Дак и проводи документ построчечно с явно указанным параметром: Провести(,ТвойПараметр)
ТвойПараметр - может быть строкой (текстовой), но лучше всего туда писать ТЗ (таблицу значений) с предустановленным форматом заполнения, т.е. ты в ту ТЗ выгрузишь одну нужную строчку из документа, а при проведении интерпретируешь её, как надо. |
|||
28
ЧеловекДуши
19.03.13
✎
09:25
|
+(24) Если документ проведен, то не нужно все время вызывать Провести(), хватит и команды "Записать()" :)
|
|||
29
ЧеловекДуши
19.03.13
✎
09:26
|
+(24) >>> Автосохранение необходимо, чтобы исключить возможную потерю введенной информации.
У вас ленивые пользователи, не балуй Зверей, они потом на шею сядут :) Лучше проинструктируй, что да как, что бы привыкли нажимать кнопку "Записать". |
|||
30
Cthulhu
19.03.13
✎
20:51
|
(28): откуда такая святая уверенность в том, что "ПриЗаписиПереПроводить(1)" срабатывает при программной(!) записи?.. )))
|
|||
31
Cthulhu
19.03.13
✎
20:52
|
(24): о. ну тогда и вовсе не надо этот документ открытым держать.
обработкой все можно сделать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |