![]() |
![]() |
![]() |
|
Как программно записать документ без закрытия и без запроса на сохранение? Ø |
☑ | ||
---|---|---|---|---|
0
johanij babaj
17.11.06
✎
11:13
|
Есть документ, который должен сохраняться после внесения каждой записи в табличную часть. При этом нужно обойтись без запросов на сохранение... Буду признателен за любую помощь:)
|
|||
1
Uho
17.11.06
✎
11:18
|
Записать() не подходит?
|
|||
2
Редкий гость
17.11.06
✎
11:18
|
Если часто отключают свет, то надо покупать ИБП
|
|||
3
johanij babaj
17.11.06
✎
11:29
|
to(1) Если просто использовать Записать() то выпадает "Данная команда не может выполняться в формуле элемента диалога! "... Поэтому извратился как в http://www.kuban.ru/forum_new/forum9/files/277064.html..
Т.Е. Вызываю Закрыть(), а ПриЗакрытии делаю запись() и СтатусВозврата(0)... но от запроса на сохранение избавиться немогу:(( To(2) Да дело не ИБП... Просто документ важный и пользователи неквалифицированные... |
|||
4
user1C
17.11.06
✎
11:31
|
(3)
ПриОкончанииРедактированияСтроки не лучше? |
|||
5
Ёпрст
17.11.06
✎
11:32
|
(3)http://www.sinor.ru/~my1c/knowhow/clrmodif.html
|
|||
6
johanij babaj
17.11.06
✎
11:51
|
(4)
по отладчику глянул..в эту процедуру вообще не заходит... Может из за того что строки добавляются программно? |
|||
7
user1C
17.11.06
✎
11:54
|
(6)
именно из-за этого |
|||
8
johanij babaj
17.11.06
✎
11:58
|
(5) Подскажи с каким параметром вызвать эту процедуру из документа и запишется ли у меня документ при этом...
Процедура глСброситьПризнакМодифицированности(Конт) Экспорт // сброс признака модифицированности для формы Если Конт.Модифицированность()=1 Тогда НачатьТранзакцию(); Конт.Записать(); ОтменитьТранзакцию(); КонецЕсли; КонецПроцедуры // СброситьПризнакМодифицированности |
|||
9
johanij babaj
17.11.06
✎
12:07
|
Народ, ну помогите пожалуйста толковым советом:)
|
|||
10
Uho
17.11.06
✎
12:07
|
чё то я не понял, строки программно добавляются, записываешь программно, при чем тут интерактивный вопрос???
|
|||
11
user1C
17.11.06
✎
12:08
|
(10)
+1 :) |
|||
12
Ёпрст
17.11.06
✎
12:09
|
(10) Дык.. видать начитался всего, теперь не может понять, что программная запись и интерактивная - 2 разные разницы ...
|
|||
13
Макс 1С
17.11.06
✎
12:11
|
(9) самый толковый совет в (1) чего ещё?
|
|||
14
johanij babaj
17.11.06
✎
12:13
|
Строки добавляются при ОбработкеВнешнегоСобытия()
считывается магнитная карта сотрудника... далее по номеру карты наодится сотрудник и добавляется в документ... Дальше я хочу записать этот документ(без участия пользователя).. чтоб без запроса... |
|||
15
user1C
17.11.06
✎
12:18
|
(14)
Док.Записать(); |
|||
16
Biger
17.11.06
✎
12:20
|
(15) запись заблокирована
а сымитировать нажатие #Записать |
|||
17
user1C
17.11.06
✎
12:24
|
(16)
Записать(); |
|||
18
Biger
17.11.06
✎
12:25
|
низя в форме
|
|||
19
johanij babaj
17.11.06
✎
12:28
|
Как сымитировать нажатие #Записать?
|
|||
20
Uho
17.11.06
✎
12:28
|
пошли по второму кругу
(0) может код покажешь? |
|||
21
user1C
17.11.06
✎
12:29
|
(18)
разве? а где можно? |
|||
22
Uho
17.11.06
✎
12:33
|
(21) видимо, в модуле документа
|
|||
23
Biger
17.11.06
✎
12:37
|
(19)сам не пробовал, на формексе много разного добра
|
|||
24
Макс 1С
17.11.06
✎
12:37
|
меня возьмёте? ;)
|
|||
25
Макс 1С
17.11.06
✎
12:40
|
+24 а ваще развод какой-то......
|
|||
26
johanij babaj
17.11.06
✎
12:42
|
Парни, слезно у всех прошу прощения... Просто вставил Записать() в другое место и все заработало... не понимаю почему до этого не получалось:(((
Всем БОЛЬШУЩЕЕ СПАСИБО!! И еще раз мои извенения... Uho и User1C отдельное спасибо за терпеливость и настойчивость... |
|||
27
Макс 1С
17.11.06
✎
12:43
|
(26) ну блин... а я тока приготвился доказывать что Записать() - форева..... :(((
|
|||
28
Uho
17.11.06
✎
12:51
|
(27) ничего, сегодня пятница, еще успеешь :)))
|
|||
29
johanij_babaj
17.11.06
✎
12:59
|
Вот какая штуко получается...
Записать() заработало только после того как была открыта модально форма обработки... фрагмент кода.. Процедура блаблабла() ..... Записать(); //1 случай - не работает ОткрытьФормуМодально("Отчет.СотрИнфо",СписокПараметров); КодКартыИзФормы=СписокПараметров.ПолучитьЗначение(1); Если КодКартыИзФормы<>0 тогда Если КодКартыИзФормы=9999999 тогда УдалитьСтроку(); иначе ВводНомера(КодКартыИзФормы); КонецЕсли; КонецЕсли; Записать(); //2 случай - работает КонецЕсли; ... КонецПроцедуры |
|||
30
johanij babaj
17.11.06
✎
16:18
|
ААА !! Понял в чем заморочка!! До этого все не то!!
На форме есть реквизит диалога у которого в формуле вызывается Процедура из которой я пытаюсь записать документ..И ВОТ ТУТ ТО ОН РУГАЕТСЯ:)) Как обойти? |
|||
31
Biger
17.11.06
✎
16:22
|
вроде Макс1С имея точку опоры хотел землю перевернуть, мож чего подскажет
|
|||
32
johanij babaj
17.11.06
✎
16:26
|
Осталось только найти МАКС1С :))
|
|||
33
Макс 1С
17.11.06
✎
16:26
|
(31) кто здесь?
по поводу (29) полного то кода нет... чё опять полдня просить код?.... нафиг надо... Записать() - работает, единственное ограничение - когда Записывать() Вызывается в момент РЕДАКТИРОВАНИЯ какого-нибудь реквизита.... при программном заполнение - это ограничение вобще не существено |
|||
34
johanij babaj
17.11.06
✎
16:40
|
Я Ж ГОВОРЮ ДЕЛО НЕ В КОДЕ!!!
Создал просто документ... кинул на форму реквизит.... В формуле реквизита прописал процедуру.... а в процедуре Записать()...и писец ошибка "Данная команда не может выполняться в формуле элемента диалога!"... |
|||
35
user1C
17.11.06
✎
16:40
|
(30)
убери вызов этой "Процедуры" из реквизита :) |
|||
36
Uho
17.11.06
✎
16:43
|
(33) я ж говорю еще успеешь :)))
|
|||
37
Макс 1С
17.11.06
✎
16:49
|
(36) ты знал!!!! но блин рабочий день заканчивается..... придётся из дома продолжать........
|
|||
38
johanij_babaj
17.11.06
✎
16:50
|
(35) Проблема конечно решается и так... придется делать через отдельную кнопку вместо Entera:((
|
|||
39
Макс 1С
17.11.06
✎
16:51
|
(34) тебе же объясняють русским языком, вызывай Записать() ПОСЛЕ того как отредактируешь реквизит.... а не в МОМЕНТ его редактирования....
|
|||
40
johanij babaj
17.11.06
✎
16:58
|
то Макс1С... Дык это просто реквизит на форме, а не реквизит документа...
|
|||
41
Макс 1С
17.11.06
✎
17:01
|
форма этого документа?
|
|||
42
johanij babaj
17.11.06
✎
17:03
|
ага
|
|||
43
user1C
17.11.06
✎
17:06
|
(42)
сделай кнопку с записью дока следующей по порядку за этим реквизитом в формуле реквизита: WSHShell = СоздатьОбъект("WScript.Shell"); WSHShell.SendKeys("{ENTER}"); :) |
|||
44
user1C
17.11.06
✎
17:38
|
(43)+
если хочешь невидимую кнопку записи то назначь ей горячую клавишу на закладке Команда в ее свойствах и пропиши ее в SendKeys вместо ENTER |
|||
45
johanij babaj
17.11.06
✎
17:47
|
user1C, спасибо за дельные советы:))
|
|||
46
Макс 1С
17.11.06
✎
17:57
|
(42) если реквизит - справочник, перечисление или документ, используй ОбработкаВыбораЗначения()
или можно использовать обработку ожидания или можно использовать функцию на форме..... выбирай чем лучше владеешь.... |
|||
47
Дурочка 1С
17.11.06
✎
20:20
|
Записать();
Синтаксис: Записать() Назначение: Записать документ в базу данных. Замечание: Этот метод применяется в Модуле формы документа непосредственно к документу локального контекста. Данный метод отрабатывает те же действия, как интерактивное нажатие пользователем кнопки с формулой ''#Записать''. |
|||
48
johanij babaj
18.11.06
✎
09:48
|
to 46
Еще раз поясню.... На форме документа находится строка для ввода(обычный Edit) типа строка... Так вот.. у него в свойствах прописана процедура (неважно какая), но если в ней(процедуре) добавить строку "Записать();" , то выпадает ошибка (см. выше) |
|||
49
Uho
18.11.06
✎
12:49
|
(48) зачем?
|
|||
50
Э Эх
21.11.06
✎
03:35
|
(0) Сделай, как в (3) (через записать() в ПриЗакрытии()) Только форму закрывай Форма.Закрыть(0);
Ну еще можно в ПриОткрытии() поставить всякие АвтоВремя. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |