Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как объединить два макроса из разных гугл-книг? - Страница 2 - Мир MS Excel

  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: _Boroda_, китин, DrMini  
Как объединить два макроса из разных гугл-книг?
Gustav Дата: Четверг, 26.01.2023, 19:17 | Сообщение № 21
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Итак, второй файл "Загрузка опер.центров". Очевидно, нужно, чтобы каким-то образом детали с листа "Импорт" в статусе "В работе" оказались бы на листах станков для обработки.

"Оказаться" на одном из листов станков деталь может:
* либо в результате работы некоторой формулы, находящейся на этом листе (и "выдергивающей" и отображающей наименование детали в определенном месте листа)
* либо в результате копирования (ввода) имени детали с листа "Импорт" на лист нужного станка, т.е. только текст без формулы (подобное копирование можно осуществить либо скриптом, либо выбором из списка)

Что выбрать? Склоняюсь в пользу второго варианта - копирования (ввода), т.е. без формул. И вот почему. Я смотрю на лист "Фрезерные (ФУ)" и вижу крайнюю правую колонку "Очередь из деталей на станки", в которой находится деталь (ячейка с текстом) "TPYG.1789.00.08_Пуансон". ВОПРОС: Как она там оказалась (или окажется)? В результате работы некоторого автоматического скрипта-загрузчика (который мы напишем) за счет того, что в наименовании листа встречается код операции "ФУ", с которым эта деталь "приехала" из первого файла? Или в результате выбора из некоторого будущего списка (который мы туда прикрутим)? Сейчас там формула с функцией IMPORTRANGE со ссылкой на конкретную ячейку первого файла и вопрос в том, следование каким именно правилам сформировало эту ссылку.

Что будет дальше с этой ячейкой-деталью? Её подцепят мышкой и перетащат из колонки "Очередь" в колонку "Номер и обозначение детали" одного из станков, расположенных на этом листе слева? Дальше, видимо, в выбранном станке для этой детали будут заполнены поля: "t обработки, ч", "время начала обработки", "время окончания обработки", "коментарии", так?

Далее предположу, что после заполнения определенного поля, например, "Время окончания", (или после наступления какого-то заранее оговоренного события) деталь вместе со всей своей информацией должна будет "покинуть" станок и "переместиться" на какой-нибудь лист типа "Архив Обработанных деталей".

Похожи ли эти мои предположения на правду? Можете, пожалуйста, прокомментировать и дополнить описание этой картины "станочного" мира, как Вы ее изначально задумали к осуществлению?


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеИтак, второй файл "Загрузка опер.центров". Очевидно, нужно, чтобы каким-то образом детали с листа "Импорт" в статусе "В работе" оказались бы на листах станков для обработки.

"Оказаться" на одном из листов станков деталь может:
* либо в результате работы некоторой формулы, находящейся на этом листе (и "выдергивающей" и отображающей наименование детали в определенном месте листа)
* либо в результате копирования (ввода) имени детали с листа "Импорт" на лист нужного станка, т.е. только текст без формулы (подобное копирование можно осуществить либо скриптом, либо выбором из списка)

Что выбрать? Склоняюсь в пользу второго варианта - копирования (ввода), т.е. без формул. И вот почему. Я смотрю на лист "Фрезерные (ФУ)" и вижу крайнюю правую колонку "Очередь из деталей на станки", в которой находится деталь (ячейка с текстом) "TPYG.1789.00.08_Пуансон". ВОПРОС: Как она там оказалась (или окажется)? В результате работы некоторого автоматического скрипта-загрузчика (который мы напишем) за счет того, что в наименовании листа встречается код операции "ФУ", с которым эта деталь "приехала" из первого файла? Или в результате выбора из некоторого будущего списка (который мы туда прикрутим)? Сейчас там формула с функцией IMPORTRANGE со ссылкой на конкретную ячейку первого файла и вопрос в том, следование каким именно правилам сформировало эту ссылку.

Что будет дальше с этой ячейкой-деталью? Её подцепят мышкой и перетащат из колонки "Очередь" в колонку "Номер и обозначение детали" одного из станков, расположенных на этом листе слева? Дальше, видимо, в выбранном станке для этой детали будут заполнены поля: "t обработки, ч", "время начала обработки", "время окончания обработки", "коментарии", так?

Далее предположу, что после заполнения определенного поля, например, "Время окончания", (или после наступления какого-то заранее оговоренного события) деталь вместе со всей своей информацией должна будет "покинуть" станок и "переместиться" на какой-нибудь лист типа "Архив Обработанных деталей".

Похожи ли эти мои предположения на правду? Можете, пожалуйста, прокомментировать и дополнить описание этой картины "станочного" мира, как Вы ее изначально задумали к осуществлению?

Автор - Gustav
Дата добавления - 26.01.2023 в 19:17
gutsoff200991 Дата: Четверг, 26.01.2023, 21:14 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Что выбрать?

так же больше склоняюсь к варианту без формул.

Сейчас там формула с функцией IMPORTRANGE со ссылкой на конкретную ячейку первого файла и вопрос в том, следование каким именно правилам сформировало эту ссылку.

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

В результате работы некоторого автоматического скрипта-загрузчика (который мы напишем) за счет того, что в наименовании листа встречается код операции "ФУ", с которым эта деталь "приехала" из первого файла?

Склоняюсь к этому варианту, потому что в будущем в файл со станками будут добавляться другие детали из других проэктов.

Её подцепят мышкой и перетащат из колонки "Очередь" в колонку "Номер и обозначение детали" одного из станков, расположенных на этом листе слева? Дальше, видимо, в выбранном станке для этой детали будут заполнены поля: "t обработки, ч", "время начала обработки", "время окончания обработки", "коментарии", так?

Именно так и будет. Если это возможно, то было бы очень хорошо, если скрипт смог бы автоматически заполнять время начала и конца обработки.

Далее предположу, что после заполнения определенного поля, например, "Время окончания", (или после наступления какого-то заранее оговоренного события) деталь вместе со всей своей информацией должна будет "покинуть" станок и "переместиться" на какой-нибудь лист типа "Архив Обработанных деталей".

Предполагалось то, что в очередь на станки (крайний правый столбей на листе ФУ) попадает деталь с выделением ячейки желтым, после окончания обработки деталь остается в таблице станка, но ячейка выдекляется серым цветом. Это возможно и не приведет к затруднению работы скрипта в будущем (допустим если в таблице станка скопится более 500 значений)?


Сообщение отредактировал gutsoff200991 - Четверг, 26.01.2023, 21:18
 
Ответить
Сообщение
Что выбрать?

так же больше склоняюсь к варианту без формул.

Сейчас там формула с функцией IMPORTRANGE со ссылкой на конкретную ячейку первого файла и вопрос в том, следование каким именно правилам сформировало эту ссылку.

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

В результате работы некоторого автоматического скрипта-загрузчика (который мы напишем) за счет того, что в наименовании листа встречается код операции "ФУ", с которым эта деталь "приехала" из первого файла?

Склоняюсь к этому варианту, потому что в будущем в файл со станками будут добавляться другие детали из других проэктов.

Её подцепят мышкой и перетащат из колонки "Очередь" в колонку "Номер и обозначение детали" одного из станков, расположенных на этом листе слева? Дальше, видимо, в выбранном станке для этой детали будут заполнены поля: "t обработки, ч", "время начала обработки", "время окончания обработки", "коментарии", так?

Именно так и будет. Если это возможно, то было бы очень хорошо, если скрипт смог бы автоматически заполнять время начала и конца обработки.

Далее предположу, что после заполнения определенного поля, например, "Время окончания", (или после наступления какого-то заранее оговоренного события) деталь вместе со всей своей информацией должна будет "покинуть" станок и "переместиться" на какой-нибудь лист типа "Архив Обработанных деталей".

Предполагалось то, что в очередь на станки (крайний правый столбей на листе ФУ) попадает деталь с выделением ячейки желтым, после окончания обработки деталь остается в таблице станка, но ячейка выдекляется серым цветом. Это возможно и не приведет к затруднению работы скрипта в будущем (допустим если в таблице станка скопится более 500 значений)?

Автор - gutsoff200991
Дата добавления - 26.01.2023 в 21:14
Gustav Дата: Четверг, 26.01.2023, 22:00 | Сообщение № 23
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Если это возможно, то было бы очень хорошо, если скрипт смог бы автоматически заполнять время начала и конца обработки.
Там три поля: "Время обработки", "Начало" и "Окончание". Скрипт, конечно, сможет заполнить любое третье поле при известных двух других. Но пока не понятно, кто и в какой момент заполнит эти два других ("известных").

Предполагалось то, что в очередь на станки (крайний правый столбей на листе ФУ) попадает деталь с выделением ячейки желтым, после окончания обработки деталь остается в таблице станка, но ячейка выдекляется серым цветом. Это возможно и не приведет к затруднению работы скрипта в будущем (допустим если в таблице станка скопится более 500 значений)?
А сделайте, пожалуйста, во втором файле копию листа станков "(ФУ)" и нарисуйте на нём вручную такую картину, как Вы ее видите:
1. две детали ожидают очереди в крайней правой колонке - покрасьте вручную их жёлтым
2. две детали находятся на обработке в конкретном станке - покрасьте их (каким?) цветом, заполните поля типа "t обработки"
3. две детали закончили обработку - покрасьте их вручную серым, где они находятся - опять справа? выше/ниже жёлтых? Как они переместились обратно в очередь: вручную мышкой перетащили? или в первом файле установили статус "Выполнено", который протранслировался на лист "Импорт" и какой-то робот-скрипт, запускаемый, скажем, каждые 10 минут (или каждый час), увидев новый статус, перенес их с выполнения обратно в очередь. Понятно, что в рамках ручной разрисовки можно перетащить мышкой, точнее, даже просто набить текст в колонке "Очередь", но подумайте и напишите, как хотелось бы, чтобы это происходило.

Или же третьего шага не происходит, они никуда не перемещаются обратно в очередь и остаются в колонке станка? В общем, нарисуйте пример, всё станет понятнее.

[p.s.]Извиняюсь, перечитал Вас - увидел, что Вы "оставляете" деталь в колонке станка. [/p.s.]Ок, тогда еще уточняющий вопрос. А каких временах обработки мы говорим (порядок)? Как быстро в колонке станка накопится 500 значений?


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Четверг, 26.01.2023, 22:05
 
Ответить
Сообщение
Если это возможно, то было бы очень хорошо, если скрипт смог бы автоматически заполнять время начала и конца обработки.
Там три поля: "Время обработки", "Начало" и "Окончание". Скрипт, конечно, сможет заполнить любое третье поле при известных двух других. Но пока не понятно, кто и в какой момент заполнит эти два других ("известных").

Предполагалось то, что в очередь на станки (крайний правый столбей на листе ФУ) попадает деталь с выделением ячейки желтым, после окончания обработки деталь остается в таблице станка, но ячейка выдекляется серым цветом. Это возможно и не приведет к затруднению работы скрипта в будущем (допустим если в таблице станка скопится более 500 значений)?
А сделайте, пожалуйста, во втором файле копию листа станков "(ФУ)" и нарисуйте на нём вручную такую картину, как Вы ее видите:
1. две детали ожидают очереди в крайней правой колонке - покрасьте вручную их жёлтым
2. две детали находятся на обработке в конкретном станке - покрасьте их (каким?) цветом, заполните поля типа "t обработки"
3. две детали закончили обработку - покрасьте их вручную серым, где они находятся - опять справа? выше/ниже жёлтых? Как они переместились обратно в очередь: вручную мышкой перетащили? или в первом файле установили статус "Выполнено", который протранслировался на лист "Импорт" и какой-то робот-скрипт, запускаемый, скажем, каждые 10 минут (или каждый час), увидев новый статус, перенес их с выполнения обратно в очередь. Понятно, что в рамках ручной разрисовки можно перетащить мышкой, точнее, даже просто набить текст в колонке "Очередь", но подумайте и напишите, как хотелось бы, чтобы это происходило.

Или же третьего шага не происходит, они никуда не перемещаются обратно в очередь и остаются в колонке станка? В общем, нарисуйте пример, всё станет понятнее.

[p.s.]Извиняюсь, перечитал Вас - увидел, что Вы "оставляете" деталь в колонке станка. [/p.s.]Ок, тогда еще уточняющий вопрос. А каких временах обработки мы говорим (порядок)? Как быстро в колонке станка накопится 500 значений?

Автор - Gustav
Дата добавления - 26.01.2023 в 22:00
gutsoff200991 Дата: Четверг, 26.01.2023, 22:45 | Сообщение № 24
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Есть файл, как это делали раньше в ручную - https://docs.google.com/spreads....294720. Обратите внимание, что иногда в ручную прописывается красная строка "Время чистки"

Сделал еще пример файла, как я это вижу - https://docs.google.com/spreads....610966.

1. две детали ожидают очереди в крайней правой колонке - покрасьте вручную их жёлтым

1. В правой колонке "очередь на станки" находится одна нераспределенная деталь, которую еще не распределили. Она ждет ручного распределения на свободный станок и подходящий по параметрам станок. В данном случае это либо второй (свободный) станок, либо первый, после того, как он освободится (выполнит операцию с деталью, которая сейчас в обработке)

2. две детали находятся на обработке в конкретном станке - покрасьте их (каким?) цветом, заполните поля типа "t обработки"

2 Две детали на первом станке (одна в работе с желтым цветом), а одна уже выполнена (серым цветом)

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

Детали помеченные серым так и остаются в очереди на станок как выполненные.

или в первом файле установили статус "Выполнено", который протранслировался на лист "Импорт" и какой-то робот-скрипт, запускаемый, скажем, каждые 10 минут (или каждый час), увидев новый статус, перенес их с выполнения обратно в очередь.

То, что выполненные детали остаются в очереди станка и выделяются серым, как выполненные написал выше. Хочу уточнить, подразумевалось то что все действия, кроме ручного переноса детали в очередь станка, выполнялись бы как вы пишите "в первом файле установили статус "Выполнено", который протранслировался на лист "Импорт" и какой-то робот-скрипт, запускаемый, скажем, каждые 10 минут (или каждый час), увидев новый статус и...." выполнил постановку в очередь на станок и пометку ячейки выполненной детали серым цветом.

Или же третьего шага не происходит, они никуда не перемещаются обратно в очередь и остаются в колонке станка?

Да
 
Ответить
СообщениеЕсть файл, как это делали раньше в ручную - https://docs.google.com/spreads....294720. Обратите внимание, что иногда в ручную прописывается красная строка "Время чистки"

Сделал еще пример файла, как я это вижу - https://docs.google.com/spreads....610966.

1. две детали ожидают очереди в крайней правой колонке - покрасьте вручную их жёлтым

1. В правой колонке "очередь на станки" находится одна нераспределенная деталь, которую еще не распределили. Она ждет ручного распределения на свободный станок и подходящий по параметрам станок. В данном случае это либо второй (свободный) станок, либо первый, после того, как он освободится (выполнит операцию с деталью, которая сейчас в обработке)

2. две детали находятся на обработке в конкретном станке - покрасьте их (каким?) цветом, заполните поля типа "t обработки"

2 Две детали на первом станке (одна в работе с желтым цветом), а одна уже выполнена (серым цветом)

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

Детали помеченные серым так и остаются в очереди на станок как выполненные.

или в первом файле установили статус "Выполнено", который протранслировался на лист "Импорт" и какой-то робот-скрипт, запускаемый, скажем, каждые 10 минут (или каждый час), увидев новый статус, перенес их с выполнения обратно в очередь.

То, что выполненные детали остаются в очереди станка и выделяются серым, как выполненные написал выше. Хочу уточнить, подразумевалось то что все действия, кроме ручного переноса детали в очередь станка, выполнялись бы как вы пишите "в первом файле установили статус "Выполнено", который протранслировался на лист "Импорт" и какой-то робот-скрипт, запускаемый, скажем, каждые 10 минут (или каждый час), увидев новый статус и...." выполнил постановку в очередь на станок и пометку ячейки выполненной детали серым цветом.

Или же третьего шага не происходит, они никуда не перемещаются обратно в очередь и остаются в колонке станка?

Да

Автор - gutsoff200991
Дата добавления - 26.01.2023 в 22:45
gutsoff200991 Дата: Четверг, 26.01.2023, 22:55 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

А каких временах обработки мы говорим (порядок)?

Если вы про это "Там три поля: "Время обработки", Начало и "Окончание"...." то это вообще не обязательно. Эта Информация есть на листе Импорт.
"Время начала обработки" - это время когда на листе "Импопрт" появился статус, что деталь "в работе" на данной операции.
"Время окончания обработки" - это время когда на листе "Импопрт" появился статус, что деталь "Выполнена" на данной операции
там кажется два временных значения.

Как быстро в колонке станка накопится 500 значений

Не думаю что быстро. По последнему проекту за месяц тут появилось бы около 14-15 строк.
 
Ответить
Сообщение
А каких временах обработки мы говорим (порядок)?

Если вы про это "Там три поля: "Время обработки", Начало и "Окончание"...." то это вообще не обязательно. Эта Информация есть на листе Импорт.
"Время начала обработки" - это время когда на листе "Импопрт" появился статус, что деталь "в работе" на данной операции.
"Время окончания обработки" - это время когда на листе "Импопрт" появился статус, что деталь "Выполнена" на данной операции
там кажется два временных значения.

Как быстро в колонке станка накопится 500 значений

Не думаю что быстро. По последнему проекту за месяц тут появилось бы около 14-15 строк.

Автор - gutsoff200991
Дата добавления - 26.01.2023 в 22:55
Gustav Дата: Пятница, 27.01.2023, 23:34 | Сообщение № 26
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Сделал свою копию Вашего второго файла
https://docs.google.com/spreads....sharing
(id таблицы 1KSgnB1HzUF1IjKlwekbe0F1ZsRW-X55bfhxI4L18xxw )
и расширил ее новым листом "Списки" (самый крайний правый, после "Импорта"). На этом новом листе пока два списка:
* список "Импорта", расположенный по убыванию значений времени в поле "Таймштамп", т.е. развернутый на 180 градусов - нужен для получения следующего списка
* список уникальных сочетаний "наименование детали-операция" с актуальными статусам (т.е. статусами на самый поздний таймштамп для этого уникального сочетания)

Первый список создан формулой в ячейке A3 листа "Списки":
[vba]
Код
=QUERY({'ИмпортОчередиДеталейНаСтанки'!A2:D}; "select Col2, Col3, Col4, Col1 where Col1 is not null order by Col1 desc")
[/vba]

Второй список создан двумя формулами на листе "Списки":
в ячейке F3 - уникальные сочетания "деталь-операция":
[vba]
Код
=SORT(UNIQUE(FILTER(A3:B;D3:D<>"")))
[/vba]
в ячейке H3 - ВПР-массив актуальных статусов "деталей-операций" (самых поздних по таймштампу), синхронизированный по размеру с массивом уникальных сочетаний:
[vba]
Код
=ARRAY_CONSTRAIN(ArrayFormula(VLOOKUP(A3:A&"_"&B3:B; {A3:A&"_"&B3:B\C3:D}; {2\3}; FALSE)); COUNTA(F3:F);2)
[/vba]

На листе "Фрезерные (ФУ)" в ячейку S2 (под заголовком "Очередь из деталей на станки") ввел следующую формулу массива:
[vba]
Код
=IFERROR({"";FILTER('Списки'!F3:F;
ISNUMBER(SEARCH("ФУ";'Списки'!G3:G));
'Списки'!H3:H="В работе";
ISNA(MATCH('Списки'!F3:F;B2:B;0));
ISNA(MATCH('Списки'!F3:F;H2:H;0));
ISNA(MATCH('Списки'!F3:F;N2:N;0)))};"<очередь ФУ пуста>")
[/vba]
Поскольку формула находится в ячейке выше рабочей области листа, начинающейся с 3-й строки, содержимое ячеек колонки S можно свободно копировать и даже перетаскивать мышкой, не боясь сломать формулу. Лучше копировать (при перетаскивании может нарушаться форматирование ячеек "Очереди").

Если скопировать ячейку с названием детали из очереди, а затем вставить ее в одну из станковых колонок "номер и обозначение детали", то деталь из очереди исчезнет! Т.е. как будто бы реально перешла из зоны ожидания в обработку. Визуально очень неплохо смотрится! Чтобы вернуть деталь обратно в очередь (например, вытащили по ошибке раньше времени), ее нужно просто стереть клавишей Delete в станковой колонке "номер и обозначение детали" - и деталь снова "возникнет" в очереди. Однако, не нужно пытаться перетащить ее со станка в очередь мышкой - формула временно сломается с ошибкой #REF!. Т.е. общее правило: таскать из очереди можно, а впихивать (грубо) обратно - нет (для этого нужно пользоваться клавишей Delete в другой колонке).

Наконец, еще одна мулька на листе станка. Клавиша Delete, нажатая на любой ячейке с текстом "номер и обозначение детали" (как будто бы хотим стереть эту ячейку) приводит к тому, что текст в ячейке восстанавливается, а все детали, находящиеся в списке станка, смещаются на одну строку ниже, освобождая таким образом первую строку станка для новой детали, которую планируется добавить из очереди справа. Делается мулька при помощи такого скрипта:
[vba]
Код
function onEdit(e) {
    // "команда сдёргивания" - нажатие клавиши Delete на ячейке приводит к выполнению
    var origValue = e.oldValue;
    if (origValue.toUpperCase() == "номер и обозначение детали".toUpperCase()) {
        // восстановление содержимого ячейки
        e.range.setValue("номер и обозначение детали");
        // выполнение команды - сдвиг заполненных ячеек вниз
        // с образованием пустого места для "размещения" новой детали
        e.range.offset(1, -1, 1, 6).insertCells(SpreadsheetApp.Dimension.ROWS);
    }
}
[/vba]

Думаю, что надо сделать такие же очереди-"предбанники" справа и для других операций, даже если станок один на листе - очень уж наглядно получается! К тому же, существенно то, что в "Очереди" справа работает формула, а по рабочим областям станков перемещаются ячейки-детали с простым текстовым содержимым (константы). Т.е. предлагаю сделать единый подход на всех листах станков - вне зависимости от того, один ли станок на листе или несколько.

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

И надо подумать как дальше внедрять новый функционал. Предлагаю, как уже получилось один раз, поочередные действия. Я делаю набросок чего-то на фрагменте, после чего Вы делаете свою копию с моей, по уже известной аналогии дорабатываете все остальные родственные фрагменты и опять выкладываете свою обновленную версию, с которой уже я делаю новую копию и внедряю в неё новые элементы фуцнкционала. И так дальше по очереди.

Я сейчас внедрил формулы на двух листах: ФЧПУ и ФУ. Вам предлагаю разобраться и внедрить их на остальных станках. А я тем временем займусь условным форматированием во втором файле (жёлтая и серая раскраска).


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеСделал свою копию Вашего второго файла
https://docs.google.com/spreads....sharing
(id таблицы 1KSgnB1HzUF1IjKlwekbe0F1ZsRW-X55bfhxI4L18xxw )
и расширил ее новым листом "Списки" (самый крайний правый, после "Импорта"). На этом новом листе пока два списка:
* список "Импорта", расположенный по убыванию значений времени в поле "Таймштамп", т.е. развернутый на 180 градусов - нужен для получения следующего списка
* список уникальных сочетаний "наименование детали-операция" с актуальными статусам (т.е. статусами на самый поздний таймштамп для этого уникального сочетания)

Первый список создан формулой в ячейке A3 листа "Списки":
[vba]
Код
=QUERY({'ИмпортОчередиДеталейНаСтанки'!A2:D}; "select Col2, Col3, Col4, Col1 where Col1 is not null order by Col1 desc")
[/vba]

Второй список создан двумя формулами на листе "Списки":
в ячейке F3 - уникальные сочетания "деталь-операция":
[vba]
Код
=SORT(UNIQUE(FILTER(A3:B;D3:D<>"")))
[/vba]
в ячейке H3 - ВПР-массив актуальных статусов "деталей-операций" (самых поздних по таймштампу), синхронизированный по размеру с массивом уникальных сочетаний:
[vba]
Код
=ARRAY_CONSTRAIN(ArrayFormula(VLOOKUP(A3:A&"_"&B3:B; {A3:A&"_"&B3:B\C3:D}; {2\3}; FALSE)); COUNTA(F3:F);2)
[/vba]

На листе "Фрезерные (ФУ)" в ячейку S2 (под заголовком "Очередь из деталей на станки") ввел следующую формулу массива:
[vba]
Код
=IFERROR({"";FILTER('Списки'!F3:F;
ISNUMBER(SEARCH("ФУ";'Списки'!G3:G));
'Списки'!H3:H="В работе";
ISNA(MATCH('Списки'!F3:F;B2:B;0));
ISNA(MATCH('Списки'!F3:F;H2:H;0));
ISNA(MATCH('Списки'!F3:F;N2:N;0)))};"<очередь ФУ пуста>")
[/vba]
Поскольку формула находится в ячейке выше рабочей области листа, начинающейся с 3-й строки, содержимое ячеек колонки S можно свободно копировать и даже перетаскивать мышкой, не боясь сломать формулу. Лучше копировать (при перетаскивании может нарушаться форматирование ячеек "Очереди").

Если скопировать ячейку с названием детали из очереди, а затем вставить ее в одну из станковых колонок "номер и обозначение детали", то деталь из очереди исчезнет! Т.е. как будто бы реально перешла из зоны ожидания в обработку. Визуально очень неплохо смотрится! Чтобы вернуть деталь обратно в очередь (например, вытащили по ошибке раньше времени), ее нужно просто стереть клавишей Delete в станковой колонке "номер и обозначение детали" - и деталь снова "возникнет" в очереди. Однако, не нужно пытаться перетащить ее со станка в очередь мышкой - формула временно сломается с ошибкой #REF!. Т.е. общее правило: таскать из очереди можно, а впихивать (грубо) обратно - нет (для этого нужно пользоваться клавишей Delete в другой колонке).

Наконец, еще одна мулька на листе станка. Клавиша Delete, нажатая на любой ячейке с текстом "номер и обозначение детали" (как будто бы хотим стереть эту ячейку) приводит к тому, что текст в ячейке восстанавливается, а все детали, находящиеся в списке станка, смещаются на одну строку ниже, освобождая таким образом первую строку станка для новой детали, которую планируется добавить из очереди справа. Делается мулька при помощи такого скрипта:
[vba]
Код
function onEdit(e) {
    // "команда сдёргивания" - нажатие клавиши Delete на ячейке приводит к выполнению
    var origValue = e.oldValue;
    if (origValue.toUpperCase() == "номер и обозначение детали".toUpperCase()) {
        // восстановление содержимого ячейки
        e.range.setValue("номер и обозначение детали");
        // выполнение команды - сдвиг заполненных ячеек вниз
        // с образованием пустого места для "размещения" новой детали
        e.range.offset(1, -1, 1, 6).insertCells(SpreadsheetApp.Dimension.ROWS);
    }
}
[/vba]

Думаю, что надо сделать такие же очереди-"предбанники" справа и для других операций, даже если станок один на листе - очень уж наглядно получается! К тому же, существенно то, что в "Очереди" справа работает формула, а по рабочим областям станков перемещаются ячейки-детали с простым текстовым содержимым (константы). Т.е. предлагаю сделать единый подход на всех листах станков - вне зависимости от того, один ли станок на листе или несколько.

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

И надо подумать как дальше внедрять новый функционал. Предлагаю, как уже получилось один раз, поочередные действия. Я делаю набросок чего-то на фрагменте, после чего Вы делаете свою копию с моей, по уже известной аналогии дорабатываете все остальные родственные фрагменты и опять выкладываете свою обновленную версию, с которой уже я делаю новую копию и внедряю в неё новые элементы фуцнкционала. И так дальше по очереди.

Я сейчас внедрил формулы на двух листах: ФЧПУ и ФУ. Вам предлагаю разобраться и внедрить их на остальных станках. А я тем временем займусь условным форматированием во втором файле (жёлтая и серая раскраска).

Автор - Gustav
Дата добавления - 27.01.2023 в 23:34
gutsoff200991 Дата: Понедельник, 30.01.2023, 10:16 | Сообщение № 27
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Густав, это гениально. Спасибо Вам.
Есть вопрос, не могу правильно вписать в формулу в ячейке M3 на листе ФЧПУ (файл станков) условие, при котором отбор будет вестись не только по абревиатуре ФЧПУ, но и по ФЧПУ2 (так как у нас в операциях одной детали может быть и то и то и в файле станков они дублируются в очереди). Как сделать, что бы формула различала ФЧПУ и ФЧПУ2?
 
Ответить
СообщениеГустав, это гениально. Спасибо Вам.
Есть вопрос, не могу правильно вписать в формулу в ячейке M3 на листе ФЧПУ (файл станков) условие, при котором отбор будет вестись не только по абревиатуре ФЧПУ, но и по ФЧПУ2 (так как у нас в операциях одной детали может быть и то и то и в файле станков они дублируются в очереди). Как сделать, что бы формула различала ФЧПУ и ФЧПУ2?

Автор - gutsoff200991
Дата добавления - 30.01.2023 в 10:16
Gustav Дата: Понедельник, 30.01.2023, 11:48 | Сообщение № 28
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Как сделать, что бы формула различала ФЧПУ и ФЧПУ2?

Можно задать, чтобы формула искала точное полное значение "ФЧПУ", а не подстроку внутри другой строки - для формулы так даже проще:
[vba]
Код
=IFERROR({"";FILTER('Списки'!F3:F;
'Списки'!G3:G="ФЧПУ";
'Списки'!H3:H="В работе";
ISNA(MATCH('Списки'!F3:F;B2:B;0));
ISNA(MATCH('Списки'!F3:F;H2:H;0)))};"<очередь ФЧПУ пуста>")
[/vba]
Т.е. ФЧПУ и ФЧПУ2 это будут разные очереди и, соответственно, разные листы станков? А как с ними соотносятся, например, такие операции, как ФЧПУ06.01 и ФЧПУ10.01 - их куда?


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Как сделать, что бы формула различала ФЧПУ и ФЧПУ2?

Можно задать, чтобы формула искала точное полное значение "ФЧПУ", а не подстроку внутри другой строки - для формулы так даже проще:
[vba]
Код
=IFERROR({"";FILTER('Списки'!F3:F;
'Списки'!G3:G="ФЧПУ";
'Списки'!H3:H="В работе";
ISNA(MATCH('Списки'!F3:F;B2:B;0));
ISNA(MATCH('Списки'!F3:F;H2:H;0)))};"<очередь ФЧПУ пуста>")
[/vba]
Т.е. ФЧПУ и ФЧПУ2 это будут разные очереди и, соответственно, разные листы станков? А как с ними соотносятся, например, такие операции, как ФЧПУ06.01 и ФЧПУ10.01 - их куда?

Автор - Gustav
Дата добавления - 30.01.2023 в 11:48
gutsoff200991 Дата: Понедельник, 30.01.2023, 12:06 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Т.е. ФЧПУ и ФЧПУ2 это будут разные очереди и, соответственно, разные листы станков?

Эти операции (ФЧПУ и ФЧПУ2) в детали разные, но производятся на одном и том же станке. Лист станков для ФЧПУ и ФЧПУ2 один и тот же. Тоже самое с С и С2, Т и Т2.

А как с ними соотносятся, например, такие операции, как ФЧПУ06.01 и ФЧПУ10.01 - их куда?

Это я исправил, больше нет ФЧПУ06.01 - это раньше в ручную фиксировали ранее дату, когда деталь на операции "В работе" или "Выполнена".


Сообщение отредактировал gutsoff200991 - Понедельник, 30.01.2023, 12:09
 
Ответить
Сообщение
Т.е. ФЧПУ и ФЧПУ2 это будут разные очереди и, соответственно, разные листы станков?

Эти операции (ФЧПУ и ФЧПУ2) в детали разные, но производятся на одном и том же станке. Лист станков для ФЧПУ и ФЧПУ2 один и тот же. Тоже самое с С и С2, Т и Т2.

А как с ними соотносятся, например, такие операции, как ФЧПУ06.01 и ФЧПУ10.01 - их куда?

Это я исправил, больше нет ФЧПУ06.01 - это раньше в ручную фиксировали ранее дату, когда деталь на операции "В работе" или "Выполнена".

Автор - gutsoff200991
Дата добавления - 30.01.2023 в 12:06
gutsoff200991 Дата: Понедельник, 30.01.2023, 13:48 | Сообщение № 30
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Есть вопрос, не могу правильно вписать в формулу в ячейке M3 на листе ФЧПУ (файл станков) условие, при котором отбор будет вестись не только по абревиатуре ФЧПУ, но и по ФЧПУ2 (так как у нас в операциях одной детали может быть и то и то и в файле станков они дублируются в очереди). Как сделать, что бы формула различала ФЧПУ и ФЧПУ2?

Еще вопрос. Как сделать в формуле в этой же ячейке (М3 на листе ФЧПУ), так что бы оставить деталь у которой статус будет "Выполнено" в столбце "Очередь на станки", т.е. в том же столбце М?
Знаю что говорил ранее, что детали не должны оставаться в очереди. Но возник вопрос, что если оператор станка поставит статус выполнено, а начальник смены при этом до этого не перетащил деталь из очереди на нужный станок (не успел, забыл). Получается что в этом случае деталь пропадет из истории.
 
Ответить
Сообщение
Есть вопрос, не могу правильно вписать в формулу в ячейке M3 на листе ФЧПУ (файл станков) условие, при котором отбор будет вестись не только по абревиатуре ФЧПУ, но и по ФЧПУ2 (так как у нас в операциях одной детали может быть и то и то и в файле станков они дублируются в очереди). Как сделать, что бы формула различала ФЧПУ и ФЧПУ2?

Еще вопрос. Как сделать в формуле в этой же ячейке (М3 на листе ФЧПУ), так что бы оставить деталь у которой статус будет "Выполнено" в столбце "Очередь на станки", т.е. в том же столбце М?
Знаю что говорил ранее, что детали не должны оставаться в очереди. Но возник вопрос, что если оператор станка поставит статус выполнено, а начальник смены при этом до этого не перетащил деталь из очереди на нужный станок (не успел, забыл). Получается что в этом случае деталь пропадет из истории.

Автор - gutsoff200991
Дата добавления - 30.01.2023 в 13:48
Gustav Дата: Понедельник, 30.01.2023, 14:27 | Сообщение № 31
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Эти операции (ФЧПУ и ФЧПУ2) в детали разные, но производятся на одном и том же станке.

Получается, надо к названию детали пристёгивать окончание в виде кода операции, отделенное каким-нибудь разделителем, скажем, слэшем:
[vba]
Код
TPYG.1789.00.08_Пуансон/ФЧПУ
TPYG.1789.00.08_Пуансон/ФЧПУ2
[/vba]
Иначе как они будут в очереди на один и тот же станок различаться? По-хорошему, надо бы сразу называть так детали еще в первом файле, а то сложность формул очереди и УФ во втором файле возрастет в квадрате, если придётся в формуле на ходу делать динамическую сцепку названия и операции. Что думаете по этому поводу?


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Эти операции (ФЧПУ и ФЧПУ2) в детали разные, но производятся на одном и том же станке.

Получается, надо к названию детали пристёгивать окончание в виде кода операции, отделенное каким-нибудь разделителем, скажем, слэшем:
[vba]
Код
TPYG.1789.00.08_Пуансон/ФЧПУ
TPYG.1789.00.08_Пуансон/ФЧПУ2
[/vba]
Иначе как они будут в очереди на один и тот же станок различаться? По-хорошему, надо бы сразу называть так детали еще в первом файле, а то сложность формул очереди и УФ во втором файле возрастет в квадрате, если придётся в формуле на ходу делать динамическую сцепку названия и операции. Что думаете по этому поводу?

Автор - Gustav
Дата добавления - 30.01.2023 в 14:27
gutsoff200991 Дата: Понедельник, 30.01.2023, 14:53 | Сообщение № 32
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Получается, надо к названию детали пристёгивать окончание в виде кода операции, отделенное каким-нибудь разделителем, скажем, слэшем:

Вы имеете ввиду создать разные таблицы для одной детали под каждую операцию ФЧПУ (ФЧПУ и ФЧПУ2) в первом файле?
 
Ответить
Сообщение
Получается, надо к названию детали пристёгивать окончание в виде кода операции, отделенное каким-нибудь разделителем, скажем, слэшем:

Вы имеете ввиду создать разные таблицы для одной детали под каждую операцию ФЧПУ (ФЧПУ и ФЧПУ2) в первом файле?

Автор - gutsoff200991
Дата добавления - 30.01.2023 в 14:53
Gustav Дата: Понедельник, 30.01.2023, 14:57 | Сообщение № 33
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
оставить деталь у которой статус будет "Выполнено" в столбце "Очередь на станки"

В принципе, это несложно. Можно условие в формуле:
[vba]
Код
'Списки'!H3:H="В работе";
[/vba]
заменить на составное ИЛИ(OR):
[vba]
Код
OR('Списки'!H3:H="В работе";'Списки'!H3:H="Выполнено");
[/vba]
Ну, и дополнительно надо будет удалить деталь из рабочей зоны станка, чтобы она опять отобразилась в очереди после выполнения.

