И снова PAT-формы

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

И снова PAT-формы

Сообщение hope »

Подскажите, плз!
Мне нужно сделать "Книгу доходов/расходов" по УСНО.
Нужно вывести на печать все операции по четырем счетам, причем отсортированы эти операции д.б. по дате операции, а не по счету.
Такое вообще возможно?
blackoff
Постоянный гость
Сообщения: 55
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь/Москва
Контактная информация:

Re: И снова PAT-формы

Сообщение blackoff »

Мне кажется ПАТы здесь не причем. Такое с помощью них не сделать. Поэтому, скорее всего, придется писать форму.
Maxim
Постоянный гость
Сообщения: 96
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Пермь

Re: И снова PAT-формы

Сообщение Maxim »

А "ФРО - Отчеты - Аналитика - Аналитика по группам счетов" чем-то не устраивает?

В ПАТ такого не сделать...
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: И снова PAT-формы

Сообщение hope »

Да, действительно придется писать свой отчет. В аналитической ведомости информации тоже не хватает.
Как связана таблица OBOROT с исходными документами?
Может кто-нибудь поделится готовой подцепкой?
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: И снова PAT-формы

Сообщение Deinis »

Смотря какая глубина подцепок тебя интересует. Вот добраться до самого первичного документа - это проблема.

Например:
Oborot.cSoprHoz - это ссылка на Хозяйственную операцию. В общем-то большую часть информации о первичном можно вытащить как-раз таки из SoprHoz. Можно, например, вытянуть примечание по ХозОперации (SoprHoz.NameSHO). Здесь я особых проблем не вижу.
Тип документа (KatDoc.Name) можно получить по связке Oborot.TiDkGal == KatDoc.TiDkGal.
Также можно вытянуть примечание по Документу-Основанию (BaseDoc.NameDoc), к которому привязан первичный документ. Это надо идти по связке Oborot -> SoprHoz -> StepDoc -> BaseDoc

Проблема - вытащить примечание из самого первичного документа.
Oborot.cSoprDoc - это уже ссылка на сам первичный документ. Либо это запись в KatSopr, либо в PlPor, либо в SpMove, либо в AppVeks. Возможны и другие варианты.
Вот как-раз из-за этого многообразия и не знаешь, в какую таблицу смотреть для "вытаскивания" этого примечания.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: И снова PAT-формы

Сообщение Den »

Могу,кому интересно, выслать рабочий вариант книги по УСН. Формируется в exsel формате.
Правда сделана тока под BTRIEVE версию Галактики под 582,584 на 585 не пробовал.
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: И снова PAT-формы

Сообщение Maverick »

>> Oborot.cSoprDoc - это уже ссылка на сам первичный документ. Либо это запись в KatSopr, либо в PlPor, либо в SpMove, либо в AppVeks. Возможны и другие варианты



И здесь тоже нет никакой тайны:
Все указано в Oborot.TiDkGal
а) Oborot.cSoprDoc=KatSopr.NRec, если он равен:
101 (Товарная накладная на прием товара)
102 (Товарная накладная на прием возвращ.от консигнаторов)
103 (Товарная накладная на прием товара на консигнацию)
106 (Накладная на возврат товаров по рекламации в продаже)
201 (Товарная накладная на отпуск товара)
202 (Товарная накладная на отпуск товара на консигнацию)
203 (Товарная накладная на возврат товара консигнанту)
206 (Накладная на возврат товаров по рекламации при закупке)
111 (акт на прием услуги)
211 (акт на оказание услуги)
151 (акт реализации принятых на консигнацию МЦ)
251 (акт реализации переданных на консигнацию МЦ)
501 (накладная на отпуск в производство /склад-подразделение/ )
502 (накладная на приход готовой продукции из производства /подразделение-склад/ )
503 (накладная на возврат сырья из производства /подразделение-склад/ )
504 (Акт на списание из производства /подразделение-.../ )
505 (межцеховая накладная (полуфабрикат)/подразделение-подразделение/ )
506 (накладная на перемещение производства (МЦ)/подразделение-подразделение/ )
508 (Акт на оказание услуг )
511 (накладная на отпуск для ремонта /склад-подразделение/ )
512 (накладная на возврат из ремонта не использованных ТМЦ /подразделение-склад/ ))
513 (услуги оказанные при ремонте)
521 (накладная на отпуск модуля "Давальческая обработка")
522 (накладная на возврат модуля "Давальческая обработка")
523 (накладная на возврат сырья модуля "Давальческая обработка")
532 (накладная на расход сырья/по накладной 502 приход ГП)
533 (временная производственная накладная )
535 (накладная на расход сырья/по накладной 505 межцеховая)
600 (накладная на внутреннее перемещение /склад-склад/)
601 (накладная на передачу товаров в ОС)
602 (накладная на передату товаров в МБП)
603 (накладная на передачу товаров в розницу)
604 (накладная на передачу МБП в Матценности)
605 (накладная на передачу товаров в НМА)
611 (акт инвентаризации о излишке)
612 (акт инвентаризации о недостатке)
620 (Акт складской переоценки)
621 (акт комплектации)
622 (акт разукомплектации)
623 (акт внутрискл.перемещения между ячейками хранения (BOX))
624 (акт пакетирования)
625 (акт распакетирования)
700 (входящие долги контрагента)

б) Oborot.cSoprDoc == PlPor.TiDkGal, если
= 1 'Собственное платежное поручение';
= 2 'Стороннее платежное поручение';
= 3 'Инкассовое поручение';
= 4 'Собственное заявление на аккредитив';
= 5 'Собственное заявление об отказе от акцепта';
= 6 'Реестр чеков';
= 7 'Приходный кассовый ордер';
= 8 'Расходный кассовый ордер';
= 9 'Авансовый отчет';
= 10 'Бухгалтерская справка';
= 11 'Собственное платежное требование-поручение';
= 17 'Валютный приходный кассовый ордер';
= 18 'Валютный расходный кассовый ордер';
= 21 'Исходящее авизо';
= 22 'Входящее авизо';
= 27 'Реестр распределения валюты';
= 30 'Собственный реестр счетов';
= 31 'Собственное валютное платежное поручение';
= 32 'Собственное платежное требование';
= 33 'Стороннее валютное платежное поручение';
= 37 'Налоговое платежное поручение';
= 38 'Исходящее налоговое авизо';
= 39 'Входящее налоговое авизо';
= 70 'Акт взаимозачетов';
= 1004 'Стороннее заявление на аккредитив';
= 1005 'Стороннее заявление об отказе от акцепта';
= 1011 'Стороннее платежное требование-поручение';
= 1030 'Сторонний реестр счетов';
= 1032 'Стороннее платежное требование';

в) Oborot.cSoprDoc == SpMove.NRec в случае
= 15 (ОС)
= 16 (НМА)

г) Oborot.cSoprDoc == AppVeks.NRec в случае
= 81 Акт на передачу векселей
= 82 Акт на гашение собственных векселей
= 83 Акт на гашение сторонних векселей
= 84 Акт на получение векселей
= 85 Акт на передачу ценных бумаг
= 86 Акт на гашение собственных ценных бумаг
= 87 Акт на гашение сторонних ценных бумаг
= 88 Акт на получение ценных бумаг
= 89 ???????????????????

д) Oborot.cSoprDoc == MbpIn.NRec
= 12 Приход, ввод в эксплуатацию МБП
= 20 Внутреннее перемещение МБП
= 28 Возврат МБП из эксплуатации
= 80 Переоценка МБП
= 704 Оприходование излишка МБП


е) Oborot.cSoprDoc == MbpOut.NRec
= 13 Начисление износа МБП
= 19 Списание, уход МБП
= 29 Передача МБП на склад
= 703 Списание недостачи МБП

ж) Oborot.cSoprDoc == PlatVed.NRec
= 23 Платежная ведомость

з) Oborot.cSoprDoc == VedDeponir.NRec
= 24

и) Oborot.cSoprDoc == ValutDoc.NRec
= 34 Поручение на покупку валюты
= 35 Поручение на продажу валюты
= 36 Поручение на конвертацию валюты

к) Oborot.cSoprDoc == BaseDoc.NRec
= 40 Документ-основание
= 41 Основание на закупку
= 42 Прием на консигнацию
= 43 ДО на предоплату (закупка)
= 51 Основание на продажу
= 52 Отпуск на консигнацию
= 53 ДО на предоплату (продажа)
= 61 ЛЗК на отпуск в производство
= 62 Заявка на обслуживание
= 90 Договор продажи долга контрагента
= 91 Договор покупки долга контрагента
= 92 Договор продажи собственного долга
= 93 Договор покупки долга контрагента
= 94 Договор продажи долга контрагента
= 95 Договор продажи собственного долга
= 550 Заявка на ремонт

л) Oborot.cSoprDoc == SchFact.NRec
= 72 Счет-фактура наша
= 73 Счет-фактура поставщика
= 76 Налоговая накладная наша
= 77 Налоговая накладная поставщика

м) Oborot.cSoprDoc == BookPrZk.NRec
= 74 Запись в книге продаж
= 75 Запись в книге закупок
= 76 Запись в книге продаж
= 77 Запись в книге закупок

н) Oborot.cSoprDoc == PRSpPlan.NRec
= 119 Планирование закупок

м) Oborot.cSoprDoc == SklOrder.NRec
= 150 Приходный складской ордер
= 160 Приходный производственный ордер
= 250 Расходный складской ордер
= 260 Расходный производственный ордер

о) Oborot.cSoprDoc == Dogovor.NRec
= 400 Договор
= 401 Соглашение к договору

п) Oborot.cSoprDoc == CalPlan.NRec
= 403 Пункт календарного плана

р) Oborot.cSoprDoc == PlStroy.NRec
= 450 Состояние строительства
= 451 Статус строительства
= 452 Состояние заявки строительства
= 453 План строительства
= 454 Объект строительства

c) Oborot.cSoprDoc == PlanVar.NRec
= 455 Вариант плана строительства

т) Oborot.cSoprDoc == RzDoc.NRec
= 901 Накладная на приход от поставщика
= 902 Накладная на приход с оптового склада
= 903 Акт дооценки
= 904 Акт инвентаризации излишков
= 905 Накладная на передачу из кассы
= 906 Накладная на возврат от покупателя в текущую смену
= 907 Накладная на возврат от покупателя после закрытия смены
= 908 Накладная на внутрирозничное перемещение
= 910 Документ по итогам стоимостной инвентаризации
= 911 Накладная на возврат поставщику
= 912 Накладная на возврат на оптовый склад
= 913 Акт уценки
= 914 Акт инвентаризации недостачи
= 915 Накладная на передачу в кассы
= 917 Акт на списание
= 918 ДО по накладной на реализацию по б/н расчету
= 919 Накладная на реализацию
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: И снова PAT-формы

Сообщение Maverick »

Таким образом
в вьюхе описываются одновременно в (( )) эти связки, либо для любителей Bounds - реализуется через баундсы (Я бы предпочел первый вариант).

Кроме того, из Oborot очень легко вытащить значение аналитики. Правда для этого нужно будет заюзать функции сервиса КАУ.
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: И снова PAT-формы

Сообщение Maverick »

Для этого
1) в проект добавляем первой строкой
#include ShowKau.vpp
2) Объявляем okInitKAU : boolean
3) в cmInit интерфейса нуна вставить таку каку:
OkInitKau := InitServKau;
If Not OkInitKau then
{
Message ('Ругаемся что низя инициализировать сервис КАУ, потому как не получилось');
Abort; //запрещаем инициализировать интерфейс, бо КАУ нету.
}
4) Если OkInitKau = true, то тогда можно смело юзать ф-ии сериса КАУ:
// Получить наименование КАУ
ShowKau(wKau,cKau);
// Получить строковое наименование сразу 3-х (6-ти) КАУ
ShowKauArray(wKauArray, cKauArray);

где -
wKau в нашем случае Oborot.TBLOS[1]...Oborot.TBLOS[6],
cKau - Oborot.KAUOS[1]...Oborot.KAUOS[6]
wKauArray, cKauArray - соответствующие массивы вышеперечисленных переменных.

5) в cmDone обязательно убираем за собой:
if OkInitKau then
{
DoneServKau;
OkInitKau := false;
};

.....

Воть...
Надя, если есть вопросы по реализации - в асю стучись )))
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: И снова PAT-формы

Сообщение hope »

Спасибо огромное ВСЕМ за помощь!!!!
Буду пытаться что-нибудь родить :)).

Денис! я именно эту книгу и пытаюсь сделать!
если возможно пришли свою книгу, плз!
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: И снова PAT-формы

Сообщение Deinis »

Маверик, а может знаешь, как получить системное КАУ по документу?
Например, формируешь ручную проводку к накладной по счету, на котором ведется аналитика по организациям, а организация сама подставляется. Часом нету таких функций у тебя в загашнике?
Может она называется как-нибудь так:
GetKau(wKAU , cSoprHoz)
где wKAU - № группы КАУ, а cSoprHoz - ссылка на разносимый SoprHoz.
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: И снова PAT-формы

Сообщение Deinis »

Надя, нету у меня книги. Я просто привел пример, как вытаскивать данные из БД по проводкам. Могу ответить на вопросы, возникающие при написании отчета (в пределах своих знаний) а готовой реализации "Книги доходов/расходов" по УСНО нету. Не ведем мы.
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: И снова PAT-формы

Сообщение Maverick »

2 Деинис
Не понял, честно говоря.... КАУ - оно на уровне СопрХоза не видно - только на уровне проводки/счета КАУ видно...

может быть конкретнее пояснишь?
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: И снова PAT-формы

Сообщение Maverick »

Т.е. можно кау глянуть
а) для проводок (в обороте)
б) для шаблонов проводок (в хозобор)
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: И снова PAT-формы

Сообщение Deinis »

А я хочу еще 3-й вариант сделать. Он ведь на самом деле уже должен быть как-то реализован в Галактике.
Я делаю такие действия.
На счете 62 в справочнике счетов указываю аналитику по Организациям. Пусть будет, для простоты - на 1-ом уровне.
Формирую накладную на отгрузку на организацию ООО "АСТОН". Иду в модуль ХозОперации - Разноска накладных на отгрузку, становлю курсор на свою накладную. В нижней панели (где проводки) нажимаю на клавишу F7 (создать проводку). Если я выбираю, например счет 01, где нету аналитики по организациям, мне придется выбирать аналитику вручную по клавише F3.
А если я выбрал счет 62, то сразу же заполняется 1-й уровень КАУ той организацией, которая указана в накладной.
Как это организовано в Галактике? Наверняка же есть соответствующая функция. Ведь то же самое можно сделать и в модуле ФРО. Создать платежку и если к ней формировать проводку (ручную), то организация из платежки автоматически перенесется в проводку, если проводка использует на одном из уровней КАУ по организациям. Конечно, эту организацию можно затем будет убрать, изменить и т.п. Но ведь как-то подставляются же эти значения автоматом? И в модуле ХозОперации, и в модуле ФРО, и в модуле Касса. И не только КАУ, но еще и подразделения из накладных. Хотя, подразделения - их можно считать теми же КАУ.
Как это реализовано? Какой функцией можно достучаться??? Не знаю :(
Ответить