Додайте свій проект безкоштовно і почніть отримувати пропозиції від фрілансерів-виконавців вже через хвилини після публікації!
999 ₴

нужен прямой Script for MSSQL

минув час актуальності


Имеем SQL базу для которой нужно написать 2 скрипта. 

В базе есть 3 основные таблицы с которыми нужно работать. 

Основная в которой лежит вся информация со связями и ссылками на другие 2 таблицы

Дополнительная №1 с описанием объектов.

Дополнительная №2 с подчиненными документами.


Скрипт1 должен выгружать данные из базы в файл *.xls (сам шаблон файла будет находиться на той же машине на которой будет происходить исполнение скрипта). Условно файл можно разделить на 2 части (левая статичная/правая динамичная). Каждая строка в файле это объект. В левой части его описание (статичное без изменяемого количества колонок -16шт.), в правой части занятость данного объекта на определенный период. В шаблоне изначально 24 колонки (по 2 на каждый месяц, 1-я и 2-я половины месяца)

НачалоПериода = 1 число текущего месяца

если Сегодня меньше 01 октября КонецПериода = 31 декабря текущего года

другое КонецПериода = 31 декабря следующего года

Лишние колонки - делейт


Настройка сортировки объектов по параметрам город/код - данные параметры есть в таблице Дополнительная №1 

обработка всех объектов город1/код1 в алфавитном порядке по код1

обработка всех объектов город1/код2 в алфавитном порядке по код2

......
Дальше идет проверка попадает ли объект в обработку данный параметр есть в  таблице Дополнительная №1, если нет то он пропускается, если ДА для него заполняется статичная/информационная часть таблицы (где что брать соответствие есть).

Дальше проверка на доступность объекта для заказа данный параметр есть в  таблице Дополнительная №1, если "не доступен" то весь период от начала до конца отмечается что данный объект доступен ТОЛЬКО ПОД ЗАКАЗ, если "доступен"

В основной таблице для данного объекта выбираются все заполненные статусы в пределах обрабатываемого периода, при наличии хоть какого то статуса он идентифицируется через связной параметр в таблице Дополнительная №2 - статус 1 или 2 или 3.

Если 1 = заполняем соответствующую ячейку соответствующим цветом и добавляем дату окончания этого статуса (дата есть)

Если 2 или 3 = заполняем соответствующую ячейку соответствующим цветом (без даты)

ВСЕ.


Скрипт2 должен выгружать данные из базы в файл *.xml

НачалоПериода = 1 число текущего месяца

если Сегодня меньше 01 октября КонецПериода = 31 декабря текущего года

другое КонецПериода = 31 декабря следующего года

Дальше идет проверка попадает ли объект в обработку данный параметр есть в  таблице Дополнительная №1, если нет то он пропускается, если ДА для него берем значение кода и цена из Дополнительная №1 (соответствие есть)

Дальше проверка на доступность объекта для заказа данный параметр есть в  таблице Дополнительная №1, если "не доступен" то весь период от начала до конца отмечается что данный объект доступен ТОЛЬКО ПОД ЗАКАЗ=4, если "доступен"

В основной таблице для данного объекта выбираются все заполненные статусы в пределах обрабатываемого периода, при наличии хоть какого то статуса он идентифицируется через связной параметр в таблице Дополнительная №2 - статус 1 или 2 или 3.

ищем в основной таблице для данного объекта наличие статуса на первый месяц обрабатываемого периода. Если есть проверяем чему он равен (т.к. значений для одного месяца у нас 2, а в данный момент нам нужен только один - то сравниваем их и берем больший)

Если 1 = значение +1 (еденичек может быть больше чем одна так что тут нужно накопление)

Если 2 или 3 = просто присваиваем значение 3

Если для данного объекта на данный период нет ничего =0

ВСЕ.

образец XML

<?xml version="1.0" encoding="windows-1251"?>
<ItemsList>
<Item>
<Code>xxx</Code>
<Price>999</Price>
<year>2016(today)</year>
<Month1>3</Month1>
<Month2>3</Month2>
<Month3>3</Month3>
<Month4>3</Month4>
<Month5>0</Month5>
<Month6>0</Month6>
<Month7>0</Month7>
<Month8>0</Month8>
<Month9>0</Month9>
<Month10>0</Month10>
<Month11>0</Month11>
<Month12>0</Month12>
</Item>
<Item>
<Code>xxx</Code>
<Price>999</Price>
<year>2017(next)</year>
<Month1>3</Month1>
<Month2>3</Month2>
<Month3>3</Month3>
<Month4>3</Month4>
<Month5>0</Month5>
<Month6>0</Month6>
<Month7>0</Month7>
<Month8>0</Month8>
<Month9>0</Month9>
<Month10>0</Month10>
<Month11>0</Month11>
<Month12>0</Month12>
</Item>




  1. 7 днів3000 ₽
    Артур Саптаров
     129 

    Вам необходимо, чтобы все работало с самого managment studio,
    или же вы рассматирваете программу, например созданную в PHP или C#?
    Отпишитесь в ЛК

    Росія Уфа | 21 квітня о 07:00 |
  2. 2 дні2000 ₽
    Сергей Аристов
     162   1   0

    Здравствуйте. Обращайтесь, помогу Вам.

    Білорусь Мінськ | 21 квітня о 09:10 |
  3. 7 днів1000 ₴
    Светлана Власюк
     275   5   0

    Добрый День!
    Работаю старшим разработчиком T-SQL в американской фирме.
    Писала похожие скрипты на основной работе. Могу выслать пример моего кода.

    Україна Київ | 21 квітня о 10:53 |

Замовник
Владимир Падалко
Україна Хмельницький  2   1
Проект опублікований
20 квітня о 19:13
75 переглядів
Місцеположення виконавця
Мітки
Поділитися