Имя: Пароль:
1C
1C 7.7
v7: Ценные бумаги и FIFO
0 Julia Loukianova
 
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 таблицы значений: ТЗ продаж и под каждую ее строку ТЗ покупок сегодняшних и прошлых. Подобрав под продажу покупки пытаюсь откорректировать остатки в справочнике... а оно не стреляет
Читала тырнеты, там эти фифы-лифы вообще про регистры написано, а поскольку я чайник, никак не пойму что это, и чем лучше ТЗ-справочников для моей задачи?
387 Julia Loukianova
 
16.03.21
23:27
(385) если не могу сделать нормальное фифо так как оно должно быть, то и нефиг браться
388 Злопчинский
 
16.03.21
23:27
(384) ну да, это я и имел в виду.
389 Julia Loukianova
 
16.03.21
23:27
(386) то есть обработкой?
390 Злопчинский
 
16.03.21
23:28
(387) у тебя проблем н втом что ты "не можешь сжелать нормальное фифо". а втом что ты сзему данных для него в прицпие кривую построила
391 Злопчинский
 
16.03.21
23:29
покажи план счетов.
счета и аналитку на счетах, на котором отражается
1. закуп акций
2. продажа акций
3. финрезультат по транзакции продажи
392 Злопчинский
 
16.03.21
23:29
(389) зависит кто будет работать
имхо - обработкой проще будет делать
393 Julia Loukianova
 
16.03.21
23:30
(390) да работает схема то! прикинь - даже на моих кривых справочниках! ))) за исключением тех граблей, что я выше написала. ))) Ну все равно завтра менять все буду
394 Злопчинский
 
16.03.21
23:30
тем более есть каркас готовый
395 Julia Loukianova
 
16.03.21
23:30
(391) секунду
396 Злопчинский
 
16.03.21
23:31
(393) ага жду.
397 Злопчинский
 
16.03.21
23:31
если есть удаленка или тим или анидеск- лучше вживую показать
398 Злопчинский
 
16.03.21
23:33
Возможностей БУ достаточно стобы сделать то что тебе надо - а) просто б) исключительно на субконто счетах и проводках в) при этом никаких сумм хранить в справочниках не надо
399 Злопчинский
 
16.03.21
23:35
Причем даже не надо в справочника никких построений и запоминаний какие продажи к каким закупам относятся. это все вытягиается достаточн тривиальными отчетами при правильно схеме счетов и субконто.
400 Злопчинский
 
16.03.21
23:36
"это все вытягиается достаточн тривиальными отчетами при правильно схеме счетов и субконто"
- если надо ПОСМОТРЕТЬ или сверить/выверить
401 Julia Loukianova
 
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
тут мне нифига непонятно
403 Julia Loukianova
 
16.03.21
23:39
(401) еще
PL      Brokers     Shares
404 Злопчинский
 
16.03.21
23:39
;-)
405 Злопчинский
 
16.03.21
23:40
на каком счете отражается закуп акций?
406 Julia Loukianova
 
16.03.21
23:43
(402) Bank - это все банковские счета по валютам и банкам (в реальности у меня их всего 2)
Brok - то же самое но брокерские счета
Shares - эта счета акций по брокерам, акциям и транзакциям покупок
Taxes - налоги, резидента, нерезидента и с дивидендов
Fees - комиссии по видам
PL - профит-лосс прибыль убыток по брокерам и акциям
407 Злопчинский
 
16.03.21
23:44
(406) а где транзакции по продажам?
408 Julia Loukianova
 
16.03.21
23:44
(405) закуп акций Дт Shares Кт Brok, продажа наоборот
409 Злопчинский
 
16.03.21
23:45
пару мин, думаю
410 Julia Loukianova
 
16.03.21
23:46
(407) они в содержании проводки, экономически они не нужны мне для выбытия нужны только транзакции закупов
411 Злопчинский
 
16.03.21
23:46
на счете Shares - аналитка "Shares" - что указываетяс в этой аналитике?
412 Julia Loukianova
 
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 - это то что я думаю. а именно документ транзакции купли или продажи - то могу сказать сразу - на таком плане счетов ты нормальное партионку/фифо не сделаешь.
417 Julia Loukianova
 
16.03.21
23:55
(413) например покупка 7x акций  IBM по 122.00 USD:
Дт Shares.USD / Saxobank / IBM / ID2977745230
Кт Brokers    / Saxobank
854.00 USD
418 Julia Loukianova
 
16.03.21
23:55
(415) да
419 Julia Loukianova
 
16.03.21
23:55
(416) почему?
420 Злопчинский
 
16.03.21
23:56
(419) Потому что на нем недостатчоно структур данных чтобы сделать партионку/ффо - поэтому ты начинаешь городить костыли со справочниками хранением сумм в них.
421 Злопчинский
 
16.03.21
23:57
Счет SHARES - оборотный или остатков? (думаю вопрос понятен), полагаю что остатков
422 Julia Loukianova
 
16.03.21
23:57
(420) да, наверно. завтра регистры попробую
423 Julia Loukianova
 
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 - УБИРАЕШЬ ВООБЩЕ (попутно подумай - что ты хочешь увидеть на остатках в разрезе документа продажи).
427 Julia Loukianova
 
17.03.21
00:00
(413) это элемент справочника в котором записаны все данные о транзакции - дата, время, колво, едцена...
428 Julia Loukianova
 
17.03.21
00:00
(426) а как я пулы покупок подбирать буду?
429 Злопчинский
 
17.03.21
00:02
Прибыль-убыток по транзакции - тебя не инересуют? интересуют только по Брокерам и эмитентам?
430 Julia Loukianova
 
17.03.21
00:02
(424) тыбудешь смеяться - но в наших нидерландах вся бухгалтерия в 9 из 10 предприятиях ведется в экселе, только продвинутые ведут в чем то типа Access )))))
431 Злопчинский
 
17.03.21
00:02
3. на счете Shares третьим субконто делаешь документ-транзакцию ЗАКУПА АКЦИЙ
432 Julia Loukianova
 
17.03.21
00:03
(429) интересует конечно же
433 Julia Loukianova
 
17.03.21
00:03
(431) это оно и есть
434 Julia Loukianova
 
17.03.21
00:03
(431) по сути там только транзакции по закупу
435 Злопчинский
 
17.03.21
00:04
431 противоречит 427
436 Julia Loukianova
 
17.03.21
00:06
(435) нет это только транзакции покупок, продажи туда не попадают - их айдишки идут только в содержании проводки
437 Злопчинский
 
17.03.21
00:06
в 427 упомянуты транзакции без детализации. а значит и покупки и продажи. Теперь ты говоришь что там только транзакции по закупу
438 Злопчинский
 
17.03.21
00:06
(436) ага, тгда уже лучше, сек
439 Julia Loukianova
 
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 - УБИРАЕШЬ ВООБЩЕ (попутно подумай - что ты хочешь увидеть на остатках в разрезе документа продажи)." - аннулируется
443 Julia Loukianova
 
17.03.21
00:11
(440) да, из каждой транзакции агрегируются отдельно прибыли и убытки потом схлопываются по акции, аналогично в целом по портфелю (брокеру)
444 Злопчинский
 
17.03.21
00:11
Вообще-то лучше на Shares аналитику Transqactiob имхо переименовать. вводит в заблуждение. ибо и покупка = транзакция и продажа = транзакция. лучше назвать как-то типа "Партия" или как у вас приянто
445 Злопчинский
 
17.03.21
00:13
(443) если тебя интересуют прибыли-убытк по пулам акций (закупам) - то почему ты их схлопываешь до Брокера-Эмитента...? получается что ты итог финасновый по пулу купленных акций не увидишь...
446 Julia Loukianova
 
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
Итого. то что вижу я.
на данном плане счетом как миниум можно построить нормальную партионку фифо. хранения сумм и вской хрени в справочниках для вчисления партионки и итогов - нафиг гне надо, для этого достаточно штатных средств плана счетов и бухкомпонентов.
.
ВСЕ
450 Julia Loukianova
 
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
451 Julia Loukianova
 
17.03.21
00:20
(450) опечатка - в транзакции 5 тоже VISA
452 Злопчинский
 
17.03.21
00:20
При проведении транзакции ПОКУПКИ
1. формируем проводку Shares-Brok? с аналитикой = "ДокументЗакупа" (это может быт сам этот же документ который и делает эту проводку - в этом документе-транзакции покупки хранитяс вся инфа о ранзакции покупки, можно сделать эту аналитику элементом справочника где будет хранится аналогичная информация, но имхо это лишнее) - итого: я бы сделал эту аналитику "Документом-транзакцией ПОКУПКИ" - выкинуть нафиг лишний геморрой со справочником транзакций.
453 Julia Loukianova
 
17.03.21
00:21
(447) да все правильно
454 Julia Loukianova
 
17.03.21
00:21
(452) ты имеешь ввиду, что субконто вида документ?
455 Julia Loukianova
 
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
Все, никаких справочников с суммами и прочей костыльной хренью
458 Julia Loukianova
 
17.03.21
00:27
(456) ок спасибо, завтра ваять буду сегодня день дурной
459 Злопчинский
 
17.03.21
00:27
Подчиненность "закуп-продажи" при необходимости можно собирать отчетом без привлечения допсправочников
460 Julia Loukianova
 
17.03.21
00:28
(457) как сделаю готовый код выложу
461 Злопчинский
 
17.03.21
00:28
(454) да, у тебя в этом документ и так вся инфа по транзакции - дата, время, колво, цена, примечания всчякие. тем более этот документ уже есть в ситеме.
462 Злопчинский
 
17.03.21
00:29
(455) если он не проведен - он все равно УЖЕ ЗАПИСАН И СУЩЕСТВУЕТ. подставляешь его в анлитику и все, Прост пишешь типа
Shares.Субконто3 = ТекущийДокумент();
463 Julia Loukianova
 
17.03.21
00:30
(462) ок, не знала
464 Злопчинский
 
17.03.21
00:31
Как сделано группировка документов-транзакций обработкой - возьми типовую российскую ТИС -  обработка "Банковская выписка" - сдерешь оттуда костяк, а заполнение напишешь исходя из соего контекста
465 Злопчинский
 
17.03.21
00:33
закуп акций у брокера - сумма и стоимость акций на Shares лежит, а денежки за это в расход куда падают?
466 Julia Loukianova
 
17.03.21
00:33
(464) попробую, если разберусь - я когда перегруженные коды из типовых читаю к меня мозг закипает -самой проще написать чем вникнуть
467 Julia Loukianova
 
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) я пока с трудом представляю ка кна этом плане счетов ты замкнутый двойную запись держишь, где пассив=актив
472 Julia Loukianova
 
17.03.21
00:36
(468) а в этом смысле.
Да изначально деньги вводятся на Дт Брокерский Кт Банк,
при покупке акций Дт Акции, Кт Брокерский и Дт Комиссия Кт Брокерский
при продаже Дт Брокерский Кт Акции и Дт Комиссия Кт Брокерский
473 Julia Loukianova
 
17.03.21
00:39
(471) ну и прибыль проводится  как сальдо по счету Акции в корреспонденции с Прибыли-Убытки то есть либо Дт Акции Кт ПУ либо -наоборот
474 Злопчинский
 
17.03.21
00:40
ага.
в итоге -написать твой учет "акций" на БУ - даже мне, который бухию последнйи раз лет 65-6 назад активно лазил - ну день-два чтобы аккуртано и вспомнить... ;-)
пока все. успехов.
читай про как получить БухИтоги и как с ним работать. это все что тебе надо чтобы нарисовать твое "фифо"
475 Julia Loukianova
 
17.03.21
00:40
(474) спасибо, завтра буду делать
476 Злопчинский
 
17.03.21
00:41
(473) это понятно. выше я писал про 3 субконто на PL - я так и не поняд интересуют тебя итоги по конкретному пулу акций купленных или нет...
477 Julia Loukianova
 
17.03.21
00:43
(469) ты сравнил "мама мыла раму" с кодом по какому нибудь отчету типа анализ счета по субконто ))) там 900 строк у меня перегруз случается
478 Julia Loukianova
 
17.03.21
00:44
(476) на PL да з там 3 субконто у меня просто не скопировалось
479 Julia Loukianova
 
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
и что, бляха муха интересно, нигде цена не фигурирует, и при этом все точно.
484 Julia Loukianova
 
18.03.21
09:12
Опять затык: Из документа Брокерский отчет (пока решила его оставить в качестве экранной формы) делаю документы на транзакции. Для этого использую процедуру например:
СоздатьДокПокупки(ПеречислениеБрокеры, СпрАкций, Цена, Колво)
Так вот переменные которые задаются справочниками либо числовыми-текстовывми значениями нормально проходят, а перечисление - не хочет, пробовала по всякому: Переменная = Перечисление.Вид.Значение и без переменной - не видит его процедура и все тут... что не так?
485 Julia Loukianova
 
18.03.21
09:15
(484) на вопрос "нафига ты брокеров в перечисление загнала?" у меня есть свой резон...
тем не менее, в данный момент меня интересует как значение перечисления передать процедуре?
486 Julia Loukianova
 
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