Решать, конечно, Вам, но как сделано сейчас мне нравится больше. Деталь, отправляясь в рабочую зону, уходит из очереди. В рабочей зоне она может обрасти информацией в доп.колонках ("начало", "окончание" и т.д.). Когда статус становится "Выполнено", деталь меняет окрас с жёлтого на серый и остается в рабочей зоне вместе со всей доп.информацией, а также самим фактом, что она была обработана на данном конкретном станке. По мере добавления сверху новых ("жёлтых") деталей на обработку старые ("серые") смещаются вниз вместе со всеми своими значениями в доп. колонках. И вот это, получается, реальное хранение истории! А если ее опять определять в очередь, то надо предусматривать какую-то очистку доп.колонок (прямо рука не поднимается на это действие - "заполнять-заполнять, чтобы потом всё зачеркнуть")


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
оставить деталь у которой статус будет "Выполнено" в столбце "Очередь на станки"

В принципе, это несложно. Можно условие в формуле:
[vba]
Код
'Списки'!H3:H="В работе";
[/vba]
заменить на составное ИЛИ(OR):
[vba]
Код
OR('Списки'!H3:H="В работе";'Списки'!H3:H="Выполнено");
[/vba]
Ну, и дополнительно надо будет удалить деталь из рабочей зоны станка, чтобы она опять отобразилась в очереди после выполнения.

Решать, конечно, Вам, но как сделано сейчас мне нравится больше. Деталь, отправляясь в рабочую зону, уходит из очереди. В рабочей зоне она может обрасти информацией в доп.колонках ("начало", "окончание" и т.д.). Когда статус становится "Выполнено", деталь меняет окрас с жёлтого на серый и остается в рабочей зоне вместе со всей доп.информацией, а также самим фактом, что она была обработана на данном конкретном станке. По мере добавления сверху новых ("жёлтых") деталей на обработку старые ("серые") смещаются вниз вместе со всеми своими значениями в доп. колонках. И вот это, получается, реальное хранение истории! А если ее опять определять в очередь, то надо предусматривать какую-то очистку доп.колонок (прямо рука не поднимается на это действие - "заполнять-заполнять, чтобы потом всё зачеркнуть")

Автор - Gustav
Дата добавления - 30.01.2023 в 14:57
gutsoff200991 Дата: Понедельник, 30.01.2023, 14:58 | Сообщение № 34
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Еще вопрос. Прошу меня простить, так как я не глубоко понимаю схематику формул.
Во втором файле (файл станков) на странице списки, во втором списке "Уникальные Детали-Операции" не верно отображается статус (нет соответствия Статус-операция). При изменении статуса, он (статус) в списке меняется на первой строке детали, а измененная операция помещается вне соответствии со статусом. Не могу понять, как это исправить.
К сообщению приложен файл: 0172521.jpg (27.5 Kb) · 0279759.jpg (46.9 Kb)


Сообщение отредактировал gutsoff200991 - Понедельник, 30.01.2023, 15:58
 
Ответить
СообщениеЕще вопрос. Прошу меня простить, так как я не глубоко понимаю схематику формул.
Во втором файле (файл станков) на странице списки, во втором списке "Уникальные Детали-Операции" не верно отображается статус (нет соответствия Статус-операция). При изменении статуса, он (статус) в списке меняется на первой строке детали, а измененная операция помещается вне соответствии со статусом. Не могу понять, как это исправить.

Автор - gutsoff200991
Дата добавления - 30.01.2023 в 14:58
Gustav Дата: Понедельник, 30.01.2023, 15:05 | Сообщение № 35
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Вы имеете ввиду создать разные таблицы для одной детали под каждую операцию ... ?

Я имею в виду, что сейчас, если мы относим к листу "Фрезерные с ЧПУ (ФЧПУ)" и ФЧПУ, и ФЧПУ2, мы получим в очереди две одинаковые детали:
[vba]
Код
TPYG.1789.00.08_Пуансон
TPYG.1789.00.08_Пуансон
[/vba]
Как их дальше различить, какая из них идёт на ФЧПУ, а какая на ФЧПУ2 ?


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Вы имеете ввиду создать разные таблицы для одной детали под каждую операцию ... ?

Я имею в виду, что сейчас, если мы относим к листу "Фрезерные с ЧПУ (ФЧПУ)" и ФЧПУ, и ФЧПУ2, мы получим в очереди две одинаковые детали:
[vba]
Код
TPYG.1789.00.08_Пуансон
TPYG.1789.00.08_Пуансон
[/vba]
Как их дальше различить, какая из них идёт на ФЧПУ, а какая на ФЧПУ2 ?

Автор - Gustav
Дата добавления - 30.01.2023 в 15:05
Gustav Дата: Понедельник, 30.01.2023, 15:31 | Сообщение № 36
Группа: Админы
Ранг: Участник клуба
Сообщений: 2880
Репутация: 1223 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
во втором списке "Уникальные Детали-Операции" не верно отображается статус (нет соответствия Статус-операция). При изменении статуса, он (статус) в списке меняется на первой строке детали, а измененная операция помещается на последнюю строку детали - из-за этого несинхрон.

Я не очень понимаю, что имеете в виду. Строки этой таблицы

для этой детали соответствуют, грубо говоря, ячейкам первой таблицы. Строки "Выполнено" - зеленым ячейкам, строка "В работе" - жёлтой.

Никакого соответствия "Статус-операция" в таблицу "Уникальные Детали-операции" не закладывалось, а строки расположены по алфавитному порядку сцепки "Деталь-Операция" - для удобства работы функций типа ВПР.

[p.s.]Ах, понял! Да-да, была ошибка в формуле ВПР, нужно вот так:(что-то не работает тэг PS)[/p.s.]

[vba]
Код
=ARRAY_CONSTRAIN(ArrayFormula(VLOOKUP(F3:F&"_"&G3:G;{A3:A&"_"&B3:B\C3:D};{2\3};FALSE));COUNTA(F3:F);2)
[/vba]
И первая картинка становится такой:
К сообщению приложен файл: 5485407.png (14.7 Kb) · 7968200.png (5.5 Kb) · 2598185.png (7.2 Kb)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 30.01.2023, 15:43
 
Ответить
Сообщение
во втором списке "Уникальные Детали-Операции" не верно отображается статус (нет соответствия Статус-операция). При изменении статуса, он (статус) в списке меняется на первой строке детали, а измененная операция помещается на последнюю строку детали - из-за этого несинхрон.

Я не очень понимаю, что имеете в виду. Строки этой таблицы

для этой детали соответствуют, грубо говоря, ячейкам первой таблицы. Строки "Выполнено" - зеленым ячейкам, строка "В работе" - жёлтой.

