|
1С: Предприятие 8.3.20 Создание взаимозачетов в отчете | ☑ | ||
---|---|---|---|---|
0
AndMix
11.02.23
✎
12:40
|
Здравствуйте, такая ситуация. Требуется сделать взаимозачет должников и кредиторов с их суммами долга. Всё это в внешнем отчете. Подскажите пожалуйста, как это сделать. Заранее благодарю.
|
|||
1
AndMix
11.02.23
✎
12:44
|
Вот фотография самого задания - https://imgur.com/a/M9NQXU1
|
|||
2
vis_tmp
11.02.23
✎
15:09
|
(0)Может, всё-таки, во внешней обработке?
|
|||
3
Мимохожий Однако
11.02.23
✎
15:25
|
(0) Надо открыть конфигуратор.
Далее Файл- Новый - внешний отчет и т.д. |
|||
4
AndMix
12.02.23
✎
00:44
|
(3) Это понятное дело, я имею ввиду, как сделать такой взаимозачет в отчете.
|
|||
5
AndMix
12.02.23
✎
00:44
|
(2) Не-а, задание в внешнем отчете
|
|||
6
Сергиус
12.02.23
✎
01:02
|
(0)Конфу самому что ли писать под это всё?
|
|||
7
AndMix
12.02.23
✎
04:18
|
(6) Нет, просто объяснить, как это можно сделать, не обязательно в подробностях, коротко и понятно
|
|||
8
Мимохожий Однако
12.02.23
✎
06:36
|
ОФФ: Беспредельная наивность
|
|||
9
Aleksey
12.02.23
✎
12:49
|
А кто нибудь понял как из таблицы 1 получить таблицу 2?
|
|||
10
Aleksey
12.02.23
✎
12:51
|
Ну вот 1 строка
Должник 1 кредитор 2 500 рублей Но встречных долгов нет, а в итоговой таблице сумма долга 100 рублей Либо это не взаимные требования а 3-сторонний зачет, либо я чего то не понимаю |
|||
11
Сергиус
12.02.23
✎
13:25
|
(10)Тоже интересно, как я понял ключевая фраза там "При этом надо постараться, найти такой вариант, чтобы сумма долгов всех участников была бы минимальной"
|
|||
12
CepeLLlka
12.02.23
✎
13:27
|
(6)В условии написано что нужно использовать каркасную конфигурацию.
|
|||
13
Сергиус
12.02.23
✎
13:27
|
+(11)[Либо это не взаимные требования а 3-сторонний зачет] Именно так и есть. Просто в теории, этих связей может быть сколько угодно, а по какому принципу их строить, с точки зрения минимализации долгов всех участников, и есть главный вопрос)
|
|||
14
Сергиус
12.02.23
✎
13:28
|
(12)это да, но думаю там ничего особенного не увидим.
|
|||
15
Aleksey
12.02.23
✎
13:57
|
(13) тогда Сашу нужно гнать санными тряпками из профессии, ибо в реальной жизни никто так не упрощает взаиморасчеты, тем более это по определению не зачет взаимных требований
|
|||
16
bolder
12.02.23
✎
14:07
|
(0) Интересная задача,действительно олимпиадного уровня.Хотя они там переборщили с условиями - в каркасной все таки понадобится создать документ и требуемый отчёт.
|
|||
17
bolder
12.02.23
✎
14:11
|
(16) Вот на решении подобных задач и стоит привлекать новичков в профессию.
|
|||
18
Aleksey
12.02.23
✎
14:21
|
(16) для кого? Для олимпиады по математики? Для новичков 1с-ников каков в ней практичный смысл? Что именно при решении этой задачи можно использовать в реальной жизни?
|
|||
19
AndMix
12.02.23
✎
14:24
|
(16) В каркасной присутствует документ НашиДолги и справочник с должниками
|
|||
20
АгентБезопасной Нацио
12.02.23
✎
14:35
|
(18) саму задачу и можно использовать в реальной жизни. правда, не новичку. В холдинговых структурах это обычная потребность. особенно в "мутных". Правда, там еще бывают усложнения типа разных валют, или срочных договоров.
(13) критерий простой - когда "больше нельзя ничего перезачесть". (0) Вообще-то, это олимпиадная задача. Ты хочешь выиграть олимпиаду за чужой счет? |
|||
21
АгентБезопасной Нацио
12.02.23
✎
14:41
|
Прикольно попробовать сделать это запросом. задачка для ildarovich'а
|
|||
22
Обработка
12.02.23
✎
14:47
|
Заголовок "1С: Предприятие 8.3.20" Можно дальше не читать.
|
|||
23
Злопчинский
12.02.23
✎
14:50
|
По идее - главное в этой задаче как раз алгоритм построения цепочек погашения. и причем как всегда - запросом!
Причем там есть существенная оговорака - итог взаиморасчетов чтобы остался прежним по каждому из участников. ибо без этой оговорки итог выглядел бы так, (а не так как в примере) 3-1 100 4-1 100 |
|||
24
АгентБезопасной Нацио
12.02.23
✎
14:57
|
(23) это легко. сложнее определить сумму, если цепочек зачетов несколько.
|
|||
25
АгентБезопасной Нацио
12.02.23
✎
14:58
|
+(24) но можно. вечером попрробую, если не лень будет
|
|||
26
Злопчинский
12.02.23
✎
15:02
|
(24) хз.. я вот навскидку не накидаю так чтобы по каждому сохранился баланс. надо думать.. ;-)
|
|||
27
RomanYS
12.02.23
✎
15:06
|
(23) нет никаких цепочек. Сворачиваешь всё долги по каждому, потом раскидываешь дебет на кредит как угодно, например по ФИФО
|
|||
28
RomanYS
12.02.23
✎
15:08
|
(21) если умеешь нарастающий итог считать и ФИФО в запросе, то никакой Ильдарович не нужен))
|
|||
29
RomanYS
12.02.23
✎
15:10
|
+(27) это кстати даже из примера видно: в результате возникли долги, которых во входной таблице не было
|
|||
30
AndMix
12.02.23
✎
15:18
|
(20) Нет конечно, хочется лишь научиться решать такие задачи, ведь в данный момент совершенно не понимаю как это можно сделать. Направление ясно, через запрос, но дальнейшее в тайне так сказать.
|
|||
31
Aleksey
12.02.23
✎
15:24
|
(30) перебор наше всё
|
|||
32
AndMix
12.02.23
✎
15:27
|
(31) Уже пробовал, не помогло)
|
|||
33
RomanYS
12.02.23
✎
15:33
|
(32)
1. Посчитать по каждому долг/дебет перед банком/общаком |
|||
34
Сергиус
12.02.23
✎
15:57
|
(28)Интересно посмотреть, как ты её через нарастающий итог будешь делать)
|
|||
35
RomanYS
12.02.23
✎
16:08
|
(34) Для фифо в запросе(того способа который я знаю) нарастающию итог нужен
|
|||
36
Сергиус
12.02.23
✎
16:14
|
(35)С чего ты взял, что там фифо? Судя по итоговой таблице, там главная задача - минимизировать долги ВСЕХ участников. ФИФО она тебе по максимуму спишет для первых, а для оставшихся шиш может быть..
|
|||
37
RomanYS
12.02.23
✎
16:17
|
Я не взял, это одни из способов распределения дебета на кредит. Можно пропорционально просто всё на всё раскидать, проще но таблица будет большая.
|
|||
38
RomanYS
12.02.23
✎
16:18
|
(36) >>а для оставшихся шиш может быть..
Не может, все долги внутренние, т.е. общая сумма 0. Хватит на всех. |
|||
39
mistеr
12.02.23
✎
16:35
|
(27) Тут нужно уточнить условия, можно ли выходить за границы транзитивных цепочек. В реальной жизни это нежелательно.
|
|||
40
RomanYS
12.02.23
✎
16:36
|
(39) что это? (29) видел?
|
|||
41
mistеr
12.02.23
✎
16:40
|
(40) Могут ли возникнуть отношения, которых не было даже через других участников.
|
|||
42
RomanYS
12.02.23
✎
16:51
|
(41) судя по примеру в задаче это не запрещено.
|
|||
43
mistеr
12.02.23
✎
17:03
|
(42) В примере как раз нет такого.
Берешь две независимые таблицы, объединяешь, вот и пример. |
|||
44
RomanYS
12.02.23
✎
17:08
|
(43) Теперь понял, что ты имел в виду под "даже через других участников". Это совсем другая задача на поиск "кластеров"
|
|||
45
АгентБезопасной Нацио
12.02.23
✎
17:43
|
(26) чтоб сохранился баланс - это просто. вспомни, например, 2-3 курс, схемотехнику, идеальные источники напряжения...
(28) нарастающий тут совершенно ни при чем. задача на другое. (27) есть цепочки (которые могут быть замкнутыми, например). И "долга перед общаком/банком" нет, ибо других контрагентов кроме перечисленных - нет. Ну и нет явно указанного условия, что кто-то может (или не может) выступить сторонним держателем долгов. Ибо если есть - тогда задача вообще решается более чем просто. (31) а ты не офигеешь при паре десятков предприятий? (42) но и не разрешено. (44) а никаких кластеров не нужно. |
|||
46
АгентБезопасной Нацио
12.02.23
✎
17:45
|
(30) "через запрос" - это не направление. Это всего лишь способ представления решения. Но не обязательно он будет самым лучшим, или даже вообще хорошим.
|
|||
47
RomanYS
12.02.23
✎
22:33
|
(37) тупой вариант "всё на все". Из очевидных минусов - суммы могут быть не кратны копейкам
|
|||
48
Злопчинский
12.02.23
✎
22:43
|
(47) все на все - результат будет другим...?
баланс долга по каждому клиенту должнен остаться без изменений. |
|||
49
Злопчинский
12.02.23
✎
22:44
|
а так задачка для размять мозги - вполне ничего считаю. как раз можно на собеседованиях на проверку давать ;-)
|
|||
50
RomanYS
12.02.23
✎
22:48
|
(48) баланс конечно сохранится. В данном примере результат будет такой
Должник Кредитор Сумма 01 02 112,5 01 04 37,5 03 02 37,5 03 04 12,5 |
|||
51
Злопчинский
12.02.23
✎
23:18
|
(50) Плохой результат. В исходном примере - результат решения задачи лучше. При ручной решалке получил тоже такой результат как в задании.
. Меня напрягли сразу копейки. |
|||
52
RomanYS
12.02.23
✎
23:28
|
это распределение в лоб, могли и например 1/7 копейки.
Чтобы подобие фифо изобразить запросом, большую простыню накидать надо) |
|||
53
Сергиус
12.02.23
✎
23:53
|
(50)Ваш вариант интересен, но решение немного не таким кажется..в задании более красивое)
|
|||
54
Злопчинский
13.02.23
✎
08:00
|
(52) вопрос не втом чтобы в лоб, а в том чтобы было минимально колво обязателств (по числу обязательств), грубо говоря - возиться с тремя проще, чем с четырьмя...
|
|||
55
RomanYS
13.02.23
✎
08:31
|
(53) Ничего интересного, просто решение)
(54) ФИФО годно решит такую задачу для коммерческих целей. А если такое условие жестко поставить (найти минимальное количество записей), то задача становится олимпиадной и без перебора имхо не обойтись |
|||
56
Мимохожий Однако
13.02.23
✎
10:47
|
Лицо 01 Лицо 02 150
Лицо 03 Лицо 04 50 |
|||
57
RomanYS
13.02.23
✎
11:12
|
(56) ага, "ФИФО" при сортировке по суммам вернуло бы именно такой результат. Но это очень удачный пример, в общем случае возврат самого оптимального не гарантирован.
|
|||
58
mistеr
13.02.23
✎
11:37
|
(0) Это задача со спеца?
Конфу скиньте кто-нибудь, если есть. |
|||
59
Мимохожий Однако
13.02.23
✎
13:05
|
(57) Фокус в том, что мой ответ не сошёлся с заданием
|
|||
60
Мимохожий Однако
13.02.23
✎
13:11
|
||||
61
Адинэснег
13.02.23
✎
13:12
|
(0) ну чо, взяли сеньором? или не проверяли еще?
|
|||
62
Доминошник
13.02.23
✎
13:33
|
(1) Просто ради интереса.
А почему в предложенном "конечном варианте" 3 строки 01 отдаёт 02 сумму 100 01 отдаёт 04 сумму 50 03 отдаёт 02 сумму = 50 а не 2 01 отдаёт 02 сумму 150 03 отдаёт 04 сумму 50 |
|||
63
DrZombi
гуру
13.02.23
✎
13:45
|
(0) Каркасную конфигурацию вам выдали, или вы так же все должны в ручном режиме выполнить? :)
|
|||
64
DrZombi
гуру
13.02.23
✎
13:50
|
(1) Сумма долга в первой таблице непонятно что показывает :)
Долг к чему?... Первый дал в долг 4-тому, четвёртый дал долг 2-му... ...А вы понимаете что суммировать обороты Дебита и кредита в один итог, неактуально? :)... ..Вторая таблица такая же :)... |
|||
65
mistеr
13.02.23
✎
13:56
|
(60) Спасибо
|
|||
66
RomanYS
13.02.23
✎
15:52
|
(59) Сошёлся. Общая сумма 200, как и в (50) например, а распределение может быть любое.
|
|||
67
RomanYS
13.02.23
✎
15:54
|
>> А вы понимаете что суммировать обороты Дебита и кредита в один итог, неактуально?
С чего вдруг, просуммировав обороты получишь сальдо. Только в данном условии уже даны сальдо. |
|||
68
Eiffil123
13.02.23
✎
17:37
|
(62) я не думаю, что задание подразумевает трехсторонний зачет. скорее только между двумя сторонами
|
|||
69
Eiffil123
13.02.23
✎
17:38
|
а, понял, это же олимпиадная задача. значит там всё что угодно может быть
|
|||
70
Aleksey
13.02.23
✎
18:13
|
(62) ИМХО по правилам сума долга должна быть минимальная. У тебя не минимальная
|
|||
71
RomanYS
13.02.23
✎
18:20
|
(70) минимальная. Везде 200.
|
|||
72
RomanYS
13.02.23
✎
18:22
|
(62) По условию нет цели найти оптимальное решение по количеству записей, только по общей сумме. Поэтому формально и (50) и (56) правильные ответы
|
|||
73
polosov
13.02.23
✎
18:24
|
А с чего благородные доны решили, что задачу надо решить запросом?
|
|||
74
RomanYS
13.02.23
✎
18:28
|
(73) Это предположение ТС. Если это экзамен на спеца, то за "ФИФО" запросом можно и огрести имхо.
|
|||
75
AndMix
14.02.23
✎
07:55
|
(61) Не, тут дело в том, что задание от учебного заведения :)
|
|||
76
AndMix
14.02.23
✎
07:56
|
(63) Выдали, там справочник и документ с данными, как на первом рисунке.
|
|||
77
AndMix
14.02.23
✎
07:58
|
(75) При том считается, что уровня Джуна
|
|||
78
Мимохожий Однако
14.02.23
✎
08:17
|
Насколько я понял, дело не в программировании, а в понимании логики нахождения ответа. Если понятна логика, то программирование действительно на уровне джуна
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |