Имя: Пароль:
1C
1C 7.7
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) если говорить вообщем - отвратительно.
в частности - если у тебя прокатывает - то и фиг с ним, ошибки будут, но вы их не увидите или увидите не вовремя