Имя: Пароль:
1C
1C 7.7
v7: Как из одного документа программно изменить значение поля в другом документе+
, ,
0 Enlighted
 
17.12.15
14:15
Доброго времени суток.
1) Есть нужда из только что открытого документа поправить реквизиты шапки уже сохраненного и проведенного ранее документа другого типа.
На форме документа имеется текстовое поле которое автоматом заполняется реквизитом из уже проведенного документа другого типа.
ДЛ = Основание.Коммент; - и это работает
однако обратное присвоение результата не даёт:
Основание.Коммент = форма.ДЛ
не изменяет значения проведенного и сохраненного документа.

2) Каким образом можно при закрытии убрать запрос на сохранение документа если не надо ничего сохранять и проводить.
Много читал что так делать не "кошерно" и не "халяльно" однако специфика такова:
приходит клиент и говорит что хочу погасить проценты. Соответственно открывается документ ведется просчёт процентов ему сообщается сумма. Он чешет репу и говорит хочу еще и часть долга. Приходится закрывать документ и открывать другой по погашению ссуды. Но т.к. проценты рассчитаны и некоторые поля уже заполненны, в частности выбран клиент из базы. То документ становится модифицированным. И окошко которое вылезает по 100500 раз на дню "хотите ли вы сохранить документ" который явно по кнопке закрыть ни сохраняться ни проводиться не должен замедляет работу и сильно действует на нервы работникам.

3) Как из документа вызвать форму редактирования конкретного объекьта справочника?
1 Enlighted
 
17.12.15
14:18
к пункту 3. Не создания нового объекта справочника а редактирование уже существующего объекта.

4) Открытие проведенного и сохраненного документа на редактирование. Очень много примеров как открыть программно новый документ пустой и иже с ними а вот уже сохраненного на редактирование не нашел.
2 Mort
 
17.12.15
14:21
Сделай обработку в которой будет вестись работа, и которая запишет нужные документы, когда клиент наконец определится.
3 Dump
 
17.12.15
14:26
Основание.Коммент = форма.ДЛ
Далее надо Записать() док. основание
Извините, судя по вопросам - опыт у вас не очень... Поискали бы другой путь - редко бывает, что решение елинственное.
4 Dump
 
17.12.15
14:34
"2) Каким образом можно при закрытии убрать запрос на сохранение документа если не надо ничего сохранять и проводить. "
Если док не изменялся - запрос не выдается
Если менялся - никак. Откуда тупая 1-сия узнАет, что "не надо ничего сохранять и проводить."?
5 Enlighted
 
17.12.15
14:35
(3) Не извиняйтесь опыта 0,(0)1. Вроде нигде и не писал что опыт есть :).

сделал так:
Процедура ИзменитьДЛ()
    Основание.Коммент=Форма.ДЛ;
    Основание.Записать();
КонецПроцедуры

ругается на строчку "Основание.Записать();" говорит что документ не определен. А на "Основание.Коммент=Форма.ДЛ;" не ругается.

(4) Вот тут и вступаю я :) хочу сказать ей программно что при закрытии этого документа ценной информации нет совсем. В противном случае просто будет нажата кнопка сохранить/провести
6 Dump
 
17.12.15
14:36
4.
        ДокД = СоздатьОбъект("Документ.ХХХХХ");  
        ДокД.НайтиДокумент(Основание);
        ОткрытьФорму(ДокД.ТекущийДокумент());
7 Dump
 
17.12.15
14:37
"ругается на строчку "Основание.Записать();" говорит что документ не определен."
а так?
ДокД = СоздатьОбъект("Документ.ХХХХХ");  
        ДокД.НайтиДокумент(Основание);
  Основание.Коммент=Форма.ДЛ;
    Основание.Записать();
8 Enlighted
 
17.12.15
14:43
Процедура ИзменитьДЛ()
    ДокД = СоздатьОбъект("Документ.ЗалоговыйБилет");  
    ДокД.НайтиДокумент(Основание);
    Основание.Коммент=Форма.ДЛ;
    Основание.Записать();
КонецПроцедуры

на строку "Основание.Записать();" плачет:
Основание.Записать();
{Документ.ВозвратПроцентов.Форма.Модуль(484)}: Не выбран документ!
9 Enlighted
 
17.12.15
14:45
(2) Клиент по 3-4 раза переопределяется (издержки базарной экономики) и может еще через 5 минут вернуться и добавить денег
10 Это_mike
 
17.12.15
14:47
(8)
если ДокД.НайтиДокумент(Основание) = 0 тогда
сообщить("документ "+Основание+" не найден");
возврат;
конецЕсли;
11 Zmich
 
17.12.15
14:47
(8)
Процедура ИзменитьДЛ()
    ДокД = СоздатьОбъект("Документ.ЗалоговыйБилет");  
    ДокД.НайтиДокумент(Основание);
    ДокД.Коммент=Форма.ДЛ;
    ДокД.Записать();
КонецПроцедуры
12 Dump
 
17.12.15
14:47
Процедура ИзменитьДЛ()
    ДокД = СоздатьОбъект("Документ.ЗалоговыйБилет");  
    ДокД.НайтиДокумент(Основание);
    ДокД.Коммент=Форма.ДЛ;
    ДокД.Записать();
КонецПроцедуры
Простите, никакого понимания. Не хотите нормального прога нанять?
13 Dump
 
17.12.15
14:49
"Документ.ВозвратПроцентов" - у вас самописка?
14 Enlighted
 
17.12.15
14:59
(13) Походу самописка, сейчас наиболее задолбавшие дыры залатываем, собираемся переходить на 8-ку в связи с этим глобальных переделок конфигурации не планируем.
15 Dump
 
17.12.15
15:03
(14) Ну, удачи. Если что - обращайтесь, сделаю.
Skype: Dump2003
16 palpetrovich
 
17.12.15
15:03
(14) верное решение - в (2) !  и это, называть реквизиты "ДЛ" - некошерно, через пол-года сам забудешь что за ДЛ такое :)
17 Enlighted
 
18.12.15
07:35
(15) Благодарю за помощь. Учтём как только с оборудованием рассправимся.
18 Enlighted
 
18.12.15
20:29
Всех отозвавшихся благодарю за помощь.
19 Злопчинский
 
19.12.15
13:14
Представляю какая развесистая хня будет у них с мегакучей возможностей снеговика...
AdBlock убивает бесплатный контент. 1Сергей