|
Удаление из подчиненного периодического регистра сведений. Помогите оптимизировать код. | ☑ | ||
---|---|---|---|---|
0
Kongo2019
03.02.21
✎
08:32
|
Доброго.
Удаление из подчиненного периодического регистра сведений. Помогите оптимизировать код. Есть регистр сведений Хранилище акцизных марок. Периодичность - По позиции регистратора. Режим записи - Подчинение регистратору. Измерение Марка, строка длина 160 символов, пишется туда типа такого 170300181766771018001JY3BOHGSSEHPTLU7N57B333G5QDVUZJPLXC3C57ID4X3K2SGV3BTPM5C7TISRHULGNEJ6XXDCIVKH6B6JIIPREFYDXJLMGAMYDT64AZK42ANKLL2MBSQSTSOJBHSDVOWA . В ресурсах есть ОтметкаВыбытия – тип булево. Остальные ресурсы в данном вопросе не важны. У нас в основном в этом регистре одна марка может быть в двух записях. Если производство, то это два регистратора отчет производства за смену типа ставит на баланс и ТТН где уставлен признак выбывшие. Если мы купили и продали это два регистратора это Акт к ТТН и ТТН где уставлен признак выбывшие. Нескорые марки могут туда - сюда кататься, будет несколько записей, главная запись последняя, по ней надо смотреть ОтметкаВыбытия. На текущий момент в регистре 38 миллионов записей. Задача зачистить выбывшие марки, оставив данные только за последние полгода. Пока сделал так. За 12 часов в среднем удаляется полмиллиона записей. Помогите оптимизировать код. Пока только в голову приходит запустить на нескольких компах с разным диапазоном дат. Процедура Кнопка1Нажатие(Элемент) //Удаление записей из регистра, подчиненного регистратору Сообщить("Начало запроса - " + ТекущаяДата()); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | алкХранилищеАкцизныхМарокСрезПоследних.Марка |ПОМЕСТИТЬ Марки |ИЗ | РегистрСведений.алкХранилищеАкцизныхМарок.СрезПоследних(, ) КАК алкХранилищеАкцизныхМарокСрезПоследних |ГДЕ | алкХранилищеАкцизныхМарокСрезПоследних.ОтметкаВыбытия = ИСТИНА |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | алкХранилищеАкцизныхМарок.Регистратор КАК Регистратор, | алкХранилищеАкцизныхМарок.Марка КАК Марка |ИЗ | РегистрСведений.алкХранилищеАкцизныхМарок КАК алкХранилищеАкцизныхМарок | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Марки КАК Марки | ПО алкХранилищеАкцизныхМарок.Марка = Марки.Марка |ГДЕ | алкХранилищеАкцизныхМарок.Период МЕЖДУ ДАТАВРЕМЯ(2018, 1, 1, 0, 0 , 1) И ДАТАВРЕМЯ(2020, 6, 1, 0, 0, 1) |ИТОГИ ПО | Регистратор"; СчетчикДоки = 0; СчетчикМарки = 0; ВыборкаРегистратор = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Сообщить("Окончание запроса - " + ТекущаяДата()); Пока ВыборкаРегистратор.Следующий() Цикл НаборЗаписей = РегистрыСведений.алкХранилищеАкцизныхМарок.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ВыборкаРегистратор.Регистратор); НаборЗаписей.Прочитать(); сзУдаляемыеЗаписи = Новый СписокЗначений; ВыборкаДетальныеЗаписи = ВыборкаРегистратор.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Для Каждого Запись Из НаборЗаписей Цикл Если Запись.Марка = ВыборкаДетальныеЗаписи.Марка Тогда сзУдаляемыеЗаписи.Добавить(Запись); СчетчикМарки = СчетчикМарки + 1; КонецЕсли; КонецЦикла; КонецЦикла; Для Каждого ЭлтСз Из сзУдаляемыеЗаписи Цикл НаборЗаписей.Удалить(ЭлтСз.Значение); КонецЦикла; НаборЗаписей.Записать(); СчетчикДоки = СчетчикДоки + 1; //Если СчетчикДоки = 100 Тогда // Прервать; //КонецЕсли; Если ТекущаяДата() > Дата(2021, 02, 03, 08, 30 , 00) Тогда Прервать; КонецЕсли; КонецЦикла; Сообщить("Окончание обработки - " + ТекущаяДата()); Сообщить("СчетчикДоки - " + СчетчикДоки); Сообщить("СчетчикМарки - " + СчетчикМарки); КонецПроцедуры Сам запрос выполняется 20 минут. Вот для примера последний запуск. Начало запроса - 02.02.2021 23:10:58 Окончание запроса - 02.02.2021 23:38:54 Окончание обработки - 03.02.2021 8:31:04 СчетчикДоки - 167 СчетчикМарки - 373 695 |
|||
28
Ёпрст
03.02.21
✎
09:55
|
И.. в Крыму нет разве послаблений, в плане учета егаиса ?
|
|||
29
MaiorovYury
03.02.21
✎
09:59
|
А замер производительности смотрел?
Мне кажется вот тут, если по регистратору 20к записей, то будет около 20к * 20к / 2, то есть 200 млн проходов цикла - это овер дофига У тебя ведь и в ВыборкаДетальныеЗаписи и в НаборЗаписей будет по 20к строк, верно? У нас сейчас в ERP в стандарте такая же фигня - заказы поставщику проводятся по 10 минуты, потому что там тоже цикл внутри цикла по 10к-20к строк каждый) Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Для Каждого Запись Из НаборЗаписей Цикл Если Запись.Марка = ВыборкаДетальныеЗаписи.Марка Тогда сзУдаляемыеЗаписи.Добавить(Запись); СчетчикМарки = СчетчикМарки + 1; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
30
Ёпрст
03.02.21
✎
10:01
|
И..главный вопрос то - нахрена ЭТО удалять ? Места мало что ле ?
|
|||
31
MaiorovYury
03.02.21
✎
10:04
|
(30) если запрос выполняется 20 минут, то полагаю и в работе это уже мешает)
|
|||
32
Ёпрст
03.02.21
✎
10:09
|
(31) тут переписывать недоразумение надо, которое кт-ники слепили на коленке и продолжают его применять, заместо того, чтоб исправить.
Об этом говорили, еще при начале внедрения марки. Что подчиненный, периодический РС не жилец. В нём еще и марка - измерение, строка 150.. вообще п..ц Ну вот он у автора и наступил :)) У нас только марок в 2 раза больше, а записей в РС - 116 390 861, только у нас их 2, для бух и упр учета. И запросы, ну самый тяжелый, пара секунд - это получение остатка всех марок. |
|||
33
Kongo2019
03.02.21
✎
10:47
|
(26) Ну мы с ним вообще не связывались. Вот соседи помощи просят.
(27) Я в курсе. Это длина строки в реквизите стоит 160. (28) Не, у нас как как налоги и учет это Россия. А как кредит и ипотека в банке то не Россия. В общем нет послаблений. (30) Тормоза дикие. Индекс в два раза больше данных, это как-то не здорово. |
|||
34
Kongo2019
03.02.21
✎
10:55
|
(24)Не осиливаю.
Задача звучит следующая, отобрать все марки у которых на дату есть пометка выбывшие. Хотя блин, тут есть потенциальная засада. Они на дату могут быть выбывшие а на сегодня опять вернулись. Поэтому я делаю срез посление на текущую дату, а доки не чищу за последние полгода, ну хоть как-то попку прикрыть. То бишь, так как регистр сведений периодический, то надо срез последних делать. И удалить записи где это марка есть. Исключая последние полгода. |
|||
35
Ёпрст
03.02.21
✎
10:56
|
(33) Тут только в морг. Т.е переписать всё.
Там не долго - завести справочник марки. в регистре поменять измерение со строки на справочник, сделать РС независимым и не переиодическим, поменять модули, добавить свой покрывающий индекс и ...полетит. |
|||
36
Kongo2019
03.02.21
✎
10:57
|
(35) Пока надо только грохнуть старое. За полетит никто не заплатит.
|
|||
37
TormozIT
гуру
03.02.21
✎
11:02
|
(34) Тогда чуть сложнее https://www.youtube.com/watch?v=MgDXX-qUrx0&t=641s
|
|||
38
BeerHelpsMeWin
03.02.21
✎
11:04
|
А если скопировать регистр, удалить всё, и вернуть только нужные?
|
|||
39
Ёпрст
03.02.21
✎
11:05
|
(36) Ну, тогда через delete from это сделать быстрее, чем через запись набора
|
|||
40
Kongo2019
03.02.21
✎
11:08
|
(37) а у меня неактивно Кол-во потоков. Хотел проверить, пару месяцев удалить.
Что я делаю не так? http://prntscr.com/y4ev2b |
|||
41
Kongo2019
03.02.21
✎
11:10
|
(39) Но мне надо только выбывшие грохнуть.
|
|||
42
Kongo2019
03.02.21
✎
11:10
|
(38) Куда его скопировать?
|
|||
43
TormozIT
гуру
03.02.21
✎
11:10
|
(40) В (21) фича описана, включая ее применимость. Ты используешь портативный вариант.
|
|||
44
TormozIT
гуру
03.02.21
✎
11:12
|
(40) Посмотри первую минуту https://youtu.be/-NJJP79TccI там показано как запускать правильный вариант.
|
|||
45
Kongo2019
03.02.21
✎
11:13
|
(43) Не увидел. Тогда мне не повезло. Конфа на поддержке. Внутрь добро лесть не дали. Даже если я копии и отработаю, в боевой прикрутить не дадут
|
|||
46
TormozIT
гуру
03.02.21
✎
11:42
|
(45) Пора увидеть (44)
|
|||
47
Kongo2019
03.02.21
✎
11:44
|
(46) Базовая конфа УПП 1.3.
1С:Предприятие 8.3 (8.3.13.1865) Нет там расширений. |
|||
48
timurhv
03.02.21
✎
11:55
|
(35) Я же тестировал разные схемы, по вашей:
1. Справочник сильно дольше записывается, чем записи в регистр сведений. Условно если в документе 1000000 марок, то это нужно сперва элемент справочника записать и только потом записи. 2. Весь профит от уменьшения индексов регистра уйдет в таблицу справочника, там тоже они немало занимают. Самый оптимальный вариант: строковые измерения и регистр накопления. |
|||
49
timurhv
03.02.21
✎
11:57
|
(48) + запись в независимый непериодический регистр с 1млн записей займет немало времени
|
|||
50
Адинэснег
03.02.21
✎
11:59
|
(19) типа учет вести можно по одной параметрической спецификации и одному переделу
|
|||
51
H A D G E H O G s
03.02.21
✎
12:06
|
(48) А вот и разработчики КТ2000, наследники :-)
|
|||
52
TormozIT
гуру
03.02.21
✎
12:08
|
(47) Виноват. Тоже не увидел (18) =) Тогда только однопоточный режим.
|
|||
53
H A D G E H O G s
03.02.21
✎
12:11
|
(48) Справочник - один раз записал и живи спокойно. В несколько потоков для большого пула марок. И без всяких дублей, марка выбыла, марка в наличии. Кроме того, в справочнике можно выкинуть криптохвост из индекса.
Ну и привет всему набору индексов в которые вольготно войдут 150 байт марки, если у тебя другие измерения ведущие или индексированные. |
|||
54
timurhv
03.02.21
✎
12:21
|
(53) Тестировал я справочники, жрут индексы чуть меньше чем РСВ с подчиненным регистратору по позиции (притом по документации с ИТС должно быть меньше, но таблица в MSSQL говорит об обратном). Запись идет сильно дольше, в один поток 550 элементов справочника в секунду вышло, это для движений в 1млн марок 30 минут ждать?
Но у меня только приход и расход был, с несколькими записями в движениях по одной марке может и лучше будет. |
|||
55
H A D G E H O G s
03.02.21
✎
12:26
|
(54) Хорошо, хорошо.
|
|||
56
Ёпрст
03.02.21
✎
13:17
|
(48) че за бредятина ?
|
|||
57
Ёпрст
03.02.21
✎
13:19
|
Могу показать на конкретных данных, есть тут у нас в холдинге адэпты кт-ой конфы. Как неверная структура этого регистра влияет на запись. Про получения данных с такого регистра, его размеров в скуля. промолчу - там просто ад и израиль
|
|||
58
Ёпрст
03.02.21
✎
13:19
|
(41) и ? в делете пропишешь условие на выбывшую марку и всё.
|
|||
59
Ёпрст
03.02.21
✎
13:21
|
(54) самая быстрая запись - это запись в независимый, не периодический РС с ОбменДанными.Загрузка = истина. Там только insert и всё.
|
|||
60
DAFA
03.02.21
✎
13:21
|
ну и код .а параметры использовать религия не позволяет?
|
|||
61
timurhv
03.02.21
✎
13:21
|
(55) (56) (59)
Запись 1 млн марок, индексы нигде не добавлял, используются кластерные и стандартные наборы у регистров, генерируемые платформой. ------------------------ 1. Регистр сведений по позиции регистратора, измерения строковые: Начало записи: 03.02.2021 12:52:58 Конец записи: 03.02.2021 12:56:34 Размер таблиц: Основная 380960Кб + 739848Кб (индексы) Всего = 1094Мб 2. Регистр накопления, измерения строковые: Начало записи: 03.02.2021 12:53:05 Начало записи: 03.02.2021 12:57:37 Размер таблиц: Основная 380960Кб + 50536Кб (индексы) Итоги 347832Кб + 31600Кб (индексы) Всего = 791Мб 3. Справочник (без кода, только наименование длиной 150) + независимый регистр сведений: Время = дофига, не стал дожидаться, записалось за 20 минут 104991шт из 1млн в 1 поток. Размер таблиц 104991 записей: Справочник = 38184Кб + 45600Кб (индекс). Приводим до 1млн = 363688Кб + 434322Кб (индекс) Регистр сведений = 5720Кб + 48Кб (индекс). Приводим до 1млн = 54480Кб + 457Кб Всего = 832Мб ------------------------ Как я и говорил, размер ненамного увеличивается между п.3 и п.1, но сильно возрастает время записи. Особенности: п.1 будет долго формировать запрос на срезы на определенный период п.2 итоги будут разбухать, если не закрывается регистр в 0, но запрос среза на дату выполняется во много раз быстрее п.1. |
|||
62
Ёпрст
03.02.21
✎
13:24
|
(61) Ладно, мне лень кого-то убеждать. Наглядный пример, как не надо делать - в (0).
|
|||
63
H A D G E H O G s
03.02.21
✎
13:25
|
(61) Еще и регистр накопления. ... дышит и живет.
|
|||
64
timurhv
03.02.21
✎
13:26
|
(59) Расскажите, как быстро записать в регистр сведений с измерениями:
- Марка (ссылка справочника, либо строка) Быстро запишется если использовать: - Марка (ссылка справочника, либо строка) - ДополнительноеИзмерение (партия, документ-регистратор, номенклатура и тп) (62) Регистр сведений по позиции = сложный запрос для 1С и много индексов, тут я согласен. |
|||
65
Ёпрст
03.02.21
✎
13:27
|
если получение примитивного отчета - 20 минут, это нормально, то да, так и делайте
|
|||
66
H A D G E H O G s
03.02.21
✎
13:28
|
(64) Набором записей с отбором по Измерение- Документ.
|
|||
67
timurhv
03.02.21
✎
13:30
|
(66) Как будет выглядеть запрос по остаточным маркам в этом случае?
|
|||
68
Ёпрст
03.02.21
✎
13:31
|
(64) ну на вот, почитай на ночь
http://catalog.mista.ru/1c/articles/527518/#Разбираемся_с_записью_регистров |
|||
69
timurhv
03.02.21
✎
13:32
|
(66) (67) считать сколько раз было прихода у марки и сколько расхода?
Либо при списании записывать для каждой марки отдельно, а не набором по документу? (68) Я это читал |
|||
70
Ёпрст
03.02.21
✎
13:32
|
Не удивительно, что в кт-ной конфе вообще никаких отчетов нет.. ни движения марки ни вминяемых останков.
И ..всё что есть - отчет 30 минут :)) |
|||
71
Kongo2019
03.02.21
✎
13:33
|
(58) Не прокатит. Это только половину удалит.
У нас в основном в этом регистре одна марка может быть в двух записях. Если производство, то это два регистратора отчет производства за смену типа ставит на баланс и ТТН где уставлен признак выбывшие. Если мы купили и продали это два регистратора это Акт к ТТН и ТТН где уставлен признак выбывшие. |
|||
72
H A D G E H O G s
03.02.21
✎
13:34
|
(67)
Выбрать РС.Марка Имеющие Максимум(РС.Состояние)=&МаркаВНаличии |
|||
73
H A D G E H O G s
03.02.21
✎
13:36
|
(67) Смысл не менять статус, а дописывать всегда. Наборами. И каждый следующий статус больше предыдущего. И Статус - это 2 знаковое число.
|
|||
74
H A D G E H O G s
03.02.21
✎
13:38
|
Я просто рано ушел из КТ2000 :-) Партионный ЕГАИС был мой, а вот помарочный - потомков :-)
|
|||
75
timurhv
03.02.21
✎
13:39
|
(73) Как записи должны выглядеть в независимом регистре?
Марка1 ДокументПриход Марка1 ДокументРасход Марка1 ДокументВозврат Он всегда будет в выбывших? |
|||
76
H A D G E H O G s
03.02.21
✎
13:41
|
||||
77
H A D G E H O G s
03.02.21
✎
13:42
|
(75) После Расхода марки уходят в РС
АСФАрхивСостоянийМарокУпаковок с немного другим составом индексов и измерений |
|||
78
Ёпрст
03.02.21
✎
13:45
|
(71) :)) ты не догоняешь, в подзапросе или во времянке получаешь марки, которые нужно удалить, потом в делете в where пихаешь этот список марок. Удалит всё
|
|||
79
H A D G E H O G s
03.02.21
✎
13:46
|
Было бы забавно, если бы КТ запилили регистр накопления.
|
|||
80
Ёпрст
03.02.21
✎
13:46
|
(76) у меня еще тупее - число, приход+1 расход -1..ну и тупо сумма
|
|||
81
H A D G E H O G s
03.02.21
✎
13:47
|
(80) Максимум возьмет первую запись индекса.
|
|||
82
Ёпрст
03.02.21
✎
13:50
|
(81)я ужо не помню свои эксперименты, н пихал изначально так - 0 - пришла ттн, 1-подтвердили актом, -1 - выбыла.
Потом, записи с нулём вообще выкинул. |
|||
83
Ёпрст
03.02.21
✎
13:52
|
Но, у меня есть с чем сравнить, у нас в холдинге есть база, где модуль егаиса целиком, или с катапа или с утапа взят.
Дык вот, там при сравнительно одинаковом количестве марок и объеме продаж, только размер этого регистра в скуле..ну где-то раза 3-5 больше. Про индекс так вообще п..ц |
|||
84
Ёпрст
03.02.21
✎
13:52
|
Ну и отчетов у них нет никаких. вообще нет.
|
|||
85
H A D G E H O G s
03.02.21
✎
13:53
|
(82) Я тоже сначало оперировал 0,1,2,3. А потом потребовались промежуточные статусы и потребовалось все старое умножить на 10 и вводить 0, 10, 20, 30 и между ними 15,16, 25 и.т.д.
|
|||
86
timurhv
03.02.21
✎
13:55
|
(77) Теперь стало ясно, удобно чистить лишнее, по сравнению с регистром накопления.
Совет в (35) все-равно не понимаю со справочником в чем выгода? Индексы много занимают, хотя из реквизита только наименование. |
|||
87
Kongo2019
03.02.21
✎
14:05
|
У меня простой запрос на удаление всего, ну вот решил проверить. Уже час колбасит. что-то здесь не то.
DELETE FROM [test].[dbo].[_InfoRg33266] |
|||
88
Ёпрст
03.02.21
✎
14:07
|
(87) да уж.. удаление всего это truncate table [test].[dbo].[_InfoRg33266] пару мс займет, наверное
|
|||
89
piter3
03.02.21
✎
14:10
|
(87) условие забыл же
|
|||
90
Ёпрст
03.02.21
✎
14:14
|
(86) я сразу мгновенно сказать, есть марка в базе или нет, тупо в поле ввода вбив её.
+ индекс гораздо компактнее, не говоря уже о том, что марку не только в РС пихаете. |
|||
91
Ёпрст
03.02.21
✎
14:15
|
Я храню еще в справочнике марки реквизит алкогольная продукция. Так быстрее в отчетах иметь её
|
|||
92
Kongo2019
03.02.21
✎
14:18
|
(89) Да уже просто глянут, а что даст очистка этого регистра? Чего это народ решил меня озадачить.
|
|||
93
Eeeehhhh
03.02.21
✎
14:18
|
(87) базу перед действом в симпл, но лучше select into - быстрее будет.
|
|||
94
piter3
03.02.21
✎
14:19
|
(92) Без where или как в (93) смысла мало имеет
|
|||
95
Kongo2019
03.02.21
✎
14:23
|
Тут другая идея появилась.
Там ресурсах есть СправкаБ, ссылка на справочник. Этих справок всего действительных около 2 тысячи. Список есть, гуид легко можно получить. Может тупо в SQL сделать? Только я не знаю как мне в условие этот список запихать. |
|||
96
Ёпрст
03.02.21
✎
14:32
|
(92) это ты у (86) спроси, Если верить Ежику, он создатель этого чуда.
|
|||
97
timurhv
03.02.21
✎
14:34
|
(90) Если бы справочник быстро писался, то его использовал. Но в фуре помещается 470тыс пачек с сигаретами, УПД может прийти перед приемкой и ждать запись в таком случае нельзя.
(96) Я хейтил только за создание справочника, т.к. это долго. Схему в (0) я не поддерживаю и не использую, перечитайте мои сообщения. Я за регистр накопления, т.к. это самая быстрая запись с большим набором марок. |
|||
98
Kongo2019
03.02.21
✎
14:35
|
(96) Он в (74) сказал что не причастен.
|
|||
99
H A D G E H O G s
03.02.21
✎
14:36
|
(91) Я просто алкокод в коде марки. Для унификации с КТ, 1С и нашим решением.
|
|||
100
H A D G E H O G s
03.02.21
✎
14:40
|
(97) РН всегда содержит Период в начале кластерного индекса, что исключает его из спецолимпиады.
|
|||
101
timurhv
03.02.21
✎
14:41
|
(100) Ок, как за 2 минуты записать 470тыс. элементов справочника?
|
|||
102
Вася Теркин
03.02.21
✎
14:43
|
(0) Прямое подключение к собственной базе SQL из самой базы 1С через консоль SQL сделать сможешь, а готовую функцию пока не дают. Только что за 40 сек 13 миллионов строк РС проапдейтили. А в 1С это занимало 50 часов.
|
|||
103
H A D G E H O G s
03.02.21
✎
14:44
|
(101) Никак, пишите в РС.
|
|||
104
H A D G E H O G s
03.02.21
✎
14:45
|
(101) У нас алкашка, там размеры ТТН меньше.
|
|||
105
timurhv
03.02.21
✎
14:50
|
(103) Наверное, так и сделаю и откажусь по истории РН в пользу (77). Содержимое по маркам в УПД сейчас так и пишется в независимый РС.
|
|||
106
TormozIT
гуру
03.02.21
✎
14:51
|
Кажется готовить DELETE FROM можно так. Делаешь в консоли запросов нужный запрос к удаляемой таблице с отбором и выполняешь его с отловом запроса СУБД. Дальше в этом отловленном запросе СУБД меняешь начало "SELECT ... FROM" на "DELETE FROM dbo.<ИмяТаблицыВСУБД> FROM". Дальше выполняешь например через ADO этот запрос напрямую в СУБД. Все это некоторые консоли запросов позволяют делать не выходя из 1С.
|
|||
107
H A D G E H O G s
03.02.21
✎
14:53
|
(105) Я бы тупо писал в справочник в многопоток в НачатьТранзакцию с отключением записи в ЖР. Если этого мало - ВнешнийИсточник данных и bulk insert по массиву подготовленных в 1С GUID и кодов марок
|
|||
108
timurhv
03.02.21
✎
14:55
|
(107) Если внешний источник отвалится в НГ, то праздники будут испорчены :)
В многопоток я делал, но на сервере пока что только 4 ядра, не разгуляешься. |
|||
109
H A D G E H O G s
03.02.21
✎
14:57
|
(108) УстановитьСсылкуНового(Новый УникальныйИдентификатор) не забуть, когда в многопоток писать будешь
|
|||
110
Вася Теркин
03.02.21
✎
14:58
|
(106) Запрещено лицензионным соглашением.
|
|||
111
H A D G E H O G s
03.02.21
✎
14:58
|
(110) ВнешниеИсточникиДанных
|
|||
112
H A D G E H O G s
03.02.21
✎
14:59
|
(108) Несколько лет работает обмен с wms, ниче не отвалилось
|
|||
113
TormozIT
гуру
03.02.21
✎
15:00
|
(111) Там нет DELETE FROM. Там надо отбор по измерениям делать с одним значением.
|
|||
114
H A D G E H O G s
03.02.21
✎
15:01
|
(113) Там есть вызов хранимых процедур :-)
|
|||
115
Вася Теркин
03.02.21
✎
15:01
|
(108) А как разные потоки принудительно на разные рабочие процессы трехзвенки отправить? Или один рабочий процесс можно на нескольких камнях сразу крутить?
|
|||
116
Вася Теркин
03.02.21
✎
15:01
|
Теперь можно в 8.3 новые rphost открывать по желанию?
|
|||
117
timurhv
03.02.21
✎
15:02
|
(112) Повезло
https://partners.v8.1c.ru/forum/topic/1695148 |
|||
118
Вася Теркин
03.02.21
✎
15:03
|
(108) Несколько фоновых - это не многопоток.
|
|||
119
H A D G E H O G s
03.02.21
✎
15:05
|
||||
120
timurhv
03.02.21
✎
15:05
|
(118) Почему нет?
|
|||
121
Ёпрст
03.02.21
✎
15:58
|
(97) РН ? он же еще и итоги вам потом будет пересчитывать...
|
|||
122
timurhv
03.02.21
✎
19:01
|
(121) Да, откажусь от него. Я в начале не так понял вас про структуру РС, подумал используется только Марка + Статус.
|
|||
123
dmpl
03.02.21
✎
21:23
|
(54) А если справочник не плоский, а 2-уровневый, например. Первый уровень - "Упаковки" - ссылка на элемент, штрихкод которого реально сканирует оператор (блок, коробка, палета и т.п.), второй уровень - "Состав штрихкодов упаковок" - допустим, N элементов, в ТЧ которого содержатся коды. Допустим, до 1000 кодов в каждом элементе справочника. В ТЧ справочника "Упаковки" содержится список ссылок на справочник "Состав штрихкодов упаковок". В движениях использовать ссылки на справочник верхнего уровня (то, что реально сканирует оператор), но при необходимости можно всегда развернуть до конкретного штрихкода.
|
|||
124
timurhv
03.02.21
✎
21:46
|
(123) Думал об этом, оператор сканирует блок, уменьшится объем в 10 раз.
Протестирую все варианты: РС независимый со строковыми измерениями, РС с записью ссылок упаковки и содержимого в ТЧ. Только в рознице марка списывается или блок (либо хэш марки добавлять в измерения, либо порядковый номер строки ТЧ справочника). |
|||
125
Вася Теркин
04.02.21
✎
10:24
|
(119, 120) См (115)
|
|||
126
timurhv
04.02.21
✎
10:58
|
(125) Может
|
|||
127
dmpl
04.02.21
✎
15:55
|
(124) На мой взгляд, не обязательно писать какой-то код в регистр. Пишется либо непосредственно штрихкод, если это неделимая упаковка, либо ссылка на упаковку со списком штрихкодов. В таком случае надо предусмотреть операцию "разборка" для упаковки, которая сделает штрихкод упаковки недоступным для дальнейшего сканирования, ну а отдельные штрихкоды упаковки наоборот станут доступны к сканированию.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |