Имя: Пароль:
1C
1C 7.7
v7: На форме дока - маркер (реквизит формы), [решено]
0 aka AMIGO
 
05.12.11
19:19
Ну, для пояснения: маркер "Оплачено" и числовой реквизит "Предоплата".
Это поле - чисто информативное, на док не должно влиять никак.
Подробнее: при установке маркера в 1 должна записаться сумма предоплаты, и без последующего запроса на проведение.. И неважно, проведен/не проведен док..
Т.е. мне надо отловить Модифицированность(), и Записать() док без вопросов.

Есть на маркере формула, хорошо-бы в ней (в модуле формы) поставить режим Записать(), но конфа ругается, говорит "недопустим"..
В ОбработкаВыбораЗначения() не попадаю.

Как убить Модифицированность?
1 Rie
 
05.12.11
19:21
(0) Используй формулу флажка. А Записать() делай в фиктивном закрытии.
2 Ёпрст
 
05.12.11
19:22
сбросить модифицированность в ложном закрытии формы, вызываемом из формулы флажка на форме.
3 Rie
 
05.12.11
19:22
+(1)
Убийство Модифицированность():

НачатьТранзакцию();
Записать();
ОтменитьТранзакцию();
4 aka AMIGO
 
05.12.11
19:23
(1-3) кажется, дошло.. пробую..
5 aka AMIGO
 
05.12.11
19:37
признаюсь: не знаю, как фиктивно закрыть форму без закрытия..

на (3) сообщает

Записать();
{Документ.ЗаказЗапасныхЧастей.Форма.Модуль(50)}: Данная команда не может выполняться в формуле элемента диалога!

но написана она не в формуле диалога, а вызывается из неё
примерно так:

Процедура УбитьМодифицированность()
   НачатьТранзакцию();
   Форма.Закрыть();
   ОтменитьТранзакцию();
КонецПроцедуры
Процедура ПриВыбореФлОплачено()
   Предоплата = Итог("Сумма");
   Если Выбран()=1 Тогда
       УбитьМодифицированность();
   КонецЕсли;
   
КонецПроцедуры
6 aka AMIGO
 
05.12.11
19:38
нуль забыл.. :(
7 Rie
 
05.12.11
19:39
(5)
Перем НеЗакрывать;

Процедура ПриВыбореФлОплачено()
   НеЗакрывать = 1;
   Форма.Закрыть();
КонецПроцедуры

Процедура ПриЗакрытии()
   Если НеЗакрывать=1 Тогда
       УбитьМодифицированность();
       НеЗакрывать = 0;
       СтатусВозврата(0);
   КонецЕсли;
КонецПроцедуры
8 aka AMIGO
 
05.12.11
19:40
мдя.. как всё просто..
Спасибо, ребята..
9 Ёпрст
 
05.12.11
19:49
+7
Процедура УбитьМодифицированность()
   НачатьТранзакцию();
   Записать();
   ОтменитьТранзакцию();
КонецПроцедуры
10 aka AMIGO
 
05.12.11
19:58
(9) спасибо, друже.. так я и написал, только Форма.Закрыть() иначе ошибка.
11 aka AMIGO
 
05.12.11
20:00
всё путём, работает.. на время транзакции БД впадает в небольшой обморок, но юзер БД один, может и не заметить :)
12 Злопчинский
 
05.12.11
20:29
(0) извините!!  но не надо так делать!!! бяка!!! есть у меян клиент, который вот таким вот образом совершенно аналогично отмечает оплаты... и врезультате - хотелки по отчетности у него растут, и параллеьно он строить систему взаиморасчетво практически 1-в-1 как типовая схема в ТиСе... только все строится это на флажках, плюсиках и структурах подчиненности... вся эта хрень, которую он изобретает легко эмулируется штатным механизмом ТИСовских договоров, где "логовор2 - конкретная сделка. и не надо всякой херней делать.. все валится в регистры откуда ролучаются отчеты любой практически формы...
.
не делай так.. сделай по человечески - на регистреах/счетах - выбери параметры учета и пиши в регистр/счет все что надо...
13 aka AMIGO
 
05.12.11
21:03
(12) Я понимаю тебя, эта моя головная боль вот уже год, как кончилась. И так и сделал-бы, это было-бы по-уму...
Дело в том, что юзер не пользуется отчетом по взаиморасчетам, т.е. у него один клиент "ФизЛицо", повторяющийся из одного дока в  другой. Разница в дополнительных текстовых переменных.. В этих условиях отчет по взаиморасчетам немыслим. Регистры Взаиморасчетов я убрал вообще.

И это не мой накат, я взялся было объяснять про  ТиС, он внимательно слушал, потом заявил: мне это не нужно! сделай так: и рассказал, что он хочет..
в частности есть такая экзотичность: провести ЗаявкуПокупателя с товаром в ТЧ, отсутствующим в справочнике номенклатуры. А при ПоступленииТМЦ закрепить за этой Заявкой РезервыТМЦ..
Более того, Номенклатура может поступить с абсолютно другим артикулом, но в резерв должна записаться автоматом.. И реализоваться именно она должна, и резервы должны быть сняты..

должен сказать, что работала конфа без сбоев до вчерашнего дня.. И кривиться стала именно из-за перепроведения доков по причине сабжа..

так что доработка совершенно противу всй логики и смысла, но именно она нужна..

Спасибо тебе за переживание твое, Злобчинский..
14 aka AMIGO
 
05.12.11
21:28
Вот такой журнал у директора, его интересует последняя колонка:
http://s017.radikal.ru/i413/1112/e3/b6d598fbcb0a.jpg

Это Заказ частично отсутствующей номенклатуры:
http://s013.radikal.ru/i325/1112/20/88a9c3706012.jpg

А вот так оформляется реализация:
http://i057.radikal.ru/1112/a7/76c323d08a46.jpg

было и другое решение, категорически забраковано..
15 Злопчинский
 
05.12.11
21:30
(13) ну.. тут.. я обычно сейчас немножко иначе поступаю.. клиентам про тис и всякую хрень не рассказываю. стараюсь выцепить макисмум xnn клиенту надо, и просто потом удобно навесить на типовой или близкий к типовому функционал.
.
ситуация как у тебя - знакомы... как правило - не лечатся.. люди ведут "учет" по принципу "записной книжки", а  потом хотят чтобы все красиво посчиталось... как правило - не получается... или получается но с огромными трудозатратами. имхо всегда есть некий уровень ниже которого затраты на учет не опускаются.. еслиу ВНЕЗАПНО учет стоит почти ноль - надо готовитьс я- поблизости большая бяка...
16 Злопчинский
 
05.12.11
21:31
у мну клиент про которого упоминал - тоже по запчастям.. ;-)
17 Злопчинский
 
05.12.11
21:32
(14) работает - ну и зашибись! - главное - НЕ ТРОЖЬ!
18 Эльниньо
 
05.12.11
22:38
(14) Кому бы позвонить?