Перейти к публикации
forum-okna.ru

Прописать в отчете СО2006 невостребованые СП


Рекомендованные сообщения

Доброго времени дня всем...Возник такой вопрос - каким образом можно прописать в отчете-заявке на стеклопакеты размеры невостребованных пакетов таким образом, чтобы при совпадении размеров с погрешностью +- 3мм данная строка выделялась при предварительном просмотре?

Ссылка на комментарий
Поделиться на других сайтах


Оконный портал tybet.ru | Подписка на новости | Бесплатные объявления | Наша телега | База оконных знаний | ОНЛАЙН-ВЫСТАВКА



Доброго времени дня всем...Возник такой вопрос - каким образом можно прописать в отчете-заявке на стеклопакеты размеры невостребованных пакетов таким образом, чтобы при совпадении размеров с погрешностью +- 3мм данная строка выделялась при предварительном просмотре?

 

а как ты вообще получаешь список невостребованных СП?

Ссылка на комментарий
Поделиться на других сайтах

а как ты вообще получаешь список невостребованных СП?

 

Внесу ясность : невостребованые - т.е. изготовленные, но по каким либо причинам зависшие на складе и как правило хранящиеся там длительное время, занимая место, мешая, и медленно приходя в негодность...

Ну а список их можно получать разными способами. Самый банальный - послать кладовщика с рулеткой и листиком)

Ссылка на комментарий
Поделиться на других сайтах

Вот наваял такой способpost-11748-1286524066_thumb.jpg

однако возник еще вопрос - не могу в этом же условии прописать и размер наоборот..

пробовал - and = 900,0 х 1000,0мм - не получается.?

п.с тут конечно должно быть совпадение в размере 100% , без погрешности,.. пока

Изменено пользователем stur
Ссылка на комментарий
Поделиться на других сайтах

Внесу ясность : невостребованые - т.е. изготовленные, но по каким либо причинам зависшие на складе и как правило хранящиеся там длительное время, занимая место, мешая, и медленно приходя в негодность...

Ну а список их можно получать разными способами. Самый банальный - послать кладовщика с рулеткой и листиком)

Все равно неясно как СО должна подбирать пакеты? чтоб подобрать в автоматическом режиме нужно иметь доступ к списку не ликвидных пакетов + учесть возможность поворота пакета. Проблема в фастрепорте (который в СО) получить доступ к неликвидным пакетам...

Ссылка на комментарий
Поделиться на других сайтах

Все равно неясно как СО должна подбирать пакеты? чтоб подобрать в автоматическом режиме нужно иметь доступ к списку не ликвидных пакетов + учесть возможность поворота пакета. Проблема в фастрепорте (который в СО) получить доступ к неликвидным пакетам...

 

Ну например пишешь следующей строкой

if [Элемент:Размер] = размер наоборот , then ... вот тебе и перевернутый размер , затем

if [Элемент:Размер] = другой нужный тебе размер , then ...

ну и т.д.

Единственное нудобство - прописывать размер одного пакета надо два раза .. ну и пока не придумал как быть с +-3мм

Ссылка на комментарий
Поделиться на других сайтах

Ну например пишешь следующей строкой

if [Элемент:Размер] = размер наоборот , then ... вот тебе и перевернутый размер , затем

if [Элемент:Размер] = другой нужный тебе размер , then ...

ну и т.д.

Единственное нудобство - прописывать размер одного пакета надо два раза .. ну и пока не придумал как быть с +-3мм

Да нет проблем с +- 3 мм.

Вопрос в другом:

1. Сколько у тебя неликвидных пакетов? - 3-4 пакета не влом и руками перебрать, а 60 и более замучаешся в дизайнере отчетов вбивать.

2. Как ты будешь удалять подобранные? - Возможна ситуация когда один неликвидный пакет будет подобран 2 и более раз, а у тебя он один и наоборот.

3. Как будешь добавлять новые? - Оперативность внесения изменения в данный отчет как минимум каждый раз после заказа пакетов и после оканчания работы смены.

 

Вывод: путь по которому пытаешься идти только сильней запутает и приведет к большему количеству ошибок.

Ссылка на комментарий
Поделиться на других сайтах

Да нет проблем с +- 3 мм.

Вопрос в другом:

1. Сколько у тебя неликвидных пакетов? - 3-4 пакета не влом и руками перебрать, а 60 и более замучаешся в дизайнере отчетов вбивать.

2. Как ты будешь удалять подобранные? - Возможна ситуация когда один неликвидный пакет будет подобран 2 и более раз, а у тебя он один и наоборот.

3. Как будешь добавлять новые? - Оперативность внесения изменения в данный отчет как минимум каждый раз после заказа пакетов и после оканчания работы смены.

 

Вывод: путь по которому пытаешься идти только сильней запутает и приведет к большему количеству ошибок.

Это все понятно... но не надо же вдаваться в крайности)

Допустим у меня не 3-4 и не 60 пакетов, а к примеру 20. Тут уже руками особо не поперебираешь, если за месяц у тебя 1000шт пакетов в производстве.

В удалении подобранных тоже не вижу проблем - 4 нажатия мыши - и ты редактируешь скрипт memo - хочешь удаляй - хочешь добавляй.

Все равно совпадения не будут очень частыми)ъ

Вы лучше поподробней про +-3 мм, как реализовать?post-11748-1286954871_thumb.jpg

Изменено пользователем stur
Ссылка на комментарий
Поделиться на других сайтах

Вы лучше поподробней про +-3 мм, как реализовать

Вообще способ дикий, но....

 

Про 3 мм - надо просто разбить размер на ширину и высоту.

Далее к ним уже, как к числам можно прибавлять габарит пакета и сравнивать с 3 мм...

Ссылка на комментарий
Поделиться на других сайтах

Вообще способ дикий, но....

 

Про 3 мм - надо просто разбить размер на ширину и высоту.

Далее к ним уже, как к числам можно прибавлять габарит пакета и сравнивать с 3 мм...

 

Думал про это, но тут возникнет проблема - будет подхватывать 'Есть на складе' при совпадении ТОЛЬКО ширины, или ТОЛЬКО высоты..., что не хорошо.

Если можете привести пример скрипта , исключающего такой глюк - буду очень благодарен)

Ссылка на комментарий
Поделиться на других сайтах

Думал про это, но тут возникнет проблема - будет подхватывать 'Есть на складе' при совпадении ТОЛЬКО ширины, или ТОЛЬКО высоты..., что не хорошо.

Если можете привести пример скрипта , исключающего такой глюк - буду очень благодарен)

В моем представлении 20 пакетов это порядка 6-8 т.р., а проблемы вызванные таким решением могут стоить больше, ну да ладно пытался Вас отговорить...

Вот пример (за основу взято разделение ширины и высоты от сюда):

begin
height := STRTOFLOAT(COPY([Элемент:Размер], 1, POS(' ', [Элемент:Размер]))); - высота пакета
width := STRTOFLOAT(COPY([Элемент:Размер], (POS(' ', [Элемент:Размер])+2),(POS('мм.', [Элемент:Размер])-(POS(' ', [Элемент:Размер])+2)))); - ширина пакета
a := 300; - высота неликвида
b := 400; - ширина неликвида
if ((height - 3) =< a <= (height  + 3)) and ((width - 3)=< b <= (width +3)) then
 memo := 'Ура! Есть на складе!';
end

Можно нарисовать и красивее... это пример.

Ссылка на комментарий
Поделиться на других сайтах

В моем представлении 20 пакетов это порядка 6-8 т.р., а проблемы вызванные таким решением могут стоить больше, ну да ладно пытался Вас отговорить...

Вот пример (за основу взято разделение ширины и высоты от сюда):

begin
height := STRTOFLOAT(COPY([Элемент:Размер], 1, POS(' ', [Элемент:Размер]))); - высота пакета
width := STRTOFLOAT(COPY([Элемент:Размер], (POS(' ', [Элемент:Размер])+2),(POS('мм.', [Элемент:Размер])-(POS(' ', [Элемент:Размер])+2)))); - ширина пакета
a := 300; - высота неликвида
b := 400; - ширина неликвида
if ((height - 3) =< a <= (height  + 3)) and ((width - 3)=< b <= (width +3)) then
 memo := 'Ура! Есть на складе!';
end

Можно нарисовать и красивее... это пример.

 

Отлично. Попробуем. Спасибо!

Ссылка на комментарий
Поделиться на других сайтах

Отлично. Попробуем. Спасибо!

 

Ты тогда попробуй следующее:

1. Создать отчет (тип Изделие) в котором создавался бы список СП с разбиением Ш и В СП и формированием сразу условия которое тебе предложили.

2. Результат сохранять в текстовик

3. Загружать в твой отчет этот текстовик и формировать Отчет по наличию имеющихся СП...

Ссылка на комментарий
Поделиться на других сайтах

3. Загружать в твой отчет этот текстовик и формировать Отчет по наличию имеющихся СП...

Вот тут уже начинается интересно :rolleyes: каким образом загрузить в отчет внешние данные? (стандартный FR это умеет, но не тот что в СО).

Ссылка на комментарий
Поделиться на других сайтах

Вот тут уже начинается интересно :rolleyes: каким образом загрузить в отчет внешние данные? (стандартный FR это умеет, но не тот что в СО).

 

ну раз он хочет вручную прописывать размеры для поиска, то лучше методом копирование результата из файла...(буфер обмена никто не отменял :) )

 

 

Попробовал...и у меня получилось...

Изменено пользователем plastkor
Ссылка на комментарий
Поделиться на других сайтах

Это не ошибка, это реализация ;), дело в том, что даже если пакет не подобрался FR выводит чистую строку.

Да не похоже. ..

Скорее ошибка, т.к даже цифры одни на другие накладываются. Посмотрите пож-та..

Ссылка на комментарий
Поделиться на других сайтах

Да не похоже. ..

Скорее ошибка, т.к даже цифры одни на другие накладываются. Посмотрите пож-та..

На твоем скриншоте ничего не разобрать, а пустота это нормально. попробуй каждый раз как не удалось подобрать пакет выводить надпись (например: "неудача") и все станет ясно, а наложение это из-за плохого дизайна.

Ссылка на комментарий
Поделиться на других сайтах

На твоем скриншоте ничего не разобрать, а пустота это нормально. попробуй каждый раз как не удалось подобрать пакет выводить надпись (например: "неудача") и все станет ясно, а наложение это из-за плохого дизайна.

Вот мой алгоритм действий:

захожу в редактирование отчетов, нахожу свой отчет-заявку со стеклопакетами, открываю memo, где у меня [Элемент:Размер], добавляю код...

Вот пример post-11748-1287481861_thumb.jpg

 

Затем выбираю изделие с ОДНИМ стеклопакетом и мне выдает следующее:

post-11748-1287481985_thumb.jpg

 

Явно что-то с кодом..

Ссылка на комментарий
Поделиться на других сайтах

Вот мой алгоритм действий:

захожу в редактирование отчетов, нахожу свой отчет-заявку со стеклопакетами, открываю memo, где у меня [Элемент:Размер], добавляю код...

Явно что-то с кодом..

Для начала надо включать голову!

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

Из строки вида "1000х2000 мм.", последовательно получаем 1000 - как число и 2000 соответственно и осуществляем проверку по заданному условию (+-3 мм.). Задачка на уровне "Hello world!"

Далее, вот рабочий код:

begin
height := STRTOFLOAT(COPY([Элемент:Размер], 1, POS(' ', [Элемент:Размер])));
width := STRTOFLOAT(COPY([Элемент:Размер], (POS(' ', [Элемент:Размер])+2),(POS('мм.', [Элемент:Размер])-(POS(' ', [Элемент:Размер])+2))));
a := 1204;
b := 644;
if ((height - 4) < a ) and (a < (height  + 4)) and ((width - 4) < b ) and (b < (width + 4)) then
  memo := 'Ура! Есть на складе!';
end

Нужно понимать:

1. Что код писался на вскидку без проверки и Вам не помешало попытаться разобраться что-ж там происходит!

2. Судя по Вашим скриншотам вы не удосужились убрать поясняющие комментарии! (типа: "- высота пакета") как только синтаксический контроль пропустил это?

3. Да в коде действительно была ошибка, а именно: не работает сравнение "=<" и ">=" т.е. мне не понятно каким образом у Вас вообще запустился отчет? Продемонстрированная Вами проблема ни как не связана с ошибкой сравнения.

4. Какая версия СО? Тут нет телепатов! Вы знакомы с языком: Pascal или средой разработки Delphi?

5. Почему не обратились в тех. поддержку КСТ?

Изменено пользователем viollan
Ссылка на комментарий
Поделиться на других сайтах

На твоем скриншоте ничего не разобрать, а пустота это нормально. попробуй каждый раз как не удалось подобрать пакет выводить надпись (например: "неудача") и все станет ясно, а наложение это из-за плохого дизайна.

 

Условия задаются с разбиением и обязательно в скобках и еще надо проверять не только размер но и тип СП, а то тебе надо 32 СП а прога покажет 24 СП с таким размером ;)

 

if ((height - 3)<= 1198) or (1198 >= (height + 3)) and

((width - 3)<=423) or (423 >= (width +3)) and

('4\10\4\10\4' = Артикул) then

memo := Артикул+' '+size+ '- Есть' else memo:= Артикул+' '+size +'- Нету';

Ссылка на комментарий
Поделиться на других сайтах

Для начала надо включать голову!

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

Из строки вида "1000х2000 мм.", последовательно получаем 1000 - как число и 2000 соответственно и осуществляем проверку по заданному условию (+-3 мм.). Задачка на уровне "Hello world!"

Далее, вот рабочий код:

begin
height := STRTOFLOAT(COPY([Элемент:Размер], 1, POS(' ', [Элемент:Размер])));
width := STRTOFLOAT(COPY([Элемент:Размер], (POS(' ', [Элемент:Размер])+2),(POS('мм.', [Элемент:Размер])-(POS(' ', [Элемент:Размер])+2))));
a := 1204;
b := 644;
if ((height - 4) < a ) and (a < (height  + 4)) and ((width - 4) < b ) and (b < (width + 4)) then
  memo := 'Ура! Есть на складе!';
end

Нужно понимать:

1. Что код писался на вскидку без проверки и Вам не помешало попытаться разобраться что-ж там происходит!

2. Судя по Вашим скриншотам вы не удосужились убрать поясняющие комментарии! (типа: "- высота пакета") как только синтаксический контроль пропустил это?

3. Да в коде действительно была ошибка, а именно: не работает сравнение "=<" и ">=" т.е. мне не понятно каким образом у Вас вообще запустился отчет? Продемонстрированная Вами проблема ни как не связана с ошибкой сравнения.

4. Какая версия СО? Тут нет телепатов! Вы знакомы с языком: Pascal или средой разработки Delphi?

5. Почему не обратились в тех. поддержку КСТ?

У Вас что-то с нервами?

я не знаком с Pascal и Delphi...

Ссылка на комментарий
Поделиться на других сайтах

begin

height := STRTOFLOAT(COPY([Элемент:Размер], 1, POS(' ', [Элемент:Размер])));

width := STRTOFLOAT(COPY([Элемент:Размер], (POS(' ', [Элемент:Размер])+2),(POS('мм.', [Элемент:Размер])-(POS(' ', [Элемент:Размер])+2))));

a := 1204;

b := 644;

if ((height - 4) < a ) and (a < (height + 4)) and ((width - 4) < b ) and (b < (width + 4)) then

memo := 'Ура! Есть на складе!';

end

 

Этот код просто делает размер ячейки в которой прописан - размерами a х b.

И связано это с heigh и width, поскольку при замене их на буквы d и с эффект изменения размера ячейки пропадает, но все равно не работает.

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

Условия и правила использования форума Правила.