Кол-во просмотров с 19.02.24г. :: 198
Доброго времени суток. Всем привет, коллеги. Пока что нас здесь пятеро. За минусом меня вас четверо. Еще пока у нас Константин и Давид. У нас расписание более-менее созрело сейчас на следующий курс. Сегодня, если все соберутся, я расскажу, как там, что дальше. Вот. И еще немножко есть тема поговорить. Так. Ну, я буду периодически просто посматривать, сколько вас подошло, зашло на семинар. Ну, и если будет полный комплект, тогда я отвлекусь. на 5 минут. Едем дальше. У нас сегодня корректировка программного кода для структуры статей. Мы записали вот такую запись. Эта запись означает, что мы будем перебирать блоки. Сейчас я открою. наш файлик структура статей ну то есть мы уже все понимаем что вот эта конструкция называется цикл программирование то мы идем для каждого индекса s от единички до количества вот этих самых наших блоков прибавляя по единичке, мы вот этим вот верхним циклом мы проходим каждый блок нашей системы отчетности, в данном случае отчет о движении денежных средств. Второй цикл, вложенный внутрь, то есть когда мы зашли внутрь блока, то внутри блока мы дальше идем по структуре блока, по подблокам, которые соответствуют статьям уровня 2. И, наконец, третий цикл, то есть третий уровень системы отчетности – это когда мы уже непосредственно идем внутри по статьям третьего уровня, которые детализируют каждую статью второго уровня. Ну и понятно, что у нас в этом случае у нас названия наших статей, они имеют следующий вид. Если мы зайдем в оплату старт, то у нас названия статей имеют вот такую запись. CDSST$S$T$. Копировать. Заходим сюда и вот так вот вставляем. Единственное, что есть у нас одна особенность, это то, что у нас все вот эти переменные s, t и переменная u, они у нас пробегают от единички и там до какого-то своего максимального значения. Это значит, что если мы вот здесь вот внутри вот такой вот связки циклов, внутри поставим вот эту запись dds.st, да, статья dds от параметров st и u, то мы здесь при вот такой конструкции никогда не получим, ну, например, вот такой вот статьи оплаты себестоимостных затрат или оплата себестоимостных затрат по направлению продаж товаров. То есть там, где у нас появляются нолики, вот такой конструкции мы статей с ноликами не увидим. Нам их нужно будет просто обработать отдельно. Но дело в том, что везде, где у нас возникают нолики, если мы посмотрим, это агрегаты. Это некоторое общее, которое состоит из частей. Это вот такая вот особенность. Но важно следующее, что вот эта штука, вот этот конструкт, вот этот запят, вот этот массив, это как раз-то, это есть просто название статьи, не более того. Теперь давайте посмотрим, вспомним, как у нас устроен вот этот вот наш цикл, в рамках которого мы перебирали наши статьи и там чего-то с ними, значит, это какие-то делали манипуляции. То есть наша задача, как вот у нас сегодня это название, корректировка программного кода. Но важно то, что программный код у нас работает. Мы получаем вполне себе качественный отчет о движении денежных средств. Единственное, что нас не удовлетворяет, Это вот такая вот конструкция задания статей, которая вот сверху у нас была. То есть там, где мы полностью берем такую сквозную нумерацию и в рамках вот такого задания статей, которое мы сделали изначально, мы очень негибки, мы очень сильно ограничиваем сами себя, вот этой вот сквозной нумерации. Нам каждый раз нужно понимать, что стоит за каждым вот из этих номеров. Под номером 5 – кассовый разрыв, под номером 4 – денежный поток. Это нам нужно каждый раз прописывать условия. И, в общем, это создает некоторые сложности. Поэтому мы сделали второй шаг. Мы создали, возможно, более сложную структуру, Но с другой стороны, что она сложна один раз в понимании, но зато потом с нею можно достаточно легко работать. Но мы потом еще и третий шаг сделаем. Мы всю эту структуру, так сказать, запихнем в базу данных. Мы ее представим в виде базы данных, и тогда совсем будет все легко и удобно. Потому что мы, когда что-то заносим в базу данных, мы выводим интерфейс. Вот так же, как у нас здесь учет факта, мы выводим в виде таблички вот такой вот интерфейс по работе с базой данных. И тогда мы сможем что-то менять, менять конструкцию, менять наполнение статей, менять сами названия статей и так далее. То есть сейчас мы находимся в промежуточной стадии, на втором шаге. Но важно следующее – оно работает. В программировании, в информационных технологиях, да и вообще в целом в управлении есть один очень важный принцип, что если вы наладили хоть какую-то систему, пусть она на коленке, пусть она там какая-то там доисторическая, пусть она в Excel или там на бумажке, в блокноте и так далее, но важно, что если система есть, то это 50% всегда успеха для того, чтобы перейти на любую другую систему, в любую другую автоматизацию и так далее. Автоматизировать. или, так скажем, повышать эффективность действующей системы значительно легче, нежели просто тупо отказаться от всего и создавать опять заново с чистого листа что-то новое. У нас уже что-то есть. Я к чему это говорю? Потому что наша система работает в рамках вот этого блока программного кода, который вы здесь у нас записываете. Поэтому наша задача сейчас аккуратненько понять повод, что у нас здесь прописано, что мы здесь делаем, и перенести это все, вот все, что здесь написано, вся вот эта система, которая здесь прописана, аккуратно перенести это вот в эту самую конструкцию. Вот и все. Не более того. Смотрю, кто у нас. Так, у нас Константин подошел, еще Давид один. Ну, давайте я еще минут 15 сейчас поговорю и потом отвлекусь на организационные дела по поводу следующего вопроса. Так, едем дальше. И тут нет никакого другого пути, как только действовать как бульдозер. То есть мы просто берем и идем построченно и смотрим, что у нас здесь происходит, и пытаемся понять, уловить суть, то есть саму методику. Значит, мы перебираем DDS-ST, вот этот вот массив DDS-ST в старом формате. Это у нас что такое? Это просто набор вот этих вот название, название статей. И мы так и говорим, то есть мы берем, мы говорим for each, для каждого dds.st, s как статья, это значит, что когда мы перебираем вот этот массив dds.st, массив статей отчета о движении денежных средств, то каждый раз, когда мы проходим, переходим к следующему элементу этого массива, то каждый следующий элемент этого массива является просто вот таким вот названием, вот таким вот текстом, то есть названием статьи. Ну мы и говорим, что для каждого следующего элемента будем помещать в переменную статья вот это название. Дальше, когда мы переходим к очередному названию вот этому статье, мы производим проверку. Это статья уровня 2. Если статья уровня 2, то тогда мы выполняем вот здесь какой-то вложенный программный код. Иначе, если это статья верхнего уровня, то мы производим вот такие вот вычисления здесь, ну и плюс вот еще тут чего-то и так далее. Давайте посмотрим, что у нас происходит, если это статья уровня 2. Мы вводим массив кэшфлот ст. Вот он кэшфлот ст. И мы уже вчера посмотрели, что вот это самое кэшфлот ст, если мы пойдем в баджет кэшфлот сюда, Это файл, который отвечает за выдачу вот этих вот числовых данных. То мы здесь видим, что кэшпло.ст – это как раз-таки наши числа, которые стоят в ячейках нашего отчета. То есть вот эти вот все числа, которые мы здесь видим в ячейках, это как раз-таки элементы вот этого массива кэшпло.ст. Причем, где доллар s пробегает элементы, пробегает статьи, а $i пробегает у нас период. Все более-менее понятно. И понятно, что у нас происходит здесь, в подкладке модель. Значит, если у нас это переменные, если это у нас, значит, статья второго уровня, мы для для такой статьи заводим поток фэшпло ст, это то есть поток числовых значений для этой статьи, обнуляем их, то есть мы для каждого периода зануляем эти соответствующие значения, соответствующий поток зануляем, и потом далее мы Видите, у нас пешкло st от s и i, которое нулевое. Мы к этому нулю, этим нулям, прибавляем поток zpb. А поток zpb это у нас тоже более-менее понятная вещь. Это чего у нас такое? Где-то мы это, вот он поток у нас zpb. Это... Это, это, это что? Это поток запуска в бизнес процессов, то есть это наши потоки, но детализированные. Если мы зайдем вот сюда вот кэшблода, то у нас есть раздел потоки и здесь у нас все подробно прописано. То есть каждый элемент бизнес-процесса у нас применяется к потоку запусков. Мы их запускаем и подробно-подробно все как бы расписываем, все потоки. И потом эти потоки мы их собираем по статьям. То есть оплата сырья и материалов, оплата сырья и материалов предоплата, оплата сырья и материалов доплата. потом если где-то еще вот еще оплата сырья и материалов еще оплата сырья и материалов