|   |   | 
| 
 | v7: ОСВ и распределение регионам | ☑ | ||
|---|---|---|---|---|
| 0
    
        icydrago 05.02.13✎ 20:36 | 
        День добрый.
  Сделано следующее: Создано перечисление регионов Добавлен реквизит контрагента "Регион", отредактирована форма. Теперь осталось отредактировать ОСВ так, чтобы показывало разделение по регионам по 51 счёту. Смотрел ОСВ, так и не разобрался, слишком много кода. Помогите, пожалуйста! | |||
| 1
    
        ДенисЧ 05.02.13✎ 20:38 | 
        |-|-|
  | | | | o | | | | |||
| 2
    
        Надсмотрщик 05.02.13✎ 20:41 | 
        (0) Кидаешь все в ТЗ.
  Добавляешь колонку регион Заполняешь Ставишь мне пиво | |||
| 3
    
        icydrago 08.02.13✎ 00:40 | 
        В Тех Задание?
  Колонку в таблицу? Как заполнить? Не вопрос. | |||
| 4
    
        Джордж1 08.02.13✎ 00:41 | 
        (0)нифига не переделаешь.
  Пиши свой отчет | |||
| 5
    
        icydrago 08.02.13✎ 00:45 | 
        Ну тогда прийдётся.
  Если б это была обычная база, то решается всё обычной группировкой в запроче по полю регион контрагента. Или как-то можно такое осуществить на 1С? | |||
| 6
    
        Джордж1 08.02.13✎ 00:46 | 
        (5)нельзя так как используются бухитоги     | |||
| 7
    
        icydrago 08.02.13✎ 00:56 | 
        Окей. Тогда буду писать. А есть какой справочник по функциям и процедурам? А то я в 1с - вообще ноль, по аналогии пишу.     | |||
| 8
    
        Джордж1 08.02.13✎ 01:00 | 
        (7)Встроенный синтаксис-помощник.
  // По аналогии ничего не напишешь | |||
| 9
    
        icydrago 08.02.13✎ 01:04 | 
        хм... Уже устанавливаю win32hlp.
  Получается ))) Я просто опытный программист на других языках. Спасибо! | |||
| 10
    
        icydrago 08.02.13✎ 01:09 | 
        Правда, оно дико тормозит из-за сложных выборок тупым перебором, т.к. не знаю, как фильтр на выборку ставится, кроме даты.
  ДокВыписка = СоздатьОбъект("Документ.Выписка"); ДокВыписка.ОбратныйПорядок(1); ДокВыписка.ВыбратьДокументы(ДокСчет.ДатаДок,); Пока ДокВыписка.ПолучитьДокумент() = 1 Цикл ДокВыписка.ВыбратьСтроки(); Пока ДокВыписка.ПолучитьСтроку() = 1 Цикл Если ДокВыписка.Субконто1=ВыбКонтрагенты тогда ТЗ.Оплата = ДокВыписка.ДатаДок; ТЗ.СуммаОплаты = ДокВыписка.Приход; ИтогСуммаОплаты = ИтогСуммаОплаты + ДокВыписка.Приход; Прервать; Прервать; КонецЕсли; КонецЦикла; КонецЦикла; | |||
| 11
    
        icydrago 08.02.13✎ 01:14 | 
        Сори за нубство. Синтаксис-помошник нашёл! Пишу.
  Спасибо большое за помощь! | |||
| 12
    
        Джордж1 08.02.13✎ 01:17 | 
        ИтогСуммаОплаты = ИтогСуммаОплаты + ДокВыписка.Приход;
  это лишнее По колонке ТЗ итог автоматом считается. Выборку по документам можно запросом получить | |||
| 13
    
        1Сергей 08.02.13✎ 08:08 | 
        (1) а где яйки? кострат?     | |||
| 14
    
        zak555 08.02.13✎ 08:10 | 
        а где у 51 счета аналитика контрагент ?     | |||
| 15
    
        BlackSeaCat 08.02.13✎ 10:58 | 
        (14) Наверное, там к 60 и 62 счетам прицепили это субконто.
  Попадалась чья-то готовая разработка с названием типа "ОСВ с условиями", там можно было сгруппировать или отфильтровать проводки по реквизитам субконто. | |||
| 16
    
        zak555 08.02.13✎ 10:59 | 
        (15) зачем это в аналитику пихать ?
  собираем в СЗ через запрос контрагентов по условию далее использоватьСубконто по сз и всё | |||
| 17
    
        Джинн 08.02.13✎ 10:59 | 
        Дурдом "Солнышко"...     | |||
| 18
    
        vladko 08.02.13✎ 11:20 | 
        (0) как в 51м счёте может быть контрагент? Там же только расчётные счета организации. Ты ничего не путаешь?     | |||
| 19
    
        NikVars 08.02.13✎ 11:39 | 
        (0) Не слушай этих советчиков! Им бы все переделать и допилить!
  У 51 счета субконто 2 - движение денежных средств. Лезешь в (если это Бух 7.7) Справочники - Прочие - Движение денежных средств. Вносишь нужные тебе строчки, можешь их обозвать Регион 51, Или колбаса - регион 51, фуфайка - регион 32. Если есть движения с твоими строчками с спр Движение денежных средств - получишь отчет и даже без переписывания типового. Ты только типовому инфо дай. Он соорудит тебе вкусняшку. Тебя спасет Отчеты - ОСВ по счету. | |||
| 20
    
        пипец 08.02.13✎ 11:40 | 
        (0) там еще конструкторы есть ...     | |||
| 21
    
        BlackSeaCat 08.02.13✎ 11:47 | 
        (16) И какое будет условие? Если регион фигурирует только как текст в адресе контрика... и то не гарантируется?
  В-общем, кончаем придумывать, никто никуда в аналитику не пихал, читаем (0): "Добавлен реквизит контрагента "Регион" | |||
| 22
    
        zak555 08.02.13✎ 11:50 | 
        (21) так ты выше написал
  "прицепили это субконто" я тебе про реквизит регион в (16) говорю фильтровать запрос, а потом его в сз | |||
| 23
    
        zak555 08.02.13✎ 11:50 | 
        (19) аналитика та для баланса     | |||
| 24
    
        BlackSeaCat 08.02.13✎ 11:51 | 
        (22) А что, к 60 и 62 разве не прицеплено "Контрагент"? Обоснуй! :-)     | |||
| 25
    
        zak555 08.02.13✎ 12:01 | 
        (24) я думал, что ты 5 60/62 аналитику регион предлагал прикрепить
  т.е. былдо бы контрагент/договор/регион | |||
| 26
    
        NikVars 08.02.13✎ 12:02 | 
        (23) А ты подумай хорошенько... Набрасай пару проводок...
  Для той цели что в (0) озвучено вообще ничего в конфигурации менять не нужно. Только пользовательская набивка видов движений, наличие их в базе и формирование типового отчета ОСВ по счету. | |||
| 27
    
        NikVars 08.02.13✎ 12:08 | 
        +(26) Даже больше скажу, что если в справочнике движение денежнфх средств аккуратненько все собрать по папочкам - 1 папочка - 1 регион, внутри движения по этому региону. Далее берешь ОСВ по счету, ставишь счет 51, выбираешь движение папочку ставишь галочку Группы и получаешь то, что не нужно программировать вообще.     | |||
| 28
    
        zak555 08.02.13✎ 12:12 | 
        только аналитика там оборотная     | |||
| 29
    
        RayCon 08.02.13✎ 12:17 | 
        (0) Так задачу ставить нельзя => отрицательный результат гарантирован безотносительно уровня твоих знаний 1С.
  Для начала определись, что есть "регион": место нахождения филиала организации, место нахождения контрагента, место нахождения грузополучателя, центр финансовой ответственности. После этого уже надо думать, можно ли вписаться с тандартную поставку, и, если можно, то как. Если без правок конфигурации не получится, то, в зависимости от структуры данных могут быть разные решения. Например, добавить реквизит в справочнике или субконто на бухгалтерском счете или же маркер на бухгалтерскую проводку (как это сделано для подразделений в БП 2.0). И только после всех этих раздумий имеет смысл браться за техническую работу. (19) При таком подходе ты не соберёшь отчет о движении денежных средств. (23) Не для баланса, а для отчета о движении денежных средств (27) Такой подход не сломает отчет о движении денежных средств, но решит задачу ТС по другим участкам учета. (28) Для задачи ТС оборотной аналитики вполне может и хватить. | |||
| 30
    
        NikVars 08.02.13✎ 12:24 | 
        (29) Если ты думаешь, что внося элементы в справочник движения денежных средств не соберешь отчет о движении денежных средств, то тебе нужно освежить свои знания.
  Отчет о движении денежных средств не соберется только тогда, когда вид движения в справочнике движения денежных средств не будет соотвествовать разрезу деятельности. Но даже такое несоотвествие легко правится без перепроведения всех движений. А вот если движений нет, то ты тогда уж ничего не соберешь. | |||
| 31
    
        RayCon 08.02.13✎ 12:44 | 
        (30)
  >колбаса - регион 51, фуфайка - регион 32 Такой отчет ты соберёшь, но это не будет ни отчет о движении денежных средств по форме №4. Это будет отчет о движении денежных средств по регионам. Автору нужное несколько иное: расшифровка по регионам. В этой ситуации статьи движений денежных средств и регионы - суть разные изменение. И такую задачу лучше решать на уровне ещё одного неиерархического субконто. >то тебе нужно освежить свои знания. А вот хамить не надо - хамство никого не украшает. >Отчет о движении денежных средств не соберется только тогда, когда вид движения в >справочнике движения денежных средств не будет соотвествовать разрезу деятельности. Не только - есть ещё один критерий, ошибочное использование которого, кстати, часто приводит к ошибкам в отчете о движении денежных средств. | |||
| 32
    
        NikVars 08.02.13✎ 17:48 | 
        (31) Никто и хамит. Только ты сам не говори, что я не соберу отчет о движении денежных средств при таком походе. Это ты его не соберешь "уровнями ещё одного неиерархического субконто". А если ты освежишь свои знания, то и ты соберешь.
  И своими словами "Не только - есть ещё один критерий, ошибочное использование которого, кстати, часто приводит к ошибкам в отчете о движении денежных средств." ты тут муть не нагоняй, а сразу говори свои критерии. Даже специально зайду еще разок - поучусь (ибо не гордый и не обидчивый) или прочитаю про то как ломать по пустякам конфу "уровнями ещё одного неиерархического субконто". | |||
| 33
    
        Джинн 08.02.13✎ 17:56 | 
        ОДДС соберется легко. Он по реквизиту в статье ДДС собирается, а не по статьям. Но я бы все равно не плодил их, ибо ересь уже в постановке. Какая на фиг разница из какого региона деньги пришли с точки зрения принятия решений? Ладно бы еще выручку по регионам собирали.     | |||
| 34
    
        Джинн 08.02.13✎ 17:58 | 
        Даже посмотрел в Бухии 4.5 - реквизит "Вид движения".     | |||
| 35
    
        RayCon 08.02.13✎ 20:01 | 
        (32) Извини, но в таком тоне я не общаюсь. И дело не в гордости и обидчивости (я всегда с удовольствоиями делюсь знаниями, и масса мистян это подтвердит), а в том, что неуважительное общение создаёт прецеденты его тиражирования и распространения на других форумчан.
  (33) +1 | |||
| 36
    
        icydrago 11.02.13✎ 15:32 | 
        Я сделал таким образом:
  //******************************************* Процедура Сформировать() Таблица.Очистить(); ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Регион"); ТЗ.НоваяКолонка("Приход"); ДокВыписка = СоздатьОбъект("Документ.Выписка"); ДокВыписка.ВыбратьДокументы(НачДата, КонДата); Пока ДокВыписка.ПолучитьДокумент() = 1 Цикл Если ДокВыписка.БанковскийСчет.Счет.Код = "51" тогда ДокВыписка.ВыбратьСтроки(); Пока ДокВыписка.ПолучитьСтроку() = 1 Цикл Если ДокВыписка.КоррСчет.Код="62.1" тогда ТЗ.НоваяСтрока(); ТЗ.Регион=ДокВыписка.Субконто1.Регион; ТЗ.Приход=ДокВыписка.Приход; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; ТЗ.Свернуть("Регион", "Приход"); Таблица.ВывестиСекцию("Шапка"); ТЗ.ВыбратьСтроки(); ИтогПриход = 0; Пока ТЗ.ПолучитьСтроку() = 1 Цикл п0 = ТЗ.Регион; п1 = ТЗ.Приход; ИтогПриход = ИтогПриход + ТЗ.Приход; Таблица.ВывестиСекцию("Строка"); КонецЦикла; Итог = ИтогПриход; Таблица.ВывестиСекцию("Подвал"); Таблица.Показать("Отчет по регионам"); КонецПроцедуры Вроде всё работает так, как надо. Что скажут опытные адинэсники? | |||
| 37
    
        Злопчинский 11.02.13✎ 18:07 | 
        (36) если говорить вообщем - отвратительно.
  в частности - если у тебя прокатывает - то и фиг с ним, ошибки будут, но вы их не увидите или увидите не вовремя | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |