Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка

Модерирует : ShIvADeSt

ShIvADeSt (29-09-2006 09:19): продолжаем здесь
http://forum.ru-board.com/topic.cgi?forum=33&topic=7403
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

   

batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущая тема доступна здесь.
 
1С Предприятие "Конфигурирование и Администрирование"
 
Тема посвящена вопросам разработки, функционирования и обслуживания конфигураций 1С Предприятие.
 
Обсуждаются все версии, можно задавать любые вопросы, кроме нарушающих авторское право.  
Советы в подборе конфигураций в разделе программы
За  вопросами "где достать?", "откуда скачать?" Специальный сериал в Варезнике
 
Так же вопросы можно задавать и много полезного узнать на:
  • Волшебный форум
  • Территория 1С на кубани
     
    Некоторые из форумов посвященных бухучету:
  • Клерк.Ру (тут в основном Россияне)
  • Дебет-Кредит (тут в основном Украина)
     
    Для тех кто осознал что лучший способ эксплуатации 1С это вариант 1С+SQL:
  • Некоторое количество информации по этому вопросу (1С:Предприятие и SQL Server: практика использования. Решение проблем связки 1С и SQL, оптимизация. Книги по 1С, обработки, отчеты.)
  • Еще один ресурс по 1С+SQL  
     
    Ну и неплохо бы зайти еще вот сюда и сюда

    Некоторые вопросы касательно работы с SQL сервером можно задать здесь, например как установить, почему неработает, как написать SQL запрос для получения остатков склада
    Вопросы о том где взять SQL сервер можно задать здесь

     
    Для начинающих и не только:
  • Учебник по 1с  
  • Первые шаги  

    Коллеги,если вы решили спросить,или посоветоваться по возникшим у Вас вопросам,убедительная просьба придерживаться двух простых правил:
    1.Указывайте версию платформы 1С и ,желательно, конфигурацию.
    2.Постарайтесь сформулировать свой вопрос так,чтобы он был понятен другим участникам конференции.

     
    Желающие получить билеты для сдачи экзамена 1С:Специалист могут обращаться ко мне в ПМ //fol

  • Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 18:41 07-06-2005 | Исправлено: fol, 12:38 28-09-2006
    vjick

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FOLD
    в 8 запросы работают почти по времени сравнимо с запросом  серверу(в 7 ке с этим хреновенько)
    а вот форма здорово тормозит и событий разрешенных на ней поболе чем в 7
    но что я вынес из 8 для нее надо читать все что можно запросом
    а писать она не позволяет увы update и ... нет там
    и при справочнике достаточно заполненном и при пользователях влияющих на регистр остатков почти одновременно - вынос показа остатков и обновление при каждом событии
    на форме - ну я уже писал тормоза
    если пользователей мало и справочник не особо большой, то коллизии (про тормоза и совместное проведение возможно и не будут колыхать)
     
    Но мое дело предупредить что такое реально

    Всего записей: 1809 | Зарегистр. 29-01-2002 | Отправлено: 19:17 13-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vjick
    Ну мы тоже так и делали, через СводныйОстаток...
    С запросами в 7 не реально работать - это полный киздец какой-то. А насчет 8 говорят что похожая штука есть (с восьмеркой вообще мало работал, поэтому не скажу как называется). Надо порыться. Я в предыдущем посте говорил, что в торговле в обработке ПодборНоменклатуры есть вывод остатков - кто-нить смотрел ее?Что она делает хоть?
    (Почему спрашиваю - в последнее время вообще не занимаюс 1С ни семеркой ни восьмеркой...)
    Есть еще один вариант: Не помню как точно метод называется, но что-то вроде ПередПросмотром (надо посмотреть) - в нем можно описать запрос, который будет дергать данные для 30-50 позиций, и нагрузка небольшая и запросов намного меньше, как если бы запросы выполнять для каждой позиции... Можно такой способ попробовать.

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:37 14-04-2006
    salex1



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да, на самом деле тормоза блин немерянные возникают(номенклатуры около 50000 наименований)...
     
    Всем спасибо за участие, ежли какие мысли еще возникнут напишите пожалуйста, а делать буду скорее всего с кнопочкой(поматерятся недельку, а потом привыкнут)...
    или не буду делать вообще...
     

    Всего записей: 261 | Зарегистр. 08-01-2004 | Отправлено: 07:59 14-04-2006 | Исправлено: salex1, 08:01 14-04-2006
    FOLD

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    salex1  
    Цитата:
    Да, на самом деле тормоза блин немерянные возникают
    Переходи на 7.7  
    Как то в серфинге по инету поплся сайт.Может пригодится тебе http://serezhenko.narod.ru/solutions_ostatki.htm
     
     
     

    Всего записей: 1238 | Зарегистр. 26-01-2004 | Отправлено: 11:59 14-04-2006 | Исправлено: FOLD, 11:59 14-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    salex1
    Еще один вариант - в форму запроса количества и цены выводить остатки по скадам (более реальные цифры получаться).

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 12:20 17-04-2006
    LexusG

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Хелп пиплы!!
     
    Имею такой запрос

    Код:
     
        ТекстЗапроса = "Период с ДатаНачала по ДатаКонца;
        |ОбрабатыватьДокументы Проведенные;
        |Док         = Документ.Реализация.ТекущийДокумент;
        |Контрагент = Документ.Реализация.ТекущийДокумент.Контрагент;
        |Агент     = Документ.Реализация.ТекущийДокумент.Проект;
        |Функция СумДок = Сумма(Док.Итог(""Сумма""));
        |Функция Остаток = Сумма(Долг(Док));
        |Функция Дни = Сумма(Дни(Док)) Когда (Запрос.Остаток<>0);";
             
             .....
     
        ТекстЗапроса = ТекстЗапроса + "
        |Группировка Агент;
        |Группировка Контрагент;
        |Группировка Док;";
     
     

     
    Функции Долг() и Дни() - внешние, считают оставшийся долг по накладной и количество дней просрочки, но вопрос не в них.
    При формировании запроса значения функций округляются до целых рублей, копейки отбрасываются.  
    Нашел на Мисте совет нужно создать переменную запроса и прибавить а потом отнять ее в функции.
    Ввожу переменную  
    СуммаРуб = Документ.Реализация.ТекущийДокумент.Сумма;
    а когда делаю так
    |Функция СумДок = Сумма(Док.Итог(""Сумма"")+СуммаРуб-СуммаРуб);
    появляются копейки но итог функции увеличивается в разы (в моем случае в 43 раза)
    но этот не догма на разных периодах - разные значения.
    Так как мне с этим бороться, подскажите пожалуйста?

    Всего записей: 448 | Зарегистр. 14-09-2005 | Отправлено: 12:30 18-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    LexusG
    группировка по сумме.
    и в функции нужно будет использовать СуммаРуб, а не Док.Итог("Сумма").

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 13:10 18-04-2006 | Исправлено: BlackVetal, 13:18 18-04-2006
    LexusG

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BlackVetal сделал как ты советовал
    Вот запрос

    Код:
     
        ТекстЗапроса = "Период с ДатаНачала по ДатаКонца;
        |ОбрабатыватьДокументы Проведенные;
        |Док         = Документ.Реализация.ТекущийДокумент;
        |Контрагент = Документ.Реализация.ТекущийДокумент.Контрагент;
        |Агент        = Документ.Реализация.ТекущийДокумент.Проект;
        |СуммаРуб   = Документ.Реализация.ТекущийДокумент.Сумма;  
        |Функция СумДок = Сумма(СуммаРуб+СуммаРуб-СуммаРуб);";
             .....
        ТекстЗапроса = ТекстЗапроса + "
        |Группировка Агент;
        |Группировка Контрагент;
        |Группировка СуммаРуб;";
     

     
    По документам пока не группирую, хотя ради них все и затевалось.
     
    Смотрю итог
             столбец - СуммаРуб - значение = 3586.79 (первое попавшееся)
             столбец - СумДок - значение = 64562.22
     
    Что сделал не так?

    Всего записей: 448 | Зарегистр. 14-09-2005 | Отправлено: 04:18 19-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    LexusG
    Попробуй запрос
     

    Цитата:
        ТекстЗапроса = "Период с ДатаНачала по ДатаКонца;  
        |ОбрабатыватьДокументы Проведенные;  
        |Док         = Документ.Реализация.ТекущийДокумент;  
        |Контрагент = Документ.Реализация.ТекущийДокумент.Контрагент;  
        |Агент        = Документ.Реализация.ТекущийДокумент.Проект;  
        |СуммаРуб   = Документ.Реализация.ТекущийДокумент.Сумма;  
        |Функция СумДок = Сумма(СуммаРуб);";  
             .....  
        ТекстЗапроса = ТекстЗапроса + "  
        |Группировка Агент;  
        |Группировка Контрагент;  
        |Группировка Док;";  
     

     
    Если не получться: сделай запрос без фукции СуммаДок и добавь группировку по сумме, потом выгрузи в ТЗ. А в ТЗ считай что тебе нужно. Может сомной не согласяться многие, но лучше (в частности для меня) работать с ТЗ. Мне кажется там больше возможностей по обработке данных.

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:44 19-04-2006
    alexzic

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кто-нибудь подсказать где в ЗиК хранится расчитанная зарплата и как ее вставить в табличную часть документа?

    Всего записей: 19 | Зарегистр. 03-10-2005 | Отправлено: 08:39 19-04-2006
    LexusG

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BlackVetal спасибо за помощь, но к сожалению не работает (миллионы, миллиарды в итоге )
    Обошелся стандартной "вертушкой" с двумя промежуточными свертками.
     
    Но вот такой вот запрос  

    Код:
     
        ТекстЗапроса = "Период с ДатаНачала по ДатаКонца;
        |ОбрабатыватьДокументы Проведенные;
        |Док         = Документ.Реализация.ТекущийДокумент;
        |Контрагент = Документ.Реализация.ТекущийДокумент.Контрагент;
        |Агент        = Документ.Реализация.ТекущийДокумент.Проект;
        |Функция СумДок = Сумма(Док.Итог(""Сумма""));  
    //Можно так но медленней СумДок = Сумма(глСуммаДокументаВЖурнале(Док, ""число""));
        |Функция Остаток = Сумма(Долг(Док));
        |Функция Дни = Сумма(Дни(Док)) Когда (Запрос.Остаток<>0);";
             ....
        ТекстЗапроса = ТекстЗапроса + "
        |Группировка Агент;
        |Группировка Контрагент;
        |Группировка Док;";
     

     
    замечательно работает, примерно в три раза быстрей чем цикл и текст модуля уменьшает раза в два, но округляет до целых рублей, зараза такая. А бухгалтеров это не устраивает.
    Временное решение найдено, но вдруг у кого будут какие то мысли по этому поводу, прошу поделится. Должно же быть решение, так что вопрос пока открыт.

    Всего записей: 448 | Зарегистр. 14-09-2005 | Отправлено: 09:35 19-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    alexzic
    Журнал расчетов смотри! Все начисления и удержания в нем.
     
    LexusG
    Не знаю как ты написал, но уменя такой запрос (в моем предыдущем посте) вывел копейка в копейку.
    А насчет медлено или быстро считает твоя обработка - лучше смотри что бы она правильные и точные данные выводила. Если ты этого добьешся - оптимизировать алгоритм всегда можно (лучше нужно).

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 09:50 19-04-2006
    alexzic

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BlackVetal
    Как из журнала расчетов "вытащить" сумму по окладу?

    Всего записей: 19 | Зарегистр. 03-10-2005 | Отправлено: 10:27 19-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    alexzic
    Однако запроса надо строить! В параметрах указываеш объект(работник) и период!
    Или посмотри функции по работе с журналом!

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 10:40 19-04-2006
    LexusG

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BlackVetal
     
    Насчет текста запроса, действительно считает правильно, пока не добавишь в него еще одну функцию (я забыл об этом написать). А чтобы потом просчитать по дополнительной колонке долги, нужно выгрузить запрос в ТЗ и манипулировать данными там. У меня был такой же вариант как ты предложил. Но по времени обработки получилось одно и тоже что и в цикле. И насчет оптимизации.. да правильный счет это хорошо но время выполнения тоже важно. Когда, например за квартал данный отчет выкручивается 5-10 минут а то и больше, в зависимости от загрузки сервера, вот и пришлось что-то выдумывать чтобы ускорится.

    Всего записей: 448 | Зарегистр. 14-09-2005 | Отправлено: 12:23 19-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    LexusG
     

    Цитата:
    за квартал данный отчет выкручивается 5-10 минут а то и больше

     
    У тебя база какая? ЕСли база большая то еще нормально. А если отчет выполняется когда и люди с базой работают...
    Но я лучше сделал бы

    Цитата:
    чтобы потом просчитать по дополнительной колонке долги, нужно выгрузить запрос в ТЗ и манипулировать данными там

    И Бог с ней что долго - главное пусть правильно и точно посчитает!
    Если не секрет: что делает функция
    Цитата:
    Долг(Док)
    ?

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 12:48 19-04-2006
    vjick

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LexusG
    а если при проведении "Док" закидывать данные в регистр или забалансовый субсчет
    и отчет по нему делать
    гораздо быстрее будет  
     

    Всего записей: 1809 | Зарегистр. 29-01-2002 | Отправлено: 12:56 19-04-2006
    LexusG

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BlackVetal
     
    База действительно большая, серверок слабенький P4-3GHz 1024Mb винт IDE. Узеров 8 человек иссупленно работающих с базой, каждый в свое области.
     
    А функция Долг() ... вот она.

    Код:
     
    Функция Долг(Док)
             
             Перем Сумма, Оплата, ПодчДок;
        
             Сумма = Док.Итог("Сумма");
             Оплата = Сумма;
             ПодчДок = СоздатьОбъект("Документ");
             ПодчДок.ВыбратьПодчиненныеДокументы(,ДатаАнализа,Док);
             Пока ПодчДок.ПолучитьДокумент()=1 Цикл
                 Если (ПодчДок.Вид()="ПКО") ИЛИ  
                                   (ПодчДок.Вид()="ВозвратОтПокупателя") ИЛИ  
                                   (ПодчДок.Вид()="СтрокаВыпискиПриход") Тогда
                    Оплата = Оплата - ПодчДок.Итог("Сумма");  
                 КонецЕсли;
             КонецЦикла;
             
             Возврат Оплата;
              
    КонецФункции //Долг(Док)  
     

     
    Добавлено:
    vjick
     
    Полностью согласен.... В моей базе на каждую новую накладную создается новый договор потом во взаиморасчетах очень легко видеть незакрытые накладные...а тут база не моя и что-то придумать насчет регистров а потом перепровести документы за два года - нереально. Вот и выкручиваюсь подручными средствами. Хорошо хоть они соблюдают привязку подчиненнных документов.

    Всего записей: 448 | Зарегистр. 14-09-2005 | Отправлено: 12:59 19-04-2006
    BlackVetal



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    LexusG
    Возможно я чего-то недопонял - но ты считаеш ведость контрагентов.А если (при условии что это у тебе конфа торговля) попробовать рисовать отчет по регистру "покупатели" ?

    Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 13:20 19-04-2006
    FOLD

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LexusG
    Глюк с округлением внешней функции в запросе - баян,решения не найдено.
    Прибавление ,вычитание ,еще предлагали умножать на 100 при обходе группировки делить на 100-когда работает когда нет.Либо не использовать функцию в  запросе и искать др пути, либо мириться. Еще по поводу
    Цитата:
    но итог функции увеличивается в разы (в моем случае в 43 раза)  
    знaчeния фyнкции, oбъявлeнныx в зaпpoce,нaкaпливaютcя и cвopaчивaютcя пoвceм  ypoвням  гpyппиpoвoк .Может попробовать  
     СуммаРуб   = Документ.Реализация.ТекущийДокумент.Сумма;  
     Функция Остаток =Минимум(Долг(Док));/Должно работать правильно но Окр остается проблемой.Если при обходе группировки Запрос.док  обратится к  Долг(Запрос.Док) ?  
     
     
    По поводутвоей функции BlackVetal прав,лучше обращаться к регистру "покупатели"  
    Выгрузи итоги по рег.покупатели в ТЗ и все увидишь .
    Из измерения КредДокумент можно взять все что нужно-ДатаОплаты ,контр,договор    
    а из ресурсов суммаВал -это долг по конкретному КредДокумент, а итог по ТЗ -общий долг

    Всего записей: 1238 | Зарегистр. 26-01-2004 | Отправлено: 13:25 19-04-2006 | Исправлено: FOLD, 13:50 19-04-2006
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка
    ShIvADeSt (29-09-2006 09:19): продолжаем здесь
    http://forum.ru-board.com/topic.cgi?forum=33&topic=7403


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru