![]() |
|
Модераторы: stron |
![]()
|
|
| Fyrklod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 17.10.2006 Репутация: нет Всего: 1 |
Доброе всем время суток... У меня будет 2 вопроса, хотя это и идет против правила "1 вопрос - 1 топик" .. вопросы связаны и не вижу смысла получив ответ на один сразу открывать новую тему.. Я уже предупреждал, что я новичек в этом деле так что не судите строго...
ИТАК 1? в какой момент времени определяется СКД (СКК)? я так понимаю сразу же как я внес какие-то данные.. так? если да, то 2? В чем причина моей проблемы? У меня после Опирация.Записать читет СКД() и видит тот же результат какой был до записи.... У меня имеется ситуация следующего плана Данное | Конечное сальдо ====================================================== БухИтог.Субкото() | СКД()<0 БухИтог.Субкото(2) | СКД()<0 // 1 подуровень БухИтог.Субкото(3) | СКД()<0 БухИтог.Субкото(3) | СКД()>0 БухИтог.Субкото(3) | СКД()<0 БухИтог.Субкото(2) | СКД()>0 // 2 подуровень БухИтог.Субкото(3) | СКД()>0 Избавляюсь от этих отрицательных путем операции субконто отрицательного на субконто положительного. Делаю это так: Пока КоличествоСубконто(БухИт, N) > 1 Цикл ПроводСуб(БухИт); КонецЦикла Где КоличествоСубконто(БухИт, N) - функция подсчета уровней (субконт) с СКД() <> 0 т.е. для 1 подуровня функцтя возвращает 3 N - номер выборки ПроводСуб(БухИт) - Процедура проводки ( Операция, Новая, НоваяПроводка, Данные дебетные/кредетные, Записать) После одного прохода в цикле должно быть так: Данное | Конечное сальдо ====================================================== БухИтог.Субкото() | СКД()<0 БухИтог.Субкото(2) | СКД()<0 БухИтог.Субкото(3) | БухИтог.Субкото(3) | БухИтог.Субкото(3) | СКД()<0 БухИтог.Субкото(2) | СКД()>0 БухИтог.Субкото(3) | СКД()>0 т.е для первого уровня функция количества долна вернуть 1 а оно так не происходит.. за счет чего происходит тупое зацикливание у множественная проводка. Это сообщение отредактировал(а) Fyrklod - 23.7.2008, 14:34 --------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов! |
|||
|
||||
| Itsys |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 7 Всего: 34 |
Слушай, лучше бы ты вместо описания привел текст модуля, или его часть, которая описанную проблему содержит...
1. СКД бывают разные, у глобальных итогов и у запроса, насколько я понял, т.к. ты указываешь на СКД(), то это запрос, соответственно все сальдо и обороты и т.д. определяются на момент выполнения инстуркции ВыполнитьЗапрос(). 2. Если е тебя будет порядок операций
конечно у тебя СКД() будет содержать сальдо, до записи проводок, если ты хочешь, чтобы СКД() учитывало сделанные проводки, то надо писать так:
Да, и Операция.Записать() работает медленне, чем Операция.ЗаписатьПроводки(), так что для получения промежуточных итогов проведения используют обычно последний вариант, и в самом конце проведения уже окончаельно записывают проводки. ЗЫ Надеюсь, что я правильно понял суть вопроса, если нет - значит из тебя плохой объяснятель, надо приводить не оторванные друг от друга куски модуля с пространным описанием работы всего модуля, а приводить тест модуля, желательно с указание в какихстроках что работает не так, и как должно работать. |
||||
|
|||||
| Kaboom |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2007 Репутация: нет Всего: нет |
Маленькая поправка: сальдо и обороты определяются на начальную дату (СНД, СНК) или конечную дату (СКД, СКК) или за период указанный в параметрах ВыполнитьЗапрос. |
|||
|
||||
| Fyrklod |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 17.10.2006 Репутация: нет Всего: 1 |
Itsys, ты меня правильно понял...
но вот щас есть маленькая заминка в общем по коду у меня такое
ну код функции КоличествоСубконто(БухИт, 2) такой
Разумеется после на повторном обходе в цикле (повторный - после ВыполнитьЗапрос()) выдается ошибка... в принцепи я понимаю, что сново надо сделать выборку ВыбратьСубконто() для работы с аналитикой уровня 2, но это меня вернет в начало работы..... Есть ли какая-то возможность после перевыполнения запроса оставаться на том же уровне и продолжать работу? P.S. Itsys, Это сообщение отредактировал(а) Fyrklod - 24.7.2008, 09:35 --------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов! |
||||
|
|||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 7 Всего: 34 |
Нет нет и еще раз нет, перевыполнять запрос при выборке результатов из него - это порочная практика с непредсказуемыми результатами, ты лучше напиши, что за задача, я уверен что все можно сделать намного проще!
Добавлено через 23 секунды Нет нет и еще раз нет, перевыполнять запрос при выборке результатов из него - это порочная практика с непредсказуемыми результатами, ты лучше напиши, что за задача, я уверен что все можно сделать намного проще! |
|||
|
||||
| Fyrklod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 17.10.2006 Репутация: нет Всего: 1 |
Ну про не предвидимость в принцепи можно догадаться.. сам этого опасался ((
Мне дали задание доделать программку где происходит проблема с выводом отчетов по сальдо оборотам ... Ну свою задачу я примерно описал в самом первом своем посте... т.е. Данное | Конечное сальдо ====================================================== ..........................(таблицу не дублирую)......................................................... т.е мне надо просто минусовые данные перепровести, как т.е в операции надо субконты с положительными СНК() провести с субконтами отрицательными..... --------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов! |
|||
|
||||
| Fyrklod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 17.10.2006 Репутация: нет Всего: 1 |
Неужели никто не может помочь мне в моей проблеме?
--------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов! |
|||
|
||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 7 Всего: 34 |
Подожди, так тебе надо сформировать отчет, или закрыть положительны и отрицательные итоги?
Судя по предыдущему топику, тебе надо сделать корректировочные проводки для убирания отрицательных сальдо на счете, тогда план действия такой: 1. Формируешь итоги 2. Скдиываешь их в ТаблицуЗначений 3. Анализируешь таблицу 4. Делаешь корректировочные проводки 5. (Если очень хочется) заново формируешь итоги и проверяешь результат. ЗЫ Тебе никто не отвечает, т.к. никто не может понять, чего ты хочешь... ЗЗЫ если хочешь, стобы тебе помогли больше, пости данные, кторые есть в ОСВ по счету, приводи пример, что надо получить и поподробнее. |
|||
|
||||
| Fyrklod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 17.10.2006 Репутация: нет Всего: 1 |
Itsys, ты прав
В связи с еще не полным знаение
в общем когда передо мной ставили задачу мне показали сальдо оборотный отчет так что примерно там так пример такой начальное сальдо конечное сальдо Принтер Samsung ML1210 - Главный корпус - - Бухгалтерия 150.0 150.0 - - Дирекция -150.0 -150.0 Вот вот эти отрицательные надо закрыть... в общем сделать чтобы все было ок.... Как еще пример привести не наю Это сообщение отредактировал(а) Fyrklod - 27.7.2008, 15:28 --------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов! |
|||
|
||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 7 Всего: 34 |
Ну примерно так:
|
|||
|
||||
| Fyrklod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 17.10.2006 Репутация: нет Всего: 1 |
Itsys, спасибо огромное....
Все работает 1) без лишних зацикливаний 2) быстрее обрабатывается. Не то что у меня, когда я свое писал .. а это самое главное в наше время.. как говорится время деньги Вроди по проводке все ок.... спасибо еще раз Это сообщение отредактировал(а) Fyrklod - 28.7.2008, 11:24 --------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов! |
|||
|
||||
![]()
|
| Правила форума "1C: Предприятие, SAP, ERP и учётные системы" | |
|
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |