#0
by happy___wolf
Всем привет! Пишу простенькую проводку документов: Приход,Расход. Использую регистры. Документы проводятся, но значение в регистре не меняется. Смысл примерно такой: взял сумму из сейфа - сделал Расход. Положил сумму в сейф - сделал Приход. И в каждом документе должна отображаться текущая сумма регистра. Помогите начинающему... ----------------- Модуль Документа: ----------------- -------------
#4
by happy___wolf
По - не получается.... регистр не меняется. Да и почему в табличной части документа я могу добавить только одну строку??? может из-за этого?
#5
by Rie
Для начала - а зачем присваивание Затем вопрос - а в ОбработкаПроведения вообще заходит? У самого документа - признак, что документ проводится - выставлен?
#6
by Rie
+ Ну и ещё момент: выдал сообщение об ошибке - ну и скажи СтатусВозврата; Возврат; Однако сама проверка - бредова. Вид документа в ОбработкаПроведения известен. И не может быть никаким иным, кроме как указанный.
#7
by Rie
Ну а почему в табличной части можешь добавить только одну строку - это уж у тебя спросить надо, как ты смог добиться подобного эффекта. Есть, конечно, несколько способов; но если применил один из них - то уж должен бы знать, какой :-)
#9
by happy___wolf
Для : ДокРасхСум = ТекущийДокумент; - просто видел, что так делают. В обработку проведения заходит. Галочка "Разрешить проведение документа" стоит. Для : Ошибок при проведении не выдается. И документ в журнале помечается как проведенный. Для : может быть я что-то и применил, но мне это не ведомо. Специально этим не занимался.
#10
by happy___wolf
Для : это для табличной части документа. Я предполагал, что в документ можно вносить разные строчки расхода/прихода...это цикл по этим строкам.
#11
by Rie
И кто это так делает? Где видел? Возможно, что понадобилось кому-то переменную использовать - например, для параметра в запросе. Но это же не означает, что теперь надо её везде пихать. В - имелось в виду несколько иное. А именно - бредовость проверки на вид проводимого документа в ОбработкаПроведения. И необходимость корректно отменить проведение в случае ошибки. Ну а в процедуру ОбработкаПроведения - заходит? Что по этому поводу говорит товарищ Отладчик, например?
#13
by Rie
+ Впрочем, "могу завести только одну строку" и отсутствие движений по регистру тесно связаны. Вероятно, ты вообще _ни одной строки_ в документ не вносишь. Вот цикл и выполняется 0 (Ноль) раз. А поскольку движения делаются в цикле...
#14
by happy___wolf
должны получится документы которые меняют значения регистра и которые в форме документа показывают остаток регистра.
#17
by happy___wolf
Модуль формы должен при открытии формы выдавать значение регистра. А он пишет постоянно 0.
#20
by Rie
Ты же утверждаешь, что Отладчиком шёл по процедуре. Был или не был цикл - заметил бы. (Кстати, переписал процедуру как в посоветовали? Или до сих пор двойной цикл крутишь?)
#21
by happy___wolf
там большая таблица и в графе СуммаХХХ записано значение которое я вводил в документе.
#22
by happy___wolf
я не совсем умею пользоваться отладчиком. Куда нужно точки останова ставить? Если ставить только в начало процедуры обработки проведения, то он останавливается на "Если Вид = "ДокМен1" Тогда" Если ставить в начало и конец процедуры обработки проведения, то машинка все проезжает))))
#24
by happy___wolf
Если в разделе "Движения документа" появляются суммы которые я ввожу и на против них стоит знак зеленого плюса или красного минуса, то значит регистр меняется? Я правильно понимаю?)
#25
by Rie
Значит, документ движение делает. А это значит, что ошибка - в более другом месте, а именно - при получении остатков из регистра. Вот остановился Отладчик в точке останова. А дальше, используя волшебные кнопки F10 и F8... Впрочем, рассказывать конец детектива - неприлично. Так что попробуй сам. (А ещё есть замечательные книжки, где всё это описано. А ещё есть в Отладчике вверху командная панель, или на худой конец - меню. А там - много чего интересного).
#27
by happy___wolf
Тогда как в форме правильно окошко запрограммировать чтоб показывалось сколько на данный момент в регистре хранится?
#29
by happy___wolf
- обязательно это сделаю еще раз. Спасибо))) Но все же у меня в модуле документа есть "СводныеОстатки" Или я не правильно их написал? Я делаю сообщить Сообщить(ИтогоСейф) при открытии документа и он мне пишет, что в регистре 0. Хотя я документ провожу с операцией ДвижениеПриходВыполнить. Почему? Регистр не записался что-ли?
#30
by Rie
Включаем голову. И думаем. Регистр - записался, это увидели ещё в . Теперь смотрим в СП или ЖКК - а какие ж такие параметры у метода СводныеОстатки? Сопоставляем с тем, что написано в . И понимаем, что параметры указаны неверно.
#31
by happy___wolf
- да там в не правильно написано, но по другому у меня не получается... где я косячу? Переписал вот... Мне пишется, что Переменная не определена (СейфХХХ) Как так? Я же создал регистр с таким измерением. Не понимаю((( Или я не правильно регистр создал??? Структура регистра: Измерения + СейфХХХ -> Тип:строка Ресурсы + СуммаХХХ -> Тип:число Реквизиты + Сейф
#32
by ДенисЧ
"Мне пишется, что Переменная не определена (СейфХХХ) Как так? Я же создал регистр с таким измерением2 В огороде бузина, а в метод СводныйОстаток нужно передать переменную со значением измерения...
#39
by happy___wolf
ДА у меня в справочнике нет ничего. Я это его создал для пробы. Меня интересует как получить одно число из регистра. Извиняюсь за ошибки. Просто я в 1С не особо шарю. По работе приспичило сделать такую штуку. Как создать регистр чтоб вытаскивать из него только одно число и без заморочек со справочниками?
#42
by andrewks
в последнем блоке скобки не хватает Для Н=1 По Метаданные.Регистр(Инд).Реквизит Цикл
#44
by andrewks
Измерения вот за это и называют потом криворуким. убери все измерения, если тебе они не нужны, и получай просто значения ресурсов только сдаётся мне, что тебе нужны будут остатки в разрезе сейфов, а посему неизбежно создание Справочник.Сейфы и указание его в измерении как ссылки, а не как строки (!)
#45
by happy___wolf
Вывод такой: Измерение/СейфХХХ/Строка./10.0 Ресурс/СуммаХХХ/19.2 Реквизит/Сейф/Строка./10.0
#47
by happy___wolf
Возможно глупый вопрос, но как получать остатки только по значениям ресурсов? т.к. в СП написано, что нужно вводить измерения... А если у меня пока один сейф, Справочник.Сейфы мне не нужен?
#48
by andrewks
тут ключевое слово "пока". если точно знаешь, что он всегда будет один - можешь и не вводить измерение. но лучше заглянуть чуть вперёд и сделать это, чтобы потом не возвращаться к этому моменту
#49
by happy___wolf
В Можно уточнить? Разрез это просто имеется в виду остаток по нескольким регистрам?
#50
by Rie
Разрез - имеется в виду остатки по одному регистру по некоторому измерению (или набору измерений). И ещё. В - измерение при проведении не указываешь (возможно, в исправленном варианте оно указывается, но в ветке об этом - ни слова). Если измерение имеется, то в регистре оно будет иметь пустое значение. А когда будешь выбирать остатки по конкретному значению этого измерения - получишь красивый большой 0.
#51
by Rie
Что касается "только по значениям ресурсов" - видимо, имеется в виду, что значение измерения несущественно, и нужен суммарный остаток по всем. В таком случае в СводныйОстаток (и в СводныеОстатки - что там сейчас используется) соответствующий этому измерению параметр просто не указывается (оставляешь пустое место).
#52
by happy___wolf
С ресурсами и измерениями примерно понял. Спасибо. Не пойму, а мне вообще надо делать "ВременныйРасчет" и "РассчитатьРегистрыПо" я пишу, например, Сообщить(ИтогоСейф) и мне 1с всё показывает. Ошибки не будет, если я модуль формы упрощу до: Подскажите плиз... в литературе ответа не нашел... Справочник "Сейфы" с реквизитом "СейфХХХ" создал на всякий случай как советовали. А в реквизит "СейфХХХ" надо что-нибудь записывать или он может и пустой быть?
#53
by Rie
Если не сделаешь временный расчёт - показывает данные на ТА. Если нужно на другой момент времени - делаешь временный расчёт. В твоём "упрощённом" варианте будет показывать остатки именно на ТА. (ТА - "точка актуальности итогов"). В справочнике Сейфы реквизит СейфХХХ и даром не нужен. Ты неправильно понял совет. Тебе советовали создать справочник Сейфы (какие там будут реквизиты - по барабану) и измерение СейфХХХ типа Справочник.Сейфы.
#54
by happy___wolf
Всем больше спасибо за советы. Теперь осознал. Rie отдельная благодарность :) Буду пробовать.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как переделать регистр оборотов в регистр остатков - только грамотно
- Не пойму где в типовой изменяется значение переменной.
- Какой регистр сведений лучше? Регистр с одними ресурсами или с одними измерениями?
- Что выбрать: регистр накопления или регистр сведений?
- v7: не изменяется размер таблицы при изменении размера окна 1с 7.7
- УТ 11.2 (УТАП) + ЕГАИС перемещение между регистр 1 и регистр 2 (торговый зал)
В этой группе 1С
- Где хранятся значения свойств в ут 11
- Разные версии поставщика конфигурации
- Сортировка в универсальном отчете
- Помогите и задачей из экзамена
- ЗУП: совместители, в своде начислений сумма попадает не в то подразделение
- Файл базы данных поврежден 1cv8.1cd
- УПП: налоговый агент по уплате НДС
- Не заполняется Справка 2НДФЛ для передачи в ИФНС (ЗУП)
- Помогите с записью
- Сравнение двух таблиц Excel
- скрипт обновления статистик SQL
- зуп ежедневные показатели
- Как в Windows 2008 Server в терминале закрыть доступ на логические диски?
- ЗУП. Районный коэффициент
- РегистрБухгалтерии.Хозрасчетный.Остатки
- В чем отличие БП 2.0 от БП Корп
- 2 сканера ШК в терминалке УТ 10.3.13.2
- Перенос сотрудников из ЗУП в БП
- Отправить письмо 1с 8.2 ?
- v7: Ошибка создания внешнего отчета(!)