Имя: Пароль:
1C
 
Хранение и поиск условно-временной информации о продажах в файле
,
0 e053nk
 
03.01.22
12:44
После свертки базы данных (АльфаАвто) возникла задач получения оборота продаж в свернутом периоде для составления плана закупок. Старая база -будет недоступна.Через год, полтора эта информация будет не нужна, поэтому хранить в базе данных -не вижу смысла.  Поэтому  возник вариант выгрузки оборотов продаж в промежуточный файл. Формат хранения данных примерно такой : Товар-месяц продажи(-возможно склад/подразделение). Данные берутся только по количеству. Хранить предполагаю нарастающим итогом, в обратном порядке от даты свертки. Данных скорее всего будет много,примерно 30000 товаров*24 (за два последних года)=примерно 720000,это без учета аналитики складов (но от не скорее всего откажутся). Доступ к данным нужен произвольный, т.е  не по всему массиву ,а только по текущему набору товаров. Их может быть единицы,а может и сотни. Рассматриваю хранение либо вXML либо в Json. Но если у XMLвроде как есть механизм xpath , то у JSON вообще не знаю существует что то подобное. Да и сам xpath  я не разу не использовал-всегда приходилось считывать полностью файл данных. Вопросы: 1. какие варианты есть для произвольного поиска  данных в файле XML либо в Json. 2.Насколько это "тормознуто" работает. 3.Есть другие варианты получения информации-не имея доступа к исходной базе и не загружая весь массив данных в текущую базу? Внешние источники данных из 1с  -не используем, конфигурация относительно типовая
1 2S
 
03.01.22
12:48
РН в расширение
2 Aleksey
 
03.01.22
12:50
(1) РС же, зачем тут РН?
3 Aleksey
 
03.01.22
12:51
Ну или ВИД, с табличкой на скуле
4 e053nk
 
03.01.22
12:52
АЛьф Авто с расширениями не работает
5 acht
 
03.01.22
12:54
(0) > Через год, полтора эта информация будет не нужна, поэтому хранить в базе данных -не вижу смысла

Ну и неумный человек. Размера там копейки, зато никаких проблем с правами/бэкапами/обменами. Сам себе проблемы создадешь.
6 acht
 
03.01.22
12:55
(4) > с расширениями не работает
Серьезно?
7 2S
 
03.01.22
12:57
(2) для итогов, раз есть разрезы, явно нужны суммы
(5) 5 версия?
8 e053nk
 
03.01.22
12:58
(7) да
9 e053nk
 
03.01.22
13:01
(7) Суммы не нужны, только количество продаж. Итоги будут в самом хранилище данных(файле?) содержаться
10 acht
 
03.01.22
13:01
(7) > явно нужны суммы
РН, он для остатоков/оборотов. У него, я насколько понял, тупо готовые числа.
11 acht
 
03.01.22
13:02
(9) Если уж так хочешь файлы - используй проверенный временем dbf.
12 Aleksey
 
03.01.22
13:03
(7) Нужны обороты, а не итоги
13 acht
 
03.01.22
13:04
Но получишь еще и геморой по ссылочной целостности. Удалят за "год, полтора" товар и все.
14 e053nk
 
03.01.22
13:04
(11) О, я и забыл про него. А в dbf произвольный поиск есть по файлу?
15 e053nk
 
03.01.22
13:05
(12) Скажем так -нужны "итоги" оборотов.
16 acht
 
03.01.22
13:07
(14) Есть. Посмотри на методы объекта XBase. Добавишь индексов, еще и быстро будет.
Только это глупости все. Добавь РС/РH в базу и не парь никому мозги.
17 Aleksey
 
03.01.22
13:08
(14)
Найти(<Ключ>, <Режим>);
НайтиПоКлючу(<Режим>).

А вообще не проще ли sqlite?
18 acht
 
03.01.22
13:11
(17) Да тогда уж любую базу c доступом через ADO...
19 acht
 
03.01.22
13:13
А, ну еще и с преобразованием идентификаторов в нормальные ссылки париться... Не, оно конечно хозяин-барин, но я бы женится посоветовал.
20 e053nk
 
03.01.22
13:21
Тут подумалось, на основании (17) . Вариант - запилить свою базу, простейшую, и к ней по HTTPзапросу обращаться.
Жаль, Альфа Авто на 20 платформе запускать пока нельзя- можно было сразу запросом  идентификаторы выгружать
21 ssh2006
 
03.01.22
13:41
(0)  типичный пример.  Программисту интересно поковыряться, напридумывать костылей. Бизнес оплатит его изыскания, тогда как задача решается просто добавлением регистра в базу на период востребованности данных.
22 hhhh
 
03.01.22
17:26
(20) XBase работает только монопольно. То есть к твоей базе сможет подключиться только один человек.
23 Aleksey
 
03.01.22
17:33
(20) А что мешает обращаться в копию до порезки?
24 PLUT
 
03.01.22
17:36
(0) попробуй акселератор даты (йогурт без даты)

https://its.1c.ru/db/metod8dev/content/5951/hdoc
25 Aleksey
 
03.01.22
17:38
(24) не взлетит. Раз нет расширения, то и акселератора нет, так как он позже появился. Да и памяти он жрет как в не себя, так что тем более не взлетит
26 acht
 
03.01.22
17:43
(22) > только монопольно.
В режиме "Только чтение" не пробовал файлы открывать?
27 e053nk
 
03.01.22
20:28
(24) Наверное мощное средство, но ни разу его не использовал в виду дикого количества необходимых ресурсов. у меня не взлетит
28 hhhh
 
04.01.22
00:04
(26) а писать данные тоже будете в режиме чтение? А запись в эту табличку идет чуть ли не каждую минуту. В общем у этой базы нет шансов на нормальную работу.
29 Aleksey
 
04.01.22
00:05
(28) А кто писать будет? В рамках задачи нужно просто данные из базы до порезки. Писать туда никто не будет
30 hhhh
 
04.01.22
00:52
(29) если писать не будут, тогда ладно. Он тут всё пишет: база, база, я и повелся на это слово.

но согласен с (21), можно просто добавить регистр, чем так над собой издеваться. Он же там еще и итоги собирается считать.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.