|
v7: Кредиторская задолженность 1с 7.7 | ☑ | ||
---|---|---|---|---|
0
Ardov
26.11.14
✎
12:36
|
Ребят помогите пожалуйста, может кто поделиться отчетом по формированию кредиторской задолженности, дебиторка есть, а вот кредиторку не знаю с чего начать, пожалуйста
|
|||
1
dk
26.11.14
✎
12:49
|
конфа какая?
|
|||
2
Ardov
26.11.14
✎
12:50
|
производство+услуги+бухгалтерия для украины
|
|||
3
Иешуа
26.11.14
✎
12:52
|
(2) там штатный отчет есть... чем не устраивает?
|
|||
4
Ardov
26.11.14
✎
12:53
|
нету, ей 4 програмиста ту конфу меняли каждый что то свой добавлял убирал, теперь она почти голая
|
|||
5
DGorgoN
26.11.14
✎
13:05
|
(4) Возьми со стандартной.
|
|||
6
Попытка1С
26.11.14
✎
13:10
|
Помоему проще дебиторку на кредиторку переписать.
|
|||
7
Ardov
26.11.14
✎
13:17
|
стандартную скачал, там нету такого(
может есть у кого, поделитесь пожалуйста, а я её под свою конфу дороботаю |
|||
8
Ardov
26.11.14
✎
13:18
|
я нашел два отчета, но немогу скачать с этого сайта, есть кто то, с рейтингом, что бы мог скачать с этого сайта?
http://club-1c.com |
|||
9
Ardov
26.11.14
✎
13:51
|
ребят поделитесь пожалуйста
|
|||
10
kobzon2
26.11.14
✎
14:06
|
(9) Переписывай дебеторку. Обычно там одну строчку в коде исправляешь и радуешься.
|
|||
11
Хоменко Валерий
26.11.14
✎
14:09
|
||||
12
kobzon2
26.11.14
✎
14:17
|
(0) Вот этот очень нравится http://infostart.ru/public/57846/
Дебиторка с просрочкой и штрафами менеджерам. Легко переделывается в кредиторку. |
|||
13
Ardov
26.11.14
✎
14:27
|
(12) а какую тут строчку нужно поменять?
//******************************************* Процедура ПриОткрытии() ВидОтчета = 1; надату=ТекущаяДата(); моб=5000; КонецПроцедуры //******************************************* Функция ДатаОпл(ЧислоДней, ДаНач,КалендДни) Если КалендДни=1 Тогда ДаНач=ДаНач+ЧислоДней; Иначе кк = 1; Пока кк <= ЧислоДней - 1 Цикл // проверка празников Если ((ДатаЧисло(ДаНач) = 1) и (ДатаМесяц(ДаНач) = 1)) или // 1 января ((ДатаЧисло(ДаНач) = 7) и (ДатаМесяц(ДаНач) = 1)) или // 7 января (рождество) ((ДатаЧисло(ДаНач) = 8) и (ДатаМесяц(ДаНач) = 3)) или // 8 марта ((ДатаЧисло(ДаНач) = 19) и (ДатаМесяц(ДаНач) = 4)) или // Пасха ((ДатаЧисло(ДаНач) = 1) и (ДатаМесяц(ДаНач) = 5)) или // 1 мая ((ДатаЧисло(ДаНач) = 2) и (ДатаМесяц(ДаНач) = 5)) или // 2 мая ((ДатаЧисло(ДаНач) = 9) и (ДатаМесяц(ДаНач) = 5)) или // 9 мая ((ДатаЧисло(ДаНач) = 27) и (ДатаМесяц(ДаНач) = 5)) или // Тройца ((ДатаЧисло(ДаНач) = 28) и (ДатаМесяц(ДаНач) = 6)) или // День конституции ((ДатаЧисло(ДаНач) = 24) и (ДатаМесяц(ДаНач) = 8)) Тогда// День независимости Иначе Если НомерДняНедели(ДаНач) <= 5 Тогда кк = кк + 1; КонецЕсли; КонецЕсли; ДаНач = ДаНач + 1; КонецЦикла; КонецЕсли; Возврат ДаНач; КонецФункции //ДатаОпл() //******************************************* Функция СтДата(ЧислоДней, ДаНач,КалендДни) Если КалендДни=1 Тогда ДаНач=ДаНач-ЧислоДней; Иначе кк = 0; Пока кк <= ЧислоДней Цикл // проверка празников Если ((ДатаЧисло(ДаНач) = 1) и (ДатаМесяц(ДаНач) = 1)) или // 1 января ((ДатаЧисло(ДаНач) = 7) и (ДатаМесяц(ДаНач) = 1)) или // 7 января (рождество) ((ДатаЧисло(ДаНач) = 8) и (ДатаМесяц(ДаНач) = 3)) или // 8 марта ((ДатаЧисло(ДаНач) = 19) и (ДатаМесяц(ДаНач) = 4)) или // Пасха ((ДатаЧисло(ДаНач) = 1) и (ДатаМесяц(ДаНач) = 5)) или // 1 мая ((ДатаЧисло(ДаНач) = 2) и (ДатаМесяц(ДаНач) = 5)) или // 2 мая ((ДатаЧисло(ДаНач) = 9) и (ДатаМесяц(ДаНач) = 5)) или // 9 мая ((ДатаЧисло(ДаНач) = 27) и (ДатаМесяц(ДаНач) = 5)) или // Тройца ((ДатаЧисло(ДаНач) = 28) и (ДатаМесяц(ДаНач) = 6)) или // День конституции ((ДатаЧисло(ДаНач) = 24) и (ДатаМесяц(ДаНач) = 8)) Тогда// День независимости Иначе Если НомерДняНедели(ДаНач) <= 5 Тогда кк = кк + 1; КонецЕсли; КонецЕсли; ДаНач = ДаНач - 1; КонецЦикла; КонецЕсли; Возврат ДаНач; КонецФункции //СтДата //******************************************* Процедура Сформировать() Если ПустоеЗначение(НаДату) = 1 Тогда Сообщить("Введите дату!", "!"); Возврат; КонецЕсли; Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ?(ВыбКонтрагент.Выбран() = 1, ВыбКонтрагент, ""), 1, 0); Ит.ИспользоватьПланСчетов(ПланыСчетов.Основной); Ит.ИспользоватьРазделительУчета(Константа.БазФирма); Ит.ВключатьСубсчета(0, 0); Ит.Опции(0, 0); Попытка Ит.ВыполнитьЗапрос("01.01.05", НаДату, "361", "", , 3, 2); Исключение Сообщить("Запрос по бух. итогам не выполнен! Укажите по меньше дату!", "!"); Возврат; КонецПопытки; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица"); ДопЗаголовок = ""; Если ВыбКонтрагент.Выбран() = 1 Тогда ДопЗаголовок = "По контрагенту "+ВыбКонтрагент.ПолнНаименование; ИначеЕсли ВидОтчета = 1 Тогда ДопЗаголовок = "По всем контрагентам"; ИначеЕсли ВидОтчета = 2 Тогда ДопЗаголовок = "По корпорации"; ИначеЕсли ВидОтчета = 3 Тогда ДопЗаголовок = "Без учета корпорации"; ИначеЕсли ВидОтчета = 4 Тогда ДопЗаголовок = "Без корпорации, Дистрибьютеров, Сетей"; КонецЕсли; Таб.ВывестиСекцию("Шапка"); ИтогОбщийДолг = 0; ИтогПросрочка = 0; Ит.ВыбратьСубконто(1,,,,,,); Пока Ит.ПолучитьСубконто(1,,) = 1 Цикл Если ВидОтчета = 2 Тогда Если Лев(Ит.Субконто(1).Родитель.Наименование,10) <> "Корпорация" Тогда //Ит.Субконто(1).Родитель.Код <> "1000" Тогда Продолжить; КонецЕсли; ИначеЕсли ВидОтчета = 3 Тогда Если Лев(Ит.Субконто(1).Родитель.Наименование,10) = "Корпорация" Тогда //Ит.Субконто(1).Родитель.Код = "1000" Тогда Продолжить; КонецЕсли; ИначеЕсли ВидОтчета = 4 Тогда Если (Лев(Ит.Субконто(1).Родитель.Наименование,10) = "Корпорация") и (Лев(Ит.Субконто(1).Родитель.Наименование,10) = "Дистрибьюторы") и (Лев(Ит.Субконто(1).Родитель.Наименование,10) = "Сети") Тогда //Ит.Субконто(1).Родитель.Код = "1000" Тогда Продолжить; КонецЕсли; КонецЕсли; Если ит.СКД()<=0 тогда продолжить; Конецесли; Заплатил = Ит.КО("С"); Если ПустоеЗначение(Ит.Субконто(1).БазДоговор) = 0 Тогда Если ПустоеЗначение(Ит.Субконто(1).БазДоговор.ГлубинаКредита) = 0 Тогда //СрокОтсрочки = Ит.Субконто(1).БазДоговор.ГлубинаКредита; Если Ит.Субконто(1).Код="00402" Тогда ммДог = СоздатьОбъект("Документ.Договор"); Если ммДог.НайтиПоНомеру("1048/14-М",'01.01.14',"Договор")=1 Тогда СрокОтсрочки=ммДог.ТекущийДокумент().ГлубинаКредита; КДни=ммДог.ТекущийДокумент().ГлубинаВКалендарныхДнях; Конецесли; Иначе СрокОтсрочки = Ит.Субконто(1).БазДоговор.ГлубинаКредита; КДни=Ит.Субконто(1).БазДоговор.ГлубинаВКалендарныхДнях; Конецесли; Иначе СрокОтсрочки = 0; КонецЕсли; Иначе СрокОтсрочки = 0; КонецЕсли; Просрочка = 0; ОбщийДолг = 0; Ит.ВыбратьПериоды(,,,); Пока Ит.ПолучитьПериод(,) = 1 Цикл Документ = Ит.Операция; Если Ит.ДО("С") > 0 Тогда Если Заплатил > 0 Тогда ТекЗаплатил = Мин(Заплатил, Ит.ДО("С")); Если ТекЗаплатил < Ит.ДО("С") Тогда Если ДатаОпл(СрокОтсрочки, Документ.ДатаОперации,КДни) < НаДату Тогда //Если Документ.ДатаОперации + СрокОтсрочки < НаДату Тогда Просрочка = Просрочка + (Ит.ДО("С") - ТекЗаплатил); КонецЕсли; КонецЕсли; ОбщийДолг = ОбщийДолг + (Ит.ДО("С") - ТекЗаплатил); Заплатил = Заплатил - ТекЗаплатил; Иначе Если ДатаОпл(СрокОтсрочки, Документ.ДатаОперации,КДни) < НаДату Тогда //Если Документ.ДатаОперации + СрокОтсрочки < НаДату Тогда Просрочка = Просрочка + Ит.ДО("С"); КонецЕсли; ОбщийДолг = ОбщийДолг + Ит.ДО("С"); КонецЕсли; КонецЕсли; КонецЦикла; Если ((ОбщийДолг = 0) И (Просрочка = 0)) Тогда Продолжить; КонецЕсли; ИтогОбщийДолг = ИтогОбщийДолг + ОбщийДолг; ИтогПросрочка = ИтогПросрочка + Просрочка; Таб.ВывестиСекцию("Строка"); КонецЦикла; Таб.ВывестиСекцию("Итоги"); Таб.ТолькоПросмотр(1); Таб.ПовторятьПриПечатиСтроки(1, 5); Таб.Опции(0, 0, 5); Таб.Показать(); КонецПроцедуры //======================================== Процедура Сформировать2() дат2=НачМесяца(НаДату)-1; дат1=НачМесяца(дат2); ДопЗаголовок = ""; Если ВыбКонтрагент.Выбран() = 1 Тогда ДопЗаголовок = "По контрагенту "+ВыбКонтрагент.ПолнНаименование; ИначеЕсли ВидОтчета = 1 Тогда ДопЗаголовок = "По всем контрагентам"; ИначеЕсли ВидОтчета = 2 Тогда ДопЗаголовок = "По корпорации"; ИначеЕсли ВидОтчета = 3 Тогда ДопЗаголовок = "Без учета корпорации"; ИначеЕсли ВидОтчета = 4 Тогда ДопЗаголовок = "Без корпорации, Дистрибьютеров, Сетей"; КонецЕсли; би1=СоздатьОбъект("БухгалтерскиеИтоги"); би1.ИспользоватьРазделительУчета(константа.БазФирма); би=СоздатьОбъект("БухгалтерскиеИтоги"); би.ИспользоватьРазделительУчета(константа.БазФирма); вс1=видыСубконто.контрагенты; Если ВыбКонтрагент.Выбран()=1 тогда если ВыбКонтрагент.ЭтоГруппа()=1 тогда би.ИспользоватьСубконто(вс1,ВыбКонтрагент,1); иначе би.ИспользоватьСубконто(вс1,ВыбКонтрагент,2); конецесли; иначе би.ИспользоватьСубконто(вс1,,1); Конецесли; би.ВыполнитьЗапрос(НаДату,наДату,"36"); би.ВыбратьСубконто(1); тб=СоздатьОбъект("ТаблицаЗначений"); тб.НоваяКолонка("Контр"); тб.НоваяКолонка("Ключ","число"); тб.НоваяКолонка("Срок","число"); тб.НоваяКолонка("Календ","число"); тб.НоваяКолонка("Сумма","число"); тб.НоваяКолонка("Сумма1","число"); тб.НоваяКолонка("Сумма2","число"); тб.НоваяКолонка("Сумма3","число"); тб.НоваяКолонка("ДОБ","число"); Пока би.ПолучитьСубконто(1)=1 цикл лснд=би.СНД(); Если фМинДолг<>0 тогда Если лСнд<фМинДолг тогда продолжить; Конецесли; Конецесли; Если лСнд>0 тогда Если пустоеЗначение(би.Субконто())=1 тогда продолжить; Конецесли; Если ВидОтчета = 2 Тогда Если Лев(би.Субконто().Родитель.Наименование,10) <> "Корпорация" Тогда //би.Субконто().Родитель.Код <> "1000" Тогда Продолжить; КонецЕсли; ИначеЕсли ВидОтчета = 3 Тогда Если Лев(би.Субконто().Родитель.Наименование,10) = "Корпорация" Тогда //би.Субконто().Родитель.Код = "1000" Тогда Продолжить; КонецЕсли; ИначеЕсли ВидОтчета = 4 Тогда Если (Лев(би.Субконто(1).Родитель.Наименование,10) = "Корпорация") или (Лев(би.Субконто(1).Родитель.Наименование,10) = "Дистрибьют") или (Лев(би.Субконто(1).Родитель.Наименование,10) = "Сети") Тогда //Ит.Субконто(1).Родитель.Код = "1000" Тогда Продолжить; КонецЕсли; КонецЕсли; тб.НоваяСтрока(); тб.Контр=би.Субконто(); тб.ключ = 2; тб.Сумма=би.СКД(); Конецесли; КонецЦикла; тб.ВыбратьСтроки(); пока тб.ПолучитьСтроку()=1 цикл квоД=тб.Контр.глубина.Получить(наДату); Если тб.контр.БазДоговор.Выбран()=1 тогда Если тб.контр.БазДоговор.Вид()="Договор" тогда Если тб.контр.БазДоговор.ГлубинаКредита<>0 тогда //квоД=тб.контр.БазДоговор.ГлубинаКредита; Если тб.Контр.Код="00402" Тогда ммДог = СоздатьОбъект("Документ.Договор"); Если ммДог.НайтиПоНомеру("1048/14-М",'01.01.14',"Договор")=1 Тогда квоД=ммДог.ТекущийДокумент().ГлубинаКредита; КДни=ммДог.ТекущийДокумент().ГлубинаВКалендарныхДнях; Конецесли; Иначе квоД=тб.контр.БазДоговор.ГлубинаКредита; КДни=тб.контр.БазДоговор.ГлубинаВКалендарныхДнях; Конецесли; Конецесли; Конецесли; Конецесли; Если квоД=0 тогда Если фНео=0 тогда Сообщить("У контрагента "+ тб.контр+" неограниченый кредит.","."); продолжить; иначе квоД=21; КДни=1; Конецесли; Конецесли; тб.срок=квоД; тб.Календ=КДни; //СтаДата=дата(СтДата(квоД,наДату,КДни)); мДат=наДату; СтаДата=СтДата(квоД,мДат,КДни); би=СоздатьОбъект("БухгалтерскиеИтоги"); би.ИспользоватьРазделительУчета(константа.БазФирма); би.ИспользоватьСубконто(вс1,тб.контр,2); //би.ВыполнитьЗапрос(наДату-квоД,наДату,"361"); би.ВыполнитьЗапрос(СтаДата,наДату,"361"); би.ВыбратьСубконто(); Если би.ПолучитьСубконто()=1 тогда лКО=би.КО(); лДО=би.ДО(); лСН=би.СНД(); Если тб.Сумма>лДо тогда тб.Сумма2=тб.Сумма-лДо; би.ИспользоватьРазделительУчета(константа.БазФирма); би.ИспользоватьСубконто(вс1,тб.контр,2); //би.ВыполнитьЗапрос(наДату-квоД-21,наДату-квоД,"361"); би.ВыполнитьЗапрос(СтаДата-21,СтаДата,"361"); би.ВыбратьСубконто(); Если би.ПолучитьСубконто()=1 тогда лДО2=би.ДО(); Если тб.Сумма2>лДО2 тогда тб.Сумма3=тб.Сумма2-лДО2; Конецесли; конецесли; Конецесли; Конецесли; конеццикла; Если ВыбКонтрагент.Выбран()=1 тогда если ВыбКонтрагент.ЭтоГруппа()=1 тогда би1.ИспользоватьСубконто(вс1,ВыбКонтрагент,1); иначе би1.ИспользоватьСубконто(вс1,ВыбКонтрагент,2); конецесли; иначе би1.ИспользоватьСубконто(вс1,,1); Конецесли; би1.ВыполнитьЗапрос(Дат1,Дат2,"36"); би1.ВыбратьСубконто(1); мСтр=0; Пока би1.ПолучитьСубконто(1)=1 цикл Если Тб.НайтиЗначение(би1.Субконто(),мСтр,"Контр")=1 Тогда Если би1.ДО()>моб Тогда Тб.УстановитьЗначение(мСтр,"Ключ",1); Иначе Тб.УстановитьЗначение(мСтр,"Ключ",2); КонецЕсли; Тб.УстановитьЗначение(мСтр,"ДОБ",би1.ДО()); Иначе //Сообщить("Не найдено "+би1.Субконто().Наименование,); КонецЕсли; мСтр=0; Конеццикла; мключ=1; таб=СоздатьОбъект("Таблица"); таб.ИсходнаяТаблица("Таблица"); таб.ВывестиСекцию("Шапка"); таб.Опции(0,0,таб.ВысотаТаблицы(),0); тб.Сортировать("ключ,сумма2"); тб.ВыбратьСтроку(); тб.ВыбратьСтроки(); Пока тб.ПолучитьСтроку()=1 цикл тб.Сумма1=тб.сумма-тб.сумма2; Если тб.сумма1<0 тогда тб.Сумма2=тб.сумма2+тб.сумма1; тб.сумма1=0; Конецесли; тб.Сумма2=тб.сумма2-тб.сумма3; Если тб.сумма2<0 тогда тб.Сумма3=тб.сумма3+тб.сумма2; тб.сумма2=0; Конецесли; Если мключ<>тб.ключ тогда таб.ВывестиСекцию("раздел"); КонецЕсли; таб.ВывестиСекцию("Строка"); мключ=тб.ключ; КонецЦикла; таб.ВывестиСекцию("Итоги"); таб.ТолькоПросмотр(1); таб.Параметрыстраницы(1,100,0,0,0,0,0,0,0,1); таб.Показать("Реестр просроченой задолженности",,1); КонецПроцедуры |
|||
14
kobzon2
26.11.14
✎
14:32
|
Там где прописаны регистра с покупателями. Поменять на поставщиков.
Процедура ДобавитьПеременнуюВЗапрос(ТекстЗапроса, ИмяПеременной, ЗначениеПеременной) ЕстьЗНачение = 0; ТекстЗапроса = ТекстЗапроса + " |" + ИмяПеременной + " = "; ТекстЗапроса = ТекстЗапроса + "Регистр.РасчетыСПоставщиками." + ЗначениеПеременной; ТекстЗапроса = ТекстЗапроса + ";"; КонецПроцедуры // ДобавитьПеременнуюВЗапрос() //---------------- И еще где-то Рег=СоздатьОбъект("Регистр.РасчетыСПоставщиками"); Рег.ВыбратьДвиженияДокумента(ТЗ.Документ); Пока Рег.ПолучитьДвижение()=1 Цикл Если Рег.Приход=0 Тогда Продолжить; КонецЕсли; СумДок=СумДок+Рег.Долг; КонецЦикла; |
|||
15
kobzon2
26.11.14
✎
14:37
|
Только помнится мне что этот отчет для ТиСа или Бухгалтерии.
Я конечно могу кинуть отчет под кредиторку, но только он под мой ПУБ запилин. |
|||
16
Ardov
26.11.14
✎
14:41
|
(15) кинь пожалуйста я попробую) буду тебе очень признателен
|
|||
17
kobzon2
26.11.14
✎
14:45
|
(16) Почту давай.
Только сейчас заметил, что ты код своего отчета выложил) Думал это код того, что я ссылку кинул) |
|||
18
Ardov
26.11.14
✎
14:47
|
(17) [email protected]
|
|||
19
kobzon2
26.11.14
✎
14:53
|
(18) Отправил. Только еще одно. У меня глубина кредита настроена в справочнике контрагенты. Добавлен реквизит - Глубина(число 2.0)
|
|||
20
Ardov
26.11.14
✎
15:23
|
(19) спасибо огромное, буду пробовать)
|
|||
21
varelchik
26.11.14
✎
17:54
|
(0) А чем вас неустараивает отчет Взаиморасчеты?
Там и Кредиторка(Поставщики) и Дебиторка(Покупатели) и Общие. |
|||
22
kobzon2
27.11.14
✎
09:01
|
(21) У него отчет с рабочей и просроченной задолженностью.
(20) В твоем отчете то что я написал вчера: би.ВыполнитьЗапрос(НаДату,наДату,"36"); - заменить 36 на 63(Поставщики). Соответственно би.ВыполнитьЗапрос(СтаДата,наДату,"361"); тоже 361 заменить на 631 (Это как Российский 60.1). Короче все 36 и 361 на 63 и 631. Потом Итоги типа лснд=би.СНД()- заменить на лснд=би.СНК(). тб.Сумма=би.СКД() на тб.Сумма=би.СКК(). Ну и с остальными посмотри. Если допиливал документ реализацияпродукции под дебиторку, то допиливай и документ ПоступлениеТоваров. Удачи! |
|||
23
varelchik
27.11.14
✎
09:34
|
(22)А зачем связываться с бухитогами?
Есть регистр ВзаиморасчетыПоставщиков! |
|||
24
kobzon2
27.11.14
✎
09:49
|
(23) Говорит не понимает эти регистры. В ПУБе регистр РассчетыСПоставщиками.
Да и не важно на чем сделал, главное чтобы работало правильно) Регистры то они тоже капризные. |
|||
25
varelchik
27.11.14
✎
10:15
|
(24)Э батенька. Так у него походу это новый регистр.
У меня стоит чистый ПУБ для Украины и там такого регистра РассчетыСПоставщиками нет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |