consolidator

Форк
0
/
M4_Прокат.bas 
474 строки · 21.1 Кб
1
Attribute VB_Name = "M4_Прокат"
2
Sub П0000_Анализ()
3
'    'On Error Resume Next
4
    M0_Переменные.П0001_Параметры
5

6
' "Рулон" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7
    If InStr(1, LCase(Производство), "рулон") > 0 Then
8
        Производство = "Рулон"
9
        M3_Общий.П0100_Продукт
10
        M3_Общий.П0101_Определение_Признака_прокат
11
        If Марка_стали = "" And Кл_прочности <> "" Then Марка_стали = Кл_прочности
12
        If Марка_стали <> "" And Кл_прочности = "" Then M3_Общий.П0110_Кл_прочности_по_марке_стали
13
        If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
14
        M3_Общий.П0120_Маппинг_Кл_прочности
15
        M3_Общий.П0121_Приведение_Кл_прочности
16
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
17
        П0130_Определение_ОТО
18
        
19
        Диап_толщин = ""
20
        Наименование_УП = "РУЛОН " & Гр_свойств
21
        If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
22
            Гр_свойств = "ГУ"
23
            П0120_Диап_Толщин_по_Продукт
24
            Наименование_УП = "РУЛОН " & Диап_толщин & " " & Гр_свойств
25
        End If
26
        If Признак = "БЗ" Then Наименование_УП = "РУЛОН Р БЗ"
27
        M2_Промежуточный.П0900_Укрупнение
28
    End If
29

30
' "Сляб стан 5000" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
31
    If InStr(1, LCase(Производство), "сляб") > 0 _
32
    And InStr(1, LCase(Производство), "стан") > 0 _
33
    And InStr(1, LCase(Производство), "5000") > 0 Then
34
        Производство = "Сляб стан 5000"
35
        Продукт = "ТОЛСТЫЙ СЛЯБ"
36
        Толщина = Толщ_мат_сляба
37
        If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
38
        M3_Общий.П0110_Кл_прочности_по_марке_стали
39
        M3_Общий.П0120_Маппинг_Кл_прочности
40
        M3_Общий.П0121_Приведение_Кл_прочности
41
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
42
        Наименование_УП = Продукт & " " & Кл_прочности_прив
43
        If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
44
            Гр_свойств = "ГУ"
45
            Наименование_УП = Продукт & " " & Гр_свойств
46
        ElseIf CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
47
            П0125_Толщина_приведенная
48
            Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
49
        End If
50
        M2_Промежуточный.П0900_Укрупнение
51
    End If
52
    
53
' "Сляб покупной" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
54
    If "" = Производство _
55
    And InStr(1, LCase(Вид_материала), "сляб") > 0 _
56
    And InStr(1, LCase(Вид_материала), "покуп") > 0 Then
57
        Производство = "Сляб стан 5000"
58
        Марка_стали = Марка_стали_корп
59
        Кл_прочности = Кл_прочности_корп
60
        Толщина = Толщина_корп
61
        Продукт = "ТОЛСТЫЙ СЛЯБ"
62
        If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
63
        M3_Общий.П0110_Кл_прочности_по_марке_стали
64
        M3_Общий.П0120_Маппинг_Кл_прочности
65
        M3_Общий.П0121_Приведение_Кл_прочности
66
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
67
        Наименование_УП = Продукт & " " & Кл_прочности_прив
68
        If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
69
            Гр_свойств = "ГУ"
70
            Наименование_УП = Продукт & " " & Гр_свойств
71
        ElseIf CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
72
            П0125_Толщина_приведенная
73
            Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
74
        End If
75
        Производство = ""
76
        M2_Промежуточный.П0900_Укрупнение
77
    End If
78
    
79
' "Сляб" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
80
    If InStr(1, LCase(Производство), "сляб") > 0 _
81
    And InStr(1, LCase(Производство), "катан") = 0 _
82
    And InStr(1, LCase(Производство), "5000") = 0 Then
83
        Производство = "Сляб"
84
        Продукт = "СЛЯБ"
85
        Кл_прочности = Марка_стали
86
        M3_Общий.П0120_Маппинг_Кл_прочности
87
        M3_Общий.П0121_Приведение_Кл_прочности
88
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
89
        If Кл_прочности_прив = "" Then
90
            If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
91
                Гр_свойств = "ГУ"
92
            ElseIf InStr(1, UCase(Гр_свойств), "ГЮ") > 0 Then
93
                Гр_свойств = "ГЮ"
94
            End If
95
            Наименование_УП = Продукт & " " & Гр_свойств
96
        ElseIf Кл_прочности_прив <> "" Then
97
            Наименование_УП = Продукт & " " & Кл_прочности_прив
98
        End If
99
        M2_Промежуточный.П0900_Укрупнение
100
    End If
101

102
' "Сляб катаный" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
103
    If InStr(1, LCase(Производство), "сляб") > 0 _
104
    And InStr(1, LCase(Производство), "катан") > 0 Then
105
        Производство = "Сляб катаный"
106
        Продукт = "ТОЛСТЫЙ СЛЯБ" '"ТОЛСТЫЙ СЛЯБ" для обработки в таблице "Параметры по Продукту Прокат",потом переприсваивается "РАСКАТ"
107
        If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
108
        M3_Общий.П0110_Кл_прочности_по_марке_стали
109
        M3_Общий.П0120_Маппинг_Кл_прочности
110
        M3_Общий.П0121_Приведение_Кл_прочности
111
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
112
        Продукт = "РАСКАТ"
113
        Наименование_УП = Продукт & " " & Кл_прочности_прив
114
        If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
115
            Гр_свойств = "ГУ"
116
            Наименование_УП = Продукт & " " & Гр_свойств
117
        ElseIf CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
118
            П0125_Толщина_приведенная
119
            Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
120
        End If
121
        M2_Промежуточный.П0900_Укрупнение
122
    End If
123

124
' "Лист Стан 5000" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
125
    If InStr(1, LCase(Производство), "лист") > 0 _
126
    And InStr(1, LCase(Производство), "стан") > 0 _
127
    And InStr(1, LCase(Производство), "5000") > 0 Then
128
        Производство = "Лист Стан 5000"
129
        M3_Общий.П0100_Продукт
130
        M3_Общий.П0101_Определение_Признака_прокат
131
        If Left(UCase(Марка_стали), 1) = "К" _
132
        Or Left(UCase(Марка_стали), 1) = "Х" _
133
        Or Left(UCase(Марка_стали), 1) = "K" _
134
        Or Left(UCase(Марка_стали), 1) = "X" Then
135
            Кл_прочности = Марка_стали
136
        ElseIf Left(UCase(Марка_стали), 1) <> "К" _
137
        And Left(UCase(Марка_стали), 1) <> "Х" _
138
        And Left(UCase(Марка_стали), 1) <> "K" _
139
        And Left(UCase(Марка_стали), 1) <> "X" Then
140
            Кл_прочности = ""
141
        End If
142
        M3_Общий.П0110_Кл_прочности_по_марке_стали
143
        M3_Общий.П0120_Маппинг_Кл_прочности
144
        M3_Общий.П0121_Приведение_Кл_прочности
145
        П0100_Диаметр_по_ширине_листа_стана_5000
146
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
147
        П0120_Диап_Толщин_по_Продукт
148
        If Продукт = "ЛИСТ Р" Then
149
            Наименование_УП = Продукт & " " & Диап_толщин & " " & Гр_свойств
150
            If Признак = "БЗ" Then Наименование_УП = Продукт & " " & Диап_толщин & " БЗ"
151
        ElseIf Продукт = "ЛИСТ ТРБ" Then
152
            Наименование_УП = Продукт & " " & "Д" & Диаметр & " " & Диап_толщин & " " & Шов & " " & Кл_прочности_прив
153
        End If
154
        M2_Промежуточный.П0900_Укрупнение
155
    End If
156

157
' "Лист, штрипс" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
158
    If InStr(1, LCase(Производство), "лист") > 0 _
159
    And InStr(1, LCase(Производство), "штрип") > 0 Then
160
        Производство = "Лист, штрипс"
161
        Продукт = "ЛИСТ ТРБ"
162
        M3_Общий.П0100_Продукт
163
        M3_Общий.П0101_Определение_Признака_прокат
164
        If i_строк_НП = 526 Then
165
        q = q
166
        End If
167
        M3_Общий.П0110_Кл_прочности_по_марке_стали
168
        If Кл_прочности = "" Or Кл_прочности = 0 Then
169
            Кл_прочности = "К52"
170
        End If
171
        M3_Общий.П0120_Маппинг_Кл_прочности
172
        M3_Общий.П0121_Приведение_Кл_прочности
173
        If Кл_прочности_прив = "" Or Кл_прочности_прив = 0 Then
174
            Кл_прочности_прив = "К52"
175
        End If
176
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
177
        П0130_Определение_ОТО
178
        П0100_Диаметр_по_ширине_листа_стана_5000
179
        
180
        П0115_Ширина_приведенная
181
        П0120_Диап_Толщин_по_Продукт
182
        
183
        
184
        If Продукт = "ЛИСТ Р" Then
185
            Наименование_УП = Продукт & " " & Диап_толщин & " " & Гр_свойств
186
            If Диап_толщин = 0 Or Диап_толщин = "" Then Наименование_УП = Продукт & " " & Гр_свойств
187
            If Признак = "БЗ" Then Наименование_УП = Продукт & " " & Диап_толщин & " БЗ"
188
        ElseIf Продукт = "ЛИСТ ТРБ" Then
189
            Наименование_УП = Продукт & " " & "Д" & Диаметр & " " & Диап_толщин & " " & Шов & " " & Кл_прочности_прив
190
            If Диаметр = 0 Then Наименование_УП = "ЛИСТ Р " & Гр_свойств
191
        ElseIf Продукт = "ПОЛОСА" Then
192
            Наименование_УП = Продукт & " Ш" & Шир_тип & " " & Гр_свойств
193
            If Признак = "БЗ" Then
194
                Наименование_УП = Продукт & " Р БЗ"
195
            ElseIf InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
196
                Гр_свойств = "ГУ"
197
                Наименование_УП = Продукт & " " & Диап_толщин & " Ш" & Шир_тип & " " & Гр_свойств
198
            End If
199
        End If
200
        M2_Промежуточный.П0900_Укрупнение
201
    End If
202
    
203
 
204
' "Лист материнский" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
205
    If InStr(1, LCase(Производство), "лист") > 0 _
206
    And InStr(1, LCase(Производство), "материн") > 0 Then
207
        Производство = "Лист материнский"
208
        Продукт = "ТОЛСТЫЙ СЛЯБ" '"ТОЛСТЫЙ СЛЯБ" для обработки в таблице "Параметры по Продукту Прокат",потом переприсваивается "РАСКАТ"
209
        If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
210
        M3_Общий.П0110_Кл_прочности_по_марке_стали
211
        M3_Общий.П0120_Маппинг_Кл_прочности
212
        M3_Общий.П0121_Приведение_Кл_прочности
213
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
214
        Продукт = "РАСКАТ"
215
        Наименование_УП = Продукт & " " & Кл_прочности_прив
216
        If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
217
            Гр_свойств = "ГУ"
218
            Наименование_УП = Продукт & " " & Гр_свойств
219
        ElseIf Кл_прочности_прив <> "" Then
220
            If CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
221
                П0125_Толщина_приведенная
222
                Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
223
            End If
224
        End If
225
        i_строк_НП = i_строк_НП
226
        M2_Промежуточный.П0900_Укрупнение
227
    End If
228
    
229
' "Жидкая сталь" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
230
    If InStr(1, LCase(Производство), "жидк") > 0 _
231
    And InStr(1, LCase(Производство), "сталь") > 0 Then
232
        Производство = "Жидкая сталь"
233
        Продукт = "СТАЛЬ"
234
'        If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
235
        If Left(UCase(Марка_стали), 1) = "К" _
236
        Or Left(UCase(Марка_стали), 1) = "Х" _
237
        Or Left(UCase(Марка_стали), 1) = "K" _
238
        Or Left(UCase(Марка_стали), 1) = "X" Then
239
            Кл_прочности = Марка_стали
240
        End If
241
        M3_Общий.П0120_Маппинг_Кл_прочности
242
        M3_Общий.П0121_Приведение_Кл_прочности
243
        M3_Общий.П0130_Марка_стали_по_Гр_свойств
244
        If Кл_прочности_прив = "" Then
245
            If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then Гр_свойств = "ГУ"
246
            Наименование_УП = Продукт & " " & Гр_свойств
247
        ElseIf Кл_прочности_прив <> "" Then
248
            Наименование_УП = Продукт & " " & Кл_прочности_прив
249
        End If
250
        M2_Промежуточный.П0900_Укрупнение
251
    End If
252

253
End Sub
254

255

256
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
257
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
258
Sub П0130_Определение_ОТО()
259
    On Error Resume Next
260
    For s0 = 1 To 200
261
        If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Признак по НТД" Then Exit For
262
    Next
263
    For i = 4 To 500
264
        q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
265
        q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'НТД
266
        q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Продукт
267
        q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп признак
268
        
269
        If InStr(1, UCase(q0), UCase(Производство)) > 0 _
270
        And UCase(НТД_кач_прокат) = UCase(q1) _
271
        And InStr(1, UCase(Гр_свойств), UCase("ГЮ")) > 0 Then
272
            Гр_свойств = q2
273
            Exit For
274
        End If
275
    Next
276
End Sub
277

278

279
Sub П0125_Толщина_приведенная()
280
    On Error Resume Next
281
    If Толщина = "" Then Толщина = 0
282
    Толщина = Replace(Толщина, ".", ",")
283
    Толщина = CSng(Толщина)
284
    For s0 = 1 To 200
285
        If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту Прокат" Then Exit For
286
    Next
287
    т_мин = 5000
288
    For i = 4 To 300
289
        q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
290
        q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
291
        q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
292
        q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
293
        q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
294
        q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
295
        q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
296
        q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
297
        
298
        If IsNumeric(q2) = True Then
299
            If InStr(1, UCase(q0), UCase(Производство)) > 0 _
300
            And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
301
            And q3 = Кл_прочности_прив Then
302
                т_0 = Abs(Толщина - q2)
303
                If т_мин > т_0 Then
304
                    т_мин = т_0
305
                    Толщ_прив = q2
306
                End If
307
            End If
308
        End If
309
    Next
310
End Sub
311

312
Sub П0115_Ширина_приведенная()
313
    On Error Resume Next
314
    If Шир_листа_штрипс = "" Then Шир_листа_штрипс = 0
315
    Шир_листа_штрипс = Replace(Шир_листа_штрипс, ".", ",")
316
    Шир_листа_штрипс = CSng(Шир_листа_штрипс)
317
    For s0 = 1 To 200
318
        If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту Прокат" Then Exit For
319
    Next
320
    If i_строк_НП = 468 Then
321
        q = q
322
        End If
323
        
324
    ш_мин = 5000
325
    For i = 4 To 300
326
        q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
327
        q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
328
        q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
329
        q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
330
        q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
331
        q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
332
        q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
333
        q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
334
        
335
        If IsNumeric(q2) = True Then
336
            If InStr(1, UCase(q0), UCase(Производство)) > 0 _
337
            And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
338
            And InStr(1, UCase(Гр_свойств), UCase(q3)) > 0 Then
339
                If (q5 <= Толщина And Толщина <= q6 And InStr(1, UCase(Гр_свойств), "ГУ") > 0) Or InStr(1, UCase(Гр_свойств), "ГУ") = 0 Then
340
                    ш_0 = Abs(Шир_листа_штрипс - q2)
341
                    If ш_мин > ш_0 Then
342
                        ш_мин = ш_0
343
                        Шир_тип = q2
344
                    End If
345
                End If
346
            End If
347
        End If
348
    Next
349
End Sub
350

351
Sub П0120_Диап_Толщин_по_Продукт()
352
    On Error Resume Next
353
    If Толщина = "" Then Толщина = 0
354
    Толщина = Replace(Толщина, ".", ",")
355
    Толщина = CSng(Толщина)
356
    For s0 = 1 To 200
357
        If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту Прокат" Then Exit For
358
    Next
359
    For i = 4 To 300
360
        q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
361
        q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
362
        q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
363
        q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
364
        q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
365
        q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
366
        q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
367
        q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
368
        т_мин = 1000
369
        т_макс = 1000
370
        If i = 233 Then
371
        q = q
372
        End If
373
        If InStr(1, UCase(q0), UCase(Производство)) > 0 _
374
        And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
375
        And q = q _
376
        And q5 <= Толщина And Толщина <= q6 And Толщина > 0 Then
377
            If Продукт = "ЛИСТ ТРБ" Then
378
                If Диаметр = q2 And Кл_прочности_прив = q3 And Шов = q4 Then
379
                    Диап_толщин = q7: Exit Sub
380
                End If
381
            ElseIf Продукт = "ЛИСТ Р" _
382
            And (Признак = q2 Or InStr(1, UCase(q2), UCase(Гр_свойств)) > 0 Or Кл_прочности_прив = q2) Then
383
                If Признак = q2 Then
384
                    Диап_толщин = q7
385
                    Exit Sub
386
                ElseIf Признак <> "БЗ" _
387
                And (InStr(1, UCase(q2), UCase(Гр_свойств)) > 0 Or Кл_прочности_прив = q2) Then
388
                    Диап_толщин = q7
389
                    Exit Sub
390
                End If
391
            ElseIf Продукт = "ПОЛОСА" And Шир_тип = q2 And InStr(1, UCase(Гр_свойств), UCase(q3)) > 0 Then
392
                Диап_толщин = q7: Exit Sub
393
            ElseIf Продукт = "РУЛОН" And InStr(1, UCase(q2), UCase(Гр_свойств)) > 0 Then
394
                Диап_толщин = q7: Exit Sub
395
            End If
396
        End If
397
    Next
398
End Sub
399

400
Sub П0100_Диаметр_по_ширине_листа_стана_5000()
401
    If i_строк_НП = 39 Then
402
    q = q
403
    End If
404
    If Шир_листа_штрипс = "" Then Шир_листа_штрипс = 0
405
    Шир_листа_штрипс = Replace(Шир_листа_штрипс, ".", ",")
406
    Шир_листа_штрипс = CSng(Шир_листа_штрипс)
407
    If Толщина = "" Then Толщина = 0
408
    Толщина = Replace(Толщина, ".", ",")
409
    Толщина = CSng(Толщина)
410
    
411
    If Шир_листа_штрипс = 1500 Or Шир_листа_штрипс = 2000 Then Диаметр = 0: Шов = "": Exit Sub
412
    'тэса1020 шов=1
413
    Шов = 1: Кф = 0.4: Кэ = 1.1: delta_кр = 5
414
    q1020_1 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
415
    
416
    'тэса1020 шов=2
417
    Шов = 2: Кф = 0.4: Кэ = 1.1: delta_кр = 5
418
    q1020_2 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
419
    
420
    'тэса1420 шов=1
421
    Шов = 1: Кф = 0: Кэ = 0.6: delta_кр = 5
422
    q1420_1 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
423
    
424
    'тэса1420 шов=2
425
    Шов = 2: Кф = 0: Кэ = 0.6: delta_кр = 5
426
    q1420_2 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
427
    
428
    q_мин_1 = 5000
429
    q_мин_abs_1 = 5000
430
    For s_d = 1 To 200
431
        If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s_d) = "Диаметры ТБД" Then Exit For
432
    Next
433
    
434
    For i = 4 To 500 'Перебор строк в справочной таблице УП
435
        q_UP_0 = CSng(Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s_d))
436
        q_мин = 5000
437
        q1 = q_UP_0 - q1020_1
438
        q3 = q_UP_0 - q1420_1
439
        If q_мин > q1 And q1 >= 0 Then q_мин = q1: Кол_швов_1 = "ШВ1"
440
        If q_мин > q3 And q3 >= 0 Then q_мин = q3: Кол_швов_1 = "ШВ1"
441
        If q_мин_1 > q_мин And q_UP_0 > 0 Then
442
            q_мин_1 = q_мин
443
            Диаметр = q_UP_0
444
            Шов = Кол_швов_1
445
            k = q_мин_1 / Диаметр * 100
446
        End If
447
        
448
        q_мин_abs = 5000
449
        q1_abs = Abs(q1)
450
        q3_abs = Abs(q3)
451
        If q_мин_abs > q1_abs And q1_abs >= 0 Then q_мин_abs = q1_abs: Кол_швов_1 = "ШВ1"
452
        If q_мин_abs > q3_abs And q3_abs >= 0 Then q_мин_abs = q3_abs: Кол_швов_1 = "ШВ1"
453
        If q_мин_abs_1 > q_мин_abs And q_UP_0 > 0 Then
454
            q_мин_abs_1 = q_мин_abs
455
            Диаметр_abs = q_UP_0
456
            Шов = Кол_швов_1
457
            k_abs = q_мин_abs_1 / Диаметр_abs * 100
458
        End If
459
        
460
    Next
461
    For i = 1 To 100
462
        If Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, i) = "Диаметр расчетный" Then Exit For
463
    Next
464
    Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(i_строк_НП, i) _
465
        = Format(q1020_1, "0") & "->" & Диаметр & " (" & Format(k / 100, "0.0%") & ")" & " / " & Диаметр_abs & " (" & Format(k_abs / 100, "0.0%") & ")"
466
    If k > 5 And k_abs > 5 Or Толщина > 50 Then
467
        Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(i_строк_НП, i).Font.Color = -65536
468
        Диаметр = 0
469
        Шов = ""
470
    ElseIf k > 5 And k_abs <= 5 Then
471
        Диаметр = Диаметр_abs
472
    End If
473
    q = q
474
End Sub
475

476

477

478

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

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