Никакого соответствия "Статус-операция" в таблицу "Уникальные Детали-операции" не закладывалось, а строки расположены по алфавитному порядку сцепки "Деталь-Операция" - для удобства работы функций типа ВПР.

[p.s.]Ах, понял! Да-да, была ошибка в формуле ВПР, нужно вот так:(что-то не работает тэг PS)[/p.s.]

[vba]
Код
=ARRAY_CONSTRAIN(ArrayFormula(VLOOKUP(F3:F&"_"&G3:G;{A3:A&"_"&B3:B\C3:D};{2\3};FALSE));COUNTA(F3:F);2)
[/vba]
И первая картинка становится такой:

Автор - Gustav
Дата добавления - 30.01.2023 в 15:31
gutsoff200991 Дата: Понедельник, 30.01.2023, 16:19 | Сообщение № 37
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

Как их дальше различить, какая из них идёт на ФЧПУ, а какая на ФЧПУ2 ?

На примере листа https://docs.google.com/spreads....8373344 из первого файла. (TPYG.1789.00.05_Матрица):
ФЧПУ стоит первой в очереди, ФЧПУ2 - далее по процессу. Т.е. каждая таблица с отдельной деталью представляет собой перечень последовательных процессов, которые должны выполняться поочередно.
Я думал будет достаточно разделить их на ФЧПУ и ФЧПУ2, но нет. Создавать отдельные таблицы под ФЧПУ2 нерационально, так как необходима именно одна таблица на деталь (предусмотрено процессом работы с этими файлами).
Я так понял другого легкого пути нет.

[p.s.]Прошу прощения. я разобрался, все в порядке. Не нужно, чтобы наименование детали для ФЧПУ и ФЧПУ2 отличались, просто нужно, что бы они фиксировались вдвоем в таблице. Сейчас они фиксируются вдвоем только тогда, когда ФЧПУ и ФЧПУ2 имеют статус "В работе. В остальных случаях (когда у ФЧПУ и ФЧПУ2 разные статусы) они вдвоем в таблице не фиксируются (а очень важно что бы фиксировались). Как это сделать - не знаю"[/p.s.]


Сообщение отредактировал Serge_007 - Вторник, 31.01.2023, 15:03
 
Ответить
Сообщение
Как их дальше различить, какая из них идёт на ФЧПУ, а какая на ФЧПУ2 ?

На примере листа https://docs.google.com/spreads....8373344 из первого файла. (TPYG.1789.00.05_Матрица):
ФЧПУ стоит первой в очереди, ФЧПУ2 - далее по процессу. Т.е. каждая таблица с отдельной деталью представляет собой перечень последовательных процессов, которые должны выполняться поочередно.
Я думал будет достаточно разделить их на ФЧПУ и ФЧПУ2, но нет. Создавать отдельные таблицы под ФЧПУ2 нерационально, так как необходима именно одна таблица на деталь (предусмотрено процессом работы с этими файлами).
Я так понял другого легкого пути нет.

[p.s.]Прошу прощения. я разобрался, все в порядке. Не нужно, чтобы наименование детали для ФЧПУ и ФЧПУ2 отличались, просто нужно, что бы они фиксировались вдвоем в таблице. Сейчас они фиксируются вдвоем только тогда, когда ФЧПУ и ФЧПУ2 имеют статус "В работе. В остальных случаях (когда у ФЧПУ и ФЧПУ2 разные статусы) они вдвоем в таблице не фиксируются (а очень важно что бы фиксировались). Как это сделать - не знаю"[/p.s.]

Автор - gutsoff200991
Дата добавления - 30.01.2023 в 16:19
gutsoff200991 Дата: Понедельник, 30.01.2023, 16:25 | Сообщение № 38
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

P.S:
Ах, понял! Да-да, была ошибка в формуле ВПР, нужно вот так

Спасибо огромное.
 
Ответить
СообщениеP.S:
Ах, понял! Да-да, была ошибка в формуле ВПР, нужно вот так

Спасибо огромное.

Автор - gutsoff200991
Дата добавления - 30.01.2023 в 16:25
gutsoff200991 Дата: Вторник, 31.01.2023, 14:02 | Сообщение № 39
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

...какая из них идёт на ФЧПУ, а какая на ФЧПУ2 ?
Думаю будет видно по времени, что из них ФЧПУ, а что ФЧПУ2. (ФЧПУ2 всегда выполняется позже)


Сообщение отредактировал Serge_007 - Вторник, 31.01.2023, 15:02
 
Ответить
Сообщение
...какая из них идёт на ФЧПУ, а какая на ФЧПУ2 ?
Думаю будет видно по времени, что из них ФЧПУ, а что ФЧПУ2. (ФЧПУ2 всегда выполняется позже)

Автор - gutsoff200991
Дата добавления - 31.01.2023 в 14:02
gutsoff200991 Дата: Вторник, 31.01.2023, 14:13 | Сообщение № 40
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 40% ±

В принципе, это несложно.
Gustav, Процесс который вы создали - именно то, что нам нужно. Спасибо большое. Удалять этот шедевр и в голову не приходило.
Однако все это было задумано с одной целью - автоматизировать процесс. Тот факт, что нужно руками перетащить деталь из очереди на станок и был так задуман. Но... если начальник смены не успеет вовремя перетащить деталь из очереди на станок (до того, как ее статус будет "Выполнено"), деталь и вовсе пропадет из очереди и из листа со станком. И я так понял, кроме как полностью переписать полюбившийся нам процесс (а переписывать мы не будем) этих случайных пропаж не исправить?


Сообщение отредактировал Serge_007 - Вторник, 31.01.2023, 15:01
 
Ответить
Сообщение
В принципе, это несложно.
Gustav, Процесс который вы создали - именно то, что нам нужно. Спасибо большое. Удалять этот шедевр и в голову не приходило.
Однако все это было задумано с одной целью - автоматизировать процесс. Тот факт, что нужно руками перетащить деталь из очереди на станок и был так задуман. Но... если начальник смены не успеет вовремя перетащить деталь из очереди на станок (до того, как ее статус будет "Выполнено"), деталь и вовсе пропадет из очереди и из листа со станком. И я так понял, кроме как полностью переписать полюбившийся нам процесс (а переписывать мы не будем) этих случайных пропаж не исправить?

Автор - gutsoff200991
Дата добавления - 31.01.2023 в 14:13
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!