|
Вопросы по проведению документа и влиянию транзакции на регистр | ☑ | ||
---|---|---|---|---|
0
vitaliklibra
28.05.15
✎
07:51
|
Доброе утро всем!
Вопрос 1: Если документ уже проведен, то если по его нажатию происходит его проведение с запросом о режиме проведения. В то же время, если документ не проведен, по нажатию "Записать" он действительно только записывает. Как это исправить? Вопрос 2: В том же документе, по нажатию кнопки "ОК" происходит оперативное проведение без запроса вариантов! А если я перепровожу документ (в настройках движения стоит вариант "Удалять автоматически") - мне нужно (даже ВАЖНО!) оставить дату и время предыдущего проведения!!! Было бы правильнее ссылаться на то, если бы этот документ уже проводился, то проводить неоперативно, а если проводится впервые, то оперативно. Как это настроить? Вопрос 3: Опишу ситуацию. Это пример того, как реализованы банковские выписки в 7-ке. У меня есть такой же документ, где в табличной части построчно вписаны мои платежи с соответствующим видом ДДС. Так вот. Существует ли возможность при проведении учитывать движение по регистру после обработки каждой такой строки? В том смысле, что если у меня есть приход по какому-то измерению по одной строке, и если у меня будет еще такая строка с таким же измерением, но только расход, чтобы произошёл сразу взаимозачет. Поясню на своем примере: В регистре у меня есть 2 ресурса: "НашДолг" и "ДолгКонтрагента". В зависимости от того какая операция, я сначала должен списать один долг, а потом начислить другой. Для запроса данных по долгам в цикле делаю запрос для каждой строки (УЖ ПРОСТИТЕ, ЧТО ЗАПРОС В ЦИКЛЕ - если кто подскажет, как обойтись здесь без него - буду очень признателен!): ВЫБРАТЬ ЕСТЬNULL(СУММА(ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.НашДолгОстаток, 0)), 0) КАК НашДолгОстаток, ЕСТЬNULL(СУММА(ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.ДолгКонтрагентаОстаток, 0)), 0) КАК ДолгКонтрагентаОстаток ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки КАК ВзаиморасчетыСКонтрагентамиОстатки ГДЕ ВзаиморасчетыСКонтрагентамиОстатки.Контрагент.Ссылка = &Контрагент Но пока транзакция не пройдет по конца ТЧ документа, у меня запрос не видит никаких остатков, хотя они там реально появляются!( Должна картина быть примерно такой (это условно): Приход/Расход НашДолг ДолгКонтрагента Контрагент1 Приход 50 + 50 0 Контрагент1 Расход 70 - 50 0 0 + 20 Контрагент1 Приход 50 0 - 20 + 30 0 ------------------------------------------------------------------------ Остаток 30 При этом у меня есть 3 платежа (3 строки): - Платеж входящий на сумму 50; - Платеж исходящий на сумму 70; - Платеж входящий на сумму 50. Очень прошу помощи!!! Запарился с этими проведениями... =( Только прошу, ребят, не пишите, мол делай по примеру, как в типовой конфе, да еще и в 7-ке! Я до этого и сам как-то догадался, да только помощи прошу сейчас, ссылаясь на опыт участников форума! |
|||
1
vitaliklibra
28.05.15
✎
08:08
|
(0) Вопрос 1 снят. Разобрался: есть флаг в свойствах формы "ПриЗаписиПерепроводить".
|
|||
2
vitaliklibra
28.05.15
✎
08:11
|
+ (0) Столкнулся еще с такой штукой, что если в модуле объекта менял программно видимость/доступность каких-то элементов формы, то при перепроведении таких документов из открытого документа все ОК, а если выбрать через контекстное меню в форме списке команду "Провести" или через групповое перепроведении - НЕ перепроводит. Говорит, ошибка(( Как еще и это поправить?
|
|||
3
Ненавижу 1С
гуру
28.05.15
✎
08:12
|
"модуле объекта менял программно видимость/доступность каких-то элементов формы"
модуль объекта не должен знать ни о каких формах |
|||
4
vitaliklibra
28.05.15
✎
08:15
|
(3) А как мне тогда лучше сделать такое, чтоб у меня кнопки становились доступны, если документ проводится?
|
|||
5
vitaliklibra
28.05.15
✎
08:24
|
(0) Вопрос 2 тоже снят: если также флаг на форме "ИспользоватьРежимПроведения". Установил в значение "Неоперативный" - работает как и надо.
|
|||
6
Ненавижу 1С
гуру
28.05.15
✎
08:55
|
(4) в модуле формы
|
|||
7
vitaliklibra
28.05.15
✎
08:57
|
(6) А в каком событии описать изменение доступности реквизитов формы?
|
|||
8
vitaliklibra
28.05.15
✎
09:32
|
Ребят! Очень нужна помощь! Есть ли возможность разделить транзакции при обработке проведения, чтоб при каждой итерации запрашивать корректные данные из регистра? (к слову о 3-й вопросе?) Если да, то где можно почитать?
|
|||
9
Zhuravlik
28.05.15
✎
09:36
|
(8) гугли на тему управляемых блокировок
|
|||
10
Zhuravlik
28.05.15
✎
09:38
|
+ как по мне - вот лучшая статья для введения в эту тему: http://курсы-по-1с.рф/articles/статья-платформа-блокировки/
|
|||
11
Cyberhawk
28.05.15
✎
09:41
|
"разделить транзакции при обработке проведения, чтоб при каждой итерации запрашивать корректные данные из регистра"
Деать проводки, которые опираются на часть уже сделанных этим же документом проводок - не айс |
|||
12
vitaliklibra
28.05.15
✎
09:46
|
(11) А как тогда быть, когда нужно учитывать остатки по регистру после каждой новой записи в него?
|
|||
13
Джинн
28.05.15
✎
09:52
|
(12) Изменить алгоритм с кривого на нормальный.
|
|||
14
Zhuravlik
28.05.15
✎
09:52
|
(12) Какой-то действительно странный подход. Вроде как в руках все карты - можно сделать проверку. Добавляемые данные в таблицу, свернуть по измерениям/ресурсам, сделать проверку по остаткам. Промежуточная запись в регистры при проведении - насколько я знаю - используется в двух случаях: когда необходимо проверить оперативный остаток (10), и когда необходимо делать движения по регистрам расчета. А вот на (0) смотрю - и не пойму зачем там такие сложности. По-идее нужно (10) реализовывать.
|
|||
15
palpetrovich
28.05.15
✎
09:56
|
(8) ЗАЧЕМ "запрашивать корректные данные из регистра"?!! ...это что, при проведении по партиям, к примуру, после каждой строчки состояние регистра перечитывать???
сначала расчитывай все что нужно, потом проводи |
|||
16
vitaliklibra
28.05.15
✎
10:00
|
(13) Если бы я знал, каков он нормальный или как его таковым сделать, поверь, я бы тему не создавал.
(15) Рассчитать все, что нужно не подходит, т.к. мне нужно будет видеть в отчете отдельные записи: какие суммы и куда вносились. А если все рассчитать сразу, то детализации не получится. |
|||
17
vitaliklibra
28.05.15
✎
10:07
|
(14) Вот мне как раз и нужно проверить оперативный остаток!) Вот только о нем я в статье ничего не нашел... А блокировка данных при транзакции не блокирует отдельные итерации внутри транзакции, потому у меня все равно все будет рассчитываться последовательно без учета того, что уже было внесено в регистр.
|
|||
18
Zhuravlik
28.05.15
✎
10:14
|
(17) мне кажется у тебя с мат. часть. проблемы. А статья - сплошь сверху-донизу именно о оперативном остатке, причем на пальцах. Отработай статью. Или формализуй проблему в (0) - потому что я до сих пор не понял в чем сложность?
|
|||
19
vitaliklibra
28.05.15
✎
10:23
|
(18) Проблемы, спорить не буду! Вот и сижу-разбираюсь.
Поясню еще раз. Есть ОДИН документ, в котором есть 3 строки в ТЧ, отражающие внесение суммы в регистр: - Платеж входящий на сумму 50; - Платеж исходящий на сумму 70; - Платеж входящий на сумму 50. При проведении документа мне нужно выполнять движения по регистру, согласно этим цифрам и измерениям, но делать это так, будто эти строки в ТЧ - это отдельные документы оплат. И мне нужно это в регистр записать вот так: http://i.piccy.info/i9/d6693437cb4ac93573f3f539f8624de4/1432793365/12274/913097/2015_05_28_090910.jpg т.е. чтобы была детализация в отчете по каждой такой строке. Согласен, похоже на партионное списание, но в воем случае получается, что 2 ресурса - "НашДолг" и "ДолгПокупателя" - они связаны! И если на одном будет > 0, то на втором будет 0. А если начать прибавлять на 2-й ресурс, что сначала уменьшить первый до 0, а только после этого увеличивать 2-й. |
|||
20
Zhuravlik
28.05.15
✎
10:29
|
(19) Как я и думал - проблемы с мат. часть. Структура регистра: измерения - Организация/Контрагент, ресурс - Сумма. Запись движений, контроль остатков по статье в (10). Дальше - написание соотв. отчета.
- Посмотри в типовых РН "РасчетыСПокупателями", и подобный отчет. |
|||
21
Zhuravlik
28.05.15
✎
10:31
|
+ Если надо расшифровывать до строки табл. части - просто не сворачивай перед проведением набор данных, тогда в таблице оборотов и будет эта детализация, ее можно из РН в отчете вытащить.
|
|||
22
vitaliklibra
28.05.15
✎
10:32
|
(21) "просто не сворачивай перед проведением набор данных" - как это сделать?
(20) Регистр у меня очень похож на типовый, но ресурса ДВА! И из-за этого-то вся сложность. |
|||
23
Zhuravlik
28.05.15
✎
10:34
|
(22)
не сворачивать?.. - ресурс - один. В отчете - два показателя. |
|||
24
vitaliklibra
28.05.15
✎
10:38
|
(23) Ты у себя же спрашиваешь?) Не пойму, что ты хотел сказать словами "не сворачивать?.. -"
"ресурс - один. В отчете - два показателя." Т.е. просто накапливать в минус сумму взаиморасчетов, и разделение крЕдита/обязательств будет определять знак. Так? |
|||
25
Cyberhawk
28.05.15
✎
10:38
|
(12) имея остатки по регистру + данные в документе, ты еще до начала проведения можешь все спрогнозировать (посчитать и получить)
|
|||
26
vitaliklibra
28.05.15
✎
10:41
|
(25) Согласен, могу. См. (16) - не подходит этот вариант.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |