Вход | Регистрация
    1  2  3  4  5
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Ценные бумаги и FIFO

v7: Ценные бумаги и FIFO
Я
   JuliaLoukianova
 
15.03.21 - 22:08
Вопрос: что не так в коде? почему не перезаписывается элемент справочника, после того как я его записываю? По отладчику все проходит - в условие заходит.

TransactionReference = CreateObject("Reference.Transaction");
...
Buys.Rest = Buys.Rest - Sales.Rest;
TransactionReference.UseOwner(Sales.Ticker);
TransactionReference.SelectItems();
TransactionReference.FindByCode(Buys.TransactionID.Код);
If TransactionReference.Selected() = 1 Then
    TransactionReference.Rest = Buys.Rest;
    TransactionReference.Write();
EndIf;

Пишу конфу себе лично для учета ценных бумаг, никак не могу это фифо одолеть.
Как я делаю: в документ "брокерский отчет" загружаю и распознаю данные по ценным бумагам и транзакции по ним (продажи и покупки). Записываю справочник по эмитентам и подчиненный справочник по покупкам - типа партионный учет (далее покупка акции будет отражена по 3 субконто: Брокер, Акция, Номер сделки) с этим всем проблем не возникло. Сломалась я на подборе: поскольку покупки и продажи по одной бумаге могут быть в течении дня (внутри одного брокерского отчета) одними бухитогами не обойдешься. я создаю 2 таблицы значений: ТЗ продаж и под каждую ее строку ТЗ покупок сегодняшних и прошлых. Подобрав под продажу покупки пытаюсь откорректировать остатки в справочнике... а оно не стреляет
Читала тырнеты, там эти фифы-лифы вообще про регистры написано, а поскольку я чайник, никак не пойму что это, и чем лучше ТЗ-справочников для моей задачи?
   JuliaLoukianova
 
401 - 16.03.21 - 23:38
(396)
BANK                BankAcc
BANK.EUR            BankAcc
BANK.USD            BankAcc
BROKER                Brokers
BROKER.EUR             Brokers
BROKER.USD            Brokers
FEES                Brokers        Fees
SHARES                Brokers        Shares        Transactions
SHARES.EUR            Brokers        Shares        Transactions
SHARES.USD            Brokers        Shares        Transactions
TAXES
TAXES.DIV            Brokers
TAXES.NRES
TAXES.RES
   Злопчинский
 
402 - 16.03.21 - 23:39
тут мне нифига непонятно
   JuliaLoukianova
 
403 - 16.03.21 - 23:39
(401) еще
PL      Brokers     Shares
   Злопчинский
 
404 - 16.03.21 - 23:39
;-)
   Злопчинский
 
405 - 16.03.21 - 23:40
на каком счете отражается закуп акций?
   JuliaLoukianova
 
406 - 16.03.21 - 23:43
(402) Bank - это все банковские счета по валютам и банкам (в реальности у меня их всего 2)
Brok - то же самое но брокерские счета
Shares - эта счета акций по брокерам, акциям и транзакциям покупок
Taxes - налоги, резидента, нерезидента и с дивидендов
Fees - комиссии по видам
PL - профит-лосс прибыль убыток по брокерам и акциям
   Злопчинский
 
407 - 16.03.21 - 23:44
(406) а где транзакции по продажам?
   JuliaLoukianova
 
408 - 16.03.21 - 23:44
(405) закуп акций Дт Shares Кт Brok, продажа наоборот
   Злопчинский
 
409 - 16.03.21 - 23:45
пару мин, думаю
   JuliaLoukianova
 
410 - 16.03.21 - 23:46
(407) они в содержании проводки, экономически они не нужны мне для выбытия нужны только транзакции закупов
   Злопчинский
 
411 - 16.03.21 - 23:46
на счете Shares - аналитка "Shares" - что указываетяс в этой аналитике?
   JuliaLoukianova
 
412 - 16.03.21 - 23:47
(411) акции Майкрософт, Форд, Тесла...
   Злопчинский
 
413 - 16.03.21 - 23:48
(412) Поянл
на счете Shares - аналитка "Transaction" - что указывается в этой аналитике в проводке?
   Злопчинский
 
414 - 16.03.21 - 23:50
PL - профит-лосс прибыль убыток по брокерам и акциям
- профит-лосс - это прибыль-убыток как я понимаю
   Злопчинский
 
415 - 16.03.21 - 23:50
(412) "акции Майкрософт, Форд, Тесла..."
- указываются ЭМИТЕНТЫ - те кто выпустил акции на рынок?
   Злопчинский
 
416 - 16.03.21 - 23:53
ключевой ответ - в 9413) - если Transaction - это то что я думаю. а именно документ транзакции купли или продажи - то могу сказать сразу - на таком плане счетов ты нормальное партионку/фифо не сделаешь.
   JuliaLoukianova
 
417 - 16.03.21 - 23:55
(413) например покупка 7x акций  IBM по 122.00 USD:
Дт Shares.USD / Saxobank / IBM / ID2977745230
Кт Brokers    / Saxobank 
854.00 USD
   JuliaLoukianova
 
418 - 16.03.21 - 23:55
(415) да
   JuliaLoukianova
 
419 - 16.03.21 - 23:55
(416) почему?
   Злопчинский
 
420 - 16.03.21 - 23:56
(419) Потому что на нем недостатчоно структур данных чтобы сделать партионку/ффо - поэтому ты начинаешь городить костыли со справочниками хранением сумм в них.
   Злопчинский
 
421 - 16.03.21 - 23:57
Счет SHARES - оборотный или остатков? (думаю вопрос понятен), полагаю что остатков
   JuliaLoukianova
 
422 - 16.03.21 - 23:57
(420) да, наверно. завтра регистры попробую
   JuliaLoukianova
 
423 - 16.03.21 - 23:58
(421) активный по нему меня остатки интерессуют прежде всего
   Злопчинский
 
424 - 16.03.21 - 23:58
я не знаю как принято в ваших нидерландах смотреть вести учет, но то что нарисовано - это какой-то адский эксель, причем недостаточный
   Злопчинский
 
425 - 16.03.21 - 23:58
(422) не надо!
   Злопчинский
 
426 - 17.03.21 - 00:00
(423) смотри что делаешь
1. делешь на бУ
2. счета оставляешь ка кесть
на счете SHARES - аналитику Transaction - УБИРАЕШЬ ВООБЩЕ (попутно подумай - что ты хочешь увидеть на остатках в разрезе документа продажи).
   JuliaLoukianova
 
427 - 17.03.21 - 00:00
(413) это элемент справочника в котором записаны все данные о транзакции - дата, время, колво, едцена...
   JuliaLoukianova
 
428 - 17.03.21 - 00:00
(426) а как я пулы покупок подбирать буду?
   Злопчинский
 
429 - 17.03.21 - 00:02
Прибыль-убыток по транзакции - тебя не инересуют? интересуют только по Брокерам и эмитентам?
   JuliaLoukianova
 
430 - 17.03.21 - 00:02
(424) тыбудешь смеяться - но в наших нидерландах вся бухгалтерия в 9 из 10 предприятиях ведется в экселе, только продвинутые ведут в чем то типа Access )))))
 
 Рекламное место пустует
   Злопчинский
 
431 - 17.03.21 - 00:02
3. на счете Shares третьим субконто делаешь документ-транзакцию ЗАКУПА АКЦИЙ
   JuliaLoukianova
 
432 - 17.03.21 - 00:03
(429) интересует конечно же
   JuliaLoukianova
 
433 - 17.03.21 - 00:03
(431) это оно и есть
   JuliaLoukianova
 
434 - 17.03.21 - 00:03
(431) по сути там только транзакции по закупу
   Злопчинский
 
435 - 17.03.21 - 00:04
431 противоречит 427
   JuliaLoukianova
 
436 - 17.03.21 - 00:06
(435) нет это только транзакции покупок, продажи туда не попадают - их айдишки идут только в содержании проводки
   Злопчинский
 
437 - 17.03.21 - 00:06
в 427 упомянуты транзакции без детализации. а значит и покупки и продажи. Теперь ты говоришь что там только транзакции по закупу
   Злопчинский
 
438 - 17.03.21 - 00:06
(436) ага, тгда уже лучше, сек
   JuliaLoukianova
 
439 - 17.03.21 - 00:06
(437) прости, не уточнила
   Злопчинский
 
440 - 17.03.21 - 00:09
так. еще раз уточним - тебя интересует профит-лосс в разрезе пулов акций (закупов)..?
   Злопчинский
 
441 - 17.03.21 - 00:10
PL счет -  оборотный?
   Злопчинский
 
442 - 17.03.21 - 00:10
(426) в связи с уточнениями фраза "на счете SHARES - аналитику Transaction - УБИРАЕШЬ ВООБЩЕ (попутно подумай - что ты хочешь увидеть на остатках в разрезе документа продажи)." - аннулируется
   JuliaLoukianova
 
443 - 17.03.21 - 00:11
(440) да, из каждой транзакции агрегируются отдельно прибыли и убытки потом схлопываются по акции, аналогично в целом по портфелю (брокеру)
   Злопчинский
 
444 - 17.03.21 - 00:11
Вообще-то лучше на Shares аналитику Transqactiob имхо переименовать. вводит в заблуждение. ибо и покупка = транзакция и продажа = транзакция. лучше назвать как-то типа "Партия" или как у вас приянто
   Злопчинский
 
445 - 17.03.21 - 00:13
(443) если тебя интересуют прибыли-убытк по пулам акций (закупам) - то почему ты их схлопываешь до Брокера-Эмитента...? получается что ты итог финасновый по пулу купленных акций не увидишь...
   JuliaLoukianova
 
446 - 17.03.21 - 00:13
(444) ну да, просто в партии может быть много членов, а тут в одной транзакции только одна сделка по одной бумаге по одной цене только количество разное может быть
   Злопчинский
 
447 - 17.03.21 - 00:15
(446) "Партия" - это ттранзакция, ты купила 1000 акций на 5000уе. - это партия. начинаешь распродавать. если тебя интересует ссколько ты ЗАРАБОТАЛА ИМЕННО НА ЭТОЙ ПАРТИИ АКЦИЙ - то данных у тебя недостаточно на анлитике.
   Злопчинский
 
448 - 17.03.21 - 00:16
"тебя интересует" - это значит не "вычислить для проводки", а посмотреть итог в любой момент времени
   Злопчинский
 
449 - 17.03.21 - 00:18
Итого. то что вижу я.
на данном плане счетом как миниум можно построить нормальную партионку фифо. хранения сумм и вской хрени в справочниках для вчисления партионки и итогов - нафиг гне надо, для этого достаточно штатных средств плана счетов и бухкомпонентов.
.
ВСЕ
   JuliaLoukianova
 
450 - 17.03.21 - 00:19
(445) увижу:
например

Транзакция 1. IBM купила на 1000 продала на 1100 прибыль +100
Транзакция 2. IBM купила на 2000 продала на 1950 убыток -50 
Итого по акции +50

Транзакция 3. VISA купила на 1000 продала на 1200 прибыль +200
Транзакция 4. VISA купила на 1000 продала на 850 убыток -150
Транзакция 5. IBM купила на 3000 продала на 3300 прибыль +300 
Итого по акции +350

Итого по портфелю +400
   JuliaLoukianova
 
451 - 17.03.21 - 00:20
(450) опечатка - в транзакции 5 тоже VISA
   Злопчинский
 
452 - 17.03.21 - 00:20
При проведении транзакции ПОКУПКИ
1. формируем проводку Shares-Brok? с аналитикой = "ДокументЗакупа" (это может быт сам этот же документ который и делает эту проводку - в этом документе-транзакции покупки хранитяс вся инфа о ранзакции покупки, можно сделать эту аналитику элементом справочника где будет хранится аналогичная информация, но имхо это лишнее) - итого: я бы сделал эту аналитику "Документом-транзакцией ПОКУПКИ" - выкинуть нафиг лишний геморрой со справочником транзакций.
   JuliaLoukianova
 
453 - 17.03.21 - 00:21
(447) да все правильно
   JuliaLoukianova
 
454 - 17.03.21 - 00:21
(452) ты имеешь ввиду, что субконто вида документ?
   JuliaLoukianova
 
455 - 17.03.21 - 00:23
(452) это может быт сам этот же документ который и делает эту проводку
это то то типа циклической ссылки получится как я на него сошлюсь в аналитике если он еще не проведен?
   Злопчинский
 
456 - 17.03.21 - 00:26
2. BROK-Shares - продажа акций - проводка делается документом-транзакцтией продажи.
Проведение документа:
а) ПОЛУЧИТЬ ОСТАТКИ ПО SHARES до разреза "ДОКУМЕНТА-ТРАНЗАКЦИИ ЗАКУПА" - бухитоги тебе вернут готовую "табличку" сколько остатков (сумма, количество) у тебя на данный момент на остатке закупленных акций
б) по этой табличке распределить сумму продажи и записать в проводки с аналитикой документ-закупа (ид транзаеции продажи в содержание проводки как у тебя, тем более что эта провдка штатно к самой продаже привязанабудет)
в) паралельно с б) считаем по каждой паре продаж-закуп профит-лосс и кидаем проводкой на PL, на PL агрегируется до Эмитента, если надо пордробнее - то делаешь на Pl аналитику "документ закупа"
.
все.
на счетах учета акций SHARES - обычно штатно - учет по количеству и по сумме в разрезе каждой аналитики, каждая аналитика - остаточная
   Злопчинский
 
457 - 17.03.21 - 00:27
Все, никаких справочников с суммами и прочей костыльной хренью
   JuliaLoukianova
 
458 - 17.03.21 - 00:27
(456) ок спасибо, завтра ваять буду сегодня день дурной
   Злопчинский
 
459 - 17.03.21 - 00:27
Подчиненность "закуп-продажи" при необходимости можно собирать отчетом без привлечения допсправочников
   JuliaLoukianova
 
460 - 17.03.21 - 00:28
(457) как сделаю готовый код выложу
 
 Рекламное место пустует
   Злопчинский
 
461 - 17.03.21 - 00:28
(454) да, у тебя в этом документ и так вся инфа по транзакции - дата, время, колво, цена, примечания всчякие. тем более этот документ уже есть в ситеме.
   Злопчинский
 
462 - 17.03.21 - 00:29
(455) если он не проведен - он все равно УЖЕ ЗАПИСАН И СУЩЕСТВУЕТ. подставляешь его в анлитику и все, Прост пишешь типа
Shares.Субконто3 = ТекущийДокумент();
   JuliaLoukianova
 
463 - 17.03.21 - 00:30
(462) ок, не знала
   Злопчинский
 
464 - 17.03.21 - 00:31
Как сделано группировка документов-транзакций обработкой - возьми типовую российскую ТИС -  обработка "Банковская выписка" - сдерешь оттуда костяк, а заполнение напишешь исходя из соего контекста
   Злопчинский
 
465 - 17.03.21 - 00:33
закуп акций у брокера - сумма и стоимость акций на Shares лежит, а денежки за это в расход куда падают?
   JuliaLoukianova
 
466 - 17.03.21 - 00:33
(464) попробую, если разберусь - я когда перегруженные коды из типовых читаю к меня мозг закипает -самой проще написать чем вникнуть
   JuliaLoukianova
 
467 - 17.03.21 - 00:34
(465) физически? брокер их на биржу перечисляет, но это не предмет нашего учета
   Злопчинский
 
468 - 17.03.21 - 00:34
Broker с Bank по деньгам корреспондирует?
   Злопчинский
 
469 - 17.03.21 - 00:34
(466) ну ты же когда учишься читать - ты читаешь в букваре то что другие написали. а не начинаешь сама писать. а здесь почему наоборот? ;-)
   Злопчинский
 
470 - 17.03.21 - 00:35
Российская ТС вмесьма вменяемая конфа по концепции и понятности кода. и как раз читать надо ее.
и типовую бухию - аналогично
   Злопчинский
 
471 - 17.03.21 - 00:36
(467) я пока с трудом представляю ка кна этом плане счетов ты замкнутый двойную запись держишь, где пассив=актив
   JuliaLoukianova
 
472 - 17.03.21 - 00:36
(468) а в этом смысле.
Да изначально деньги вводятся на Дт Брокерский Кт Банк,
при покупке акций Дт Акции, Кт Брокерский и Дт Комиссия Кт Брокерский
при продаже Дт Брокерский Кт Акции и Дт Комиссия Кт Брокерский
   JuliaLoukianova
 
473 - 17.03.21 - 00:39
(471) ну и прибыль проводится  как сальдо по счету Акции в корреспонденции с Прибыли-Убытки то есть либо Дт Акции Кт ПУ либо -наоборот
   Злопчинский
 
474 - 17.03.21 - 00:40
ага.
в итоге -написать твой учет "акций" на БУ - даже мне, который бухию последнйи раз лет 65-6 назад активно лазил - ну день-два чтобы аккуртано и вспомнить... ;-)
пока все. успехов.
читай про как получить БухИтоги и как с ним работать. это все что тебе надо чтобы нарисовать твое "фифо"
   JuliaLoukianova
 
475 - 17.03.21 - 00:40
(474) спасибо, завтра буду делать
   Злопчинский
 
476 - 17.03.21 - 00:41
(473) это понятно. выше я писал про 3 субконто на PL - я так и не поняд интересуют тебя итоги по конкретному пулу акций купленных или нет...
   JuliaLoukianova
 
477 - 17.03.21 - 00:43
(469) ты сравнил "мама мыла раму" с кодом по какому нибудь отчету типа анализ счета по субконто ))) там 900 строк у меня перегруз случается
   JuliaLoukianova
 
478 - 17.03.21 - 00:44
(476) на PL да з там 3 субконто у меня просто не скопировалось
   JuliaLoukianova
 
479 - 17.03.21 - 00:46
(478) эту проводку можно делать по каждой продаже - вот тут как раз и нужны ед.цены
   Злопчинский
 
480 - 17.03.21 - 00:58
(479) не нужны!!! то есть вообще!!!
делаешь фифо
имеешь
АкцииЗакуп1, сумма = 5000, количество = 300.

транзакция продажа = 100 акций, на сумму 4568, начинаешь распределять по фифо. берешь первый остаток
300 - ага, списываем 100 штук. какая сумма будет списана с Акциизакуп1 по фифо?
Суммаксписанию = 5000*100/300 = 1666.66666667 (точность - с какой у вас принято считать).

итого для сдедующей продаже у тея в Акциизакуп1 останется
5000-1666.67 = 3333.33 на 200 штук.
Профит-лосс на PL = 4568(продажа)-1666.67(закуп) = 2901.33(профит)

.
всё.
   Злопчинский
 
481 - 17.03.21 - 00:59
пишешь эти суммы и количества в проводки.
все.
   Злопчинский
 
482 - 17.03.21 - 01:02
итого документ-транзакция у тебя делает два вида проводок
broker shares 1666,67 на 100шт
PL shares 2901.33
(ну и проводки по комиссии, налогам если надо по каждой операции)
   Злопчинский
 
483 - 17.03.21 - 01:04
и что, бляха муха интересно, нигде цена не фигурирует, и при этом все точно.
   JuliaLoukianova
 
484 - 18.03.21 - 09:12
Опять затык: Из документа Брокерский отчет (пока решила его оставить в качестве экранной формы) делаю документы на транзакции. Для этого использую процедуру например:
СоздатьДокПокупки(ПеречислениеБрокеры, СпрАкций, Цена, Колво)
Так вот переменные которые задаются справочниками либо числовыми-текстовывми значениями нормально проходят, а перечисление - не хочет, пробовала по всякому: Переменная = Перечисление.Вид.Значение и без переменной - не видит его процедура и все тут... что не так?
   JuliaLoukianova
 
485 - 18.03.21 - 09:15
(484) на вопрос "нафига ты брокеров в перечисление загнала?" у меня есть свой резон...
тем не менее, в данный момент меня интересует как значение перечисления передать процедуре?
   JuliaLoukianova
 
486 - 18.03.21 - 10:05
(484) с этим разобралась, дура невнимательная

Другой вопрос - не воспринимается время документа. Делаю в процедуре:

BuyDoc.Новый();
Time = СокрЛП(Time);
DocHour                =   Число(Сред(Time, 1 ,2)); 
DocMin                =   Число(Сред(Time, 4 ,2));
DocSec                 =   Число(Сред(Time, 7 ,2));
BuyDoc.УстановитьВремя(DocHour , DocMin , DocSec);
...
BuyDoc.Записать();

на выходе все равно создает документ в 12:00:00
  1  2  3  4  5

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.