АКЦИЗЫ или что делать, если БСО много

31.10.12

Учетные задачи - Логистика, склад и ТМЦ

Как оприходовать 100 000 000 БСО (Бланки строгой отчетности), так чтоб база не стала? И при ошибке не пришлось препроводить все документы, связанные с этим БСО.

Скачать файлы

Наименование Файл Версия Размер
БСО.rar
.rar 210,04Kb
4
.rar 210,04Kb 4 Скачать

Принцип уникальной записи

В алгоритмах записи в любой базе данных существует стандартный принцип таблиц. В которую записываются единицы номенклатуры. Однако в данной ситуации каждая номенклатура уникальна и только по ошибке может быть записана дважды.

    Если вдруг захотите создать 100 000 000 записей в регистре. Я не буду вам мешать. 

Может ПАЧКИ спасут положение

Бухгалтер в накладной пишет следующее К001-К201 006005001-006010000

Что делать если не возможно или излишне емко записывать поштучно.

Может существует способ записать пачками?

Приход №1

    движ. Приход: 006000001-007000000

    движ. Приход: 007000001-008000000

Списание испорченного №1 006005501-006005501

    Упс. Теперь нашу пачку нужно разбить. Ладно давайте сделаем это.

    движ. Расход: 006000001-007000000

    движ. Приход:006000001-006005500

    движ. Приход:006005502-007000000

Расход №1

    движ. Расход: 006000001-006005500

Отмена списания испорченного №1 007005501-007005501

     Упс. теперь у нас в записях:

     +(006000001-007000000)

     -(006000001-006005500)

    Можно конечно заставить бухгалтера думать как же там записи ложатся. Но если там одна извилина? и та уже на пенсии?

Ведь с номером 006005501 она "никак " не могла повлиять на номера 006000001-006005500 :)

 

 СКОБОЧНЫЙ АЛГОРИТМ

А давайте запишем приход так:

Приход № 1 

(1,2,3,4,5,6,7,8,9,10),11

Расход №1 

4)5(6    результат: (1,2,3,4),5,(6,7,8,9,10),11

 Расход №2

 )1,2,3,4(  результат: ()1,2,3,4(),5,(6,7,8,9,10),11 или 1,2,3,4,5,(6,7,8,9,10),11

 Отменяем Расход №1

4(5)6    результат:  1,2,3,4,(5,()6,7,8,9,10),11  или 1,2,3,4,(5,6,7,8,9,10),11  

 

Как видим любое движение не приводит к сбоям. А что будет если движение не верное

Например:

 

Приход №1

(1,2,3,4,5,6,7,8,9,10),11

 

Приход №2

 

(1,2,3,4,5,6,7,8,9,10),11

результат:

((1,2,3,4,5,6,7,8,9,10)),11 Как видим это легко записать. Т.е. элементов с 1 по 10 , по 2 штуки. А если далее Расход

Расход №1

 

4)5(6    результат: ((1,2,3,4),5,(6,7,8,9,10)),11 отлично мы видим что элементов с 1-4,6-10 , по 2 штуки , а элемент 5 один.

 

 Как записать в регистре?

Давайте попробуем записать скобками один элемент.

Например, 100. Получиться примерно так 99 ( 100 ) 101 . А если элемент 1 то : ( 1 ) 2. Мы видим, что скобки могут располагаться до элемента и после. Если оприходовать в регистр, ресурс 0 не получим остатка и скобка будет потеряна. Значит записать скобки для 1 как 0,1 нельзя. Можно записать 1,2.

 

Теперь второй момент нужно знать, скобка открывающаяся или Закрывающаяся.

Пусть это будет + или - .Это гарантирует нам , уничтожение двух противоположены скобок.

 

Третий момент. Всегда нужно иметь точное количество бланков.

 

Итак можно записать в регистрах следующую запись (1,2,3,4,5,6,7,8,9,10),11

так:  

Измерение: 1 ресурс:-1

Измерение: 11 ресурс: +11  Вместо 11 может быть вполне 100 000 000 и это будет записано двумя скобками

Сумма ресурса даст 10.

 

Недостаток:

Если нужно узнать есть ли в наличии скажем элемент 5 нужно. С самого начала посчитать колво открытий и закрытий скобок. 

Как с этим работать?

1. Записи в регистре.

Измерение: номер , Ресурс: ресурс

Если приход с 1 по 10 то

Движение расход: Номер: 1 ресурс: -1 

Движение приход: Номер: 11 ресурс: 11

 Если расход 5 то

Движение приход: Номер:5 Ресурс:5

Движение расход : Номер:6 Ресурс:-6

2 Преобразователь скобок в пачки 

Код для 7.7 

Функция Пачки(ТаблОст) 
	ТаблОст.сортировать("Номер+"); 
	таблПачки =Создатьобъект("ТаблицаЗначений");
	таблПачки.новаяКолонка("НачНомер"); 
	таблПачки.новаяКолонка("КонНомер"); 
	таблПачки.новаяКолонка("Колво"); 
	
	текзн=0;
	ТаблОст.Выбратьстроки();
	Пока ТаблОст.ПолучитьСтроку()=1 Цикл 
		Если ТекЗн<>0 тогда 
			ТаблПачки.КонНомер= Число(ТаблОст.Номер)-1; 
			ТаблПачки.Колво =ТаблПачки.Колво+число(ТаблОст.Номер)*ТекЗн; 
		Конецесли; 
		ТекЗн=ТекЗн-ТЗБСО.Ресурс/Число(ТЗБСО.Номер);
		Если ТекЗн<>0 тогда 
			ТаблПачки.новаястрока(); 
			ТаблПачки.НачНомер= Число(ТаблОст.Номер); 
			ТаблПачки.Колво = -Число(ТЗБСО.Номер)*ТекЗн; 
		Конецесли; 
	КонецЦикла;
	возврат ТаблПачки 
Конецфункции

 

Будьте аккуратны данная функция сбивает в пачки и минусовые пачки. (То что кол-во отрицательное в минусовой пачке,в функции учтено)

 

Итого:

Данный алгоритм интересен сам по себе. Конечно, если элементы идут через один, такая форма записи не эффективна. Но если элементы имеют свойство сбиваться в последовательности. Данный алгоритм сильно облегчит жизнь.

Пример базы. В файле.

 

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 22800 руб.

21.04.2017    90191    105    39    

191

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210195    620    524    

439

Модуль "Ответственное хранение" или фулфилмент (FBS / FBO) для 1С:УТ 11.5, КА 2.5, ERP 2.5

Логистика, склад и ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Модуль "Ответственное хранение" для 1С (УТ 11.5, КА 2.5, ERP 2.5) позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

60000 руб.

09.06.2020    34325    27    57    

54

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150733    365    375    

501

AS WMS: автоматизация склада с адресным хранением с помощью ТСД

Логистика, склад и ТМЦ Платформа 1С v8.3 Россия Платные (руб)

Подсистема управления складом AS WMS для конфигураций на платформе 1С 8. AS WMS – готовое решение для эффективного управления адресным складом. Внедрение системы AS WMS способствует быстрому отбору товара, ускорению инвентаризации, снижению зависимости от персонала, исключению пересорта. AS WMS встраивается в любую конфигурацию на платформе 1С 8 и работает как единая система без обменов. В учетной системе нет необходимости менять процессы под AS WMS (например, вводить ордерную схему), AS WMS использует стандартные документы по товародвижению вашей учетной системы.

40000 руб.

26.07.2023    3235    13    0    

8
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ildarovich 7850 31.10.12 14:05 Сейчас в теме
Очень красивое и оригинальное решение! "Скобки" нужны только для пояснений. Теоретическим обоснованием тут является "интервальная арифметика". Похожими способом работает операционная система (диспетчер оперативной памяти) в любом компьютере - блоки адресов памяти по требованию процессов занимаются и освобождаются. Вам еще понадобится алгоритм "сборки мусора", который будет запускаться время от времени, убирая ненужные "скобки". Либо список "занятых" и "свободных" блоков, которые будут сразу объединяться. Тема хорошо разработана в рамках исследования алгоритмов диспетчеризации памяти, посмотрите эти алгоритмы!
В публикации, кажется, нужно расшифровать аббревиатуру БСО (непонятно, что это такое).
2. artms 282 31.10.12 14:27 Сейчас в теме
:) БСО - Бланки строгой отчетности. В регистре если есть скобка 1 с ресурсом -1. И к ней будет прибавлена 1 с ресурсом 1. То в данном измерении 1 будет ресурс: 0. И в остатках он будет отсутствовать. Поэтому исходя из строения самой 1с это будет удалено при обрезке базы.
Оставьте свое сообщение