consolidator
328 строк · 13.6 Кб
1Attribute VB_Name = "M8_ТЭСЦ5"
2Sub П0000_Анализ()
3On Error Resume Next
4M0_Переменные.П0001_Параметры
5
6' "Штрипс ТЭСЦ-5" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7If InStr(1, LCase(Производство), "штрип") > 0 _
8And InStr(1, LCase(Производство), "тэсц") > 0 _
9And InStr(1, LCase(Производство), "5") > 0 Then
10Производство = "Штрипс ТЭСЦ-5"
11Продукт = "ПОЛОСА"
12M3_Общий.П0130_Марка_стали_по_Гр_свойств
13П0130_Определение_ОТО
14Толщина_тип = Толщина
15П0120_Ширина_приведенная
16Наименование_УП = Продукт & " Ш" & Шир_тип & " " & Гр_свойств
17If InStr(1, Гр_свойств, "ГУ") > 0 Then
18Наименование_УП = Продукт & " " & Диап_толщин & " Ш" & Шир_тип & " " & "ГУ"
19End If
20M2_Промежуточный.П0900_Укрупнение
21End If
22
23' "Труба нефтепроводная ТЭСЦ-5" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
24If InStr(1, LCase(Производство), "нефт") > 0 _
25And InStr(1, LCase(Производство), "тэсц") > 0 _
26And InStr(1, LCase(Производство), "5") > 0 Then
27Производство = "Труба нефтепроводная ТЭСЦ-5"
28Продукт = "ТРУБА Д"
29
30M3_Общий.П0110_Кл_прочности_по_марке_стали
31M3_Общий.П0120_Маппинг_Кл_прочности
32M3_Общий.П0121_Приведение_Кл_прочности
33M3_Общий.П0130_Марка_стали_по_Гр_свойств
34П0100_Диаметр_типовой_по_ближайшему
35Толщина_тип = Толщ_стен
36Доп_парам1 = Диам_тип
37П0110_Диап_Толщин_по_Продукт
38Доп_парам1 = 0
39П0110_Проверка_на_Продукт_Т3
40Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств
41If InStr(1, Гр_свойств, "ГУ") > 0 Or InStr(1, Гр_свойств, "ГФ") > 0 Then
42Наименование_УП = Продукт & Диам_тип & " " & Диап_толщин & " ГУ"
43If Доп_парам1 <> 0 Then
44Наименование_УП = Продукт & Диам_тип & " " & Диап_толщин & " " & Гр_свойств
45End If
46End If
47If Диам_тип = 219 Then
48Наименование_УП = Наименование_УП & " Т5"
49End If
50M2_Промежуточный.П0900_Укрупнение
51End If
52
53' "Труба обсадная ТЭСЦ-5" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
54If InStr(1, LCase(Производство), "обсад") > 0 _
55And InStr(1, LCase(Производство), "тэсц") > 0 _
56And InStr(1, LCase(Производство), "5") > 0 Then
57Производство = "Труба обсадная ТЭСЦ-5"
58Продукт = "ТРУБА Д"
59M3_Общий.П0111_Группа_по_классу_прочности_для_труб
60M3_Общий.П0140_Резьба_типовая
61П0100_Диаметр_типовой_по_ближайшему
62Наименование_УП = Продукт & Диам_тип & " ГО " & Гр_прочн & " " & Резьба_тип
63M2_Промежуточный.П0900_Укрупнение
64End If
65
66' "Труба термообработанная ТЭСЦ-5" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
67If InStr(1, LCase(Производство), "терм") > 0 _
68And InStr(1, LCase(Производство), "тэсц") > 0 _
69And InStr(1, LCase(Производство), "5") > 0 Then
70Производство = "Труба нефтепроводная ТЭСЦ-5"
71Продукт = "ТРУБА Д"
72M3_Общий.П0111_Группа_по_классу_прочности_для_труб
73M3_Общий.П0140_Резьба_типовая
74
75M3_Общий.П0110_Кл_прочности_по_марке_стали
76M3_Общий.П0120_Маппинг_Кл_прочности
77M3_Общий.П0121_Приведение_Кл_прочности
78M3_Общий.П0130_Марка_стали_по_Гр_свойств
79П0100_Диаметр_типовой_по_ближайшему
80Толщина_тип = Толщ_стен
81Доп_парам1 = Диам_тип
82П0110_Диап_Толщин_по_Продукт
83Доп_парам1 = 0
84П0110_Проверка_на_Продукт_Т3
85
86Наименование_УП = Продукт & Диам_тип & " ГО " & Гр_прочн & " " & Резьба_тип
87If Гр_прочн = 0 Then
88Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств
89If InStr(1, Гр_свойств, "ГУ") > 0 Or InStr(1, Гр_свойств, "ГФ") > 0 Then
90Наименование_УП = Продукт & Диам_тип & " " & Диап_толщин & " ГУ"
91If Доп_парам1 <> 0 Then
92Наименование_УП = Продукт & Диам_тип & " " & Диап_толщин & " " & Гр_свойств
93End If
94End If
95End If
96
97M2_Промежуточный.П0900_Укрупнение
98End If
99
100' "Муфта ТЭСЦ-5" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
101If InStr(1, LCase(Производство), "муфт") > 0 _
102And InStr(1, LCase(Производство), "тэсц") > 0 _
103And InStr(1, LCase(Производство), "5") > 0 Then
104Производство = "Муфта ТЭСЦ-5"
105Продукт = "МУФТА Д"
106П0100_Диаметр_типовой
107M3_Общий.П0140_Резьба_типовая
108M3_Общий.П0112_Группа_по_классу_прочности_для_муфт
109Наименование_УП = Продукт & Диам_тип & " " & Гр_прочн & " " & Резьба_тип
110M2_Промежуточный.П0900_Укрупнение
111End If
112
113
114End Sub
115
116''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
117''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
118''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
119'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
120'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
121Sub П0130_Определение_ОТО()
122On Error Resume Next
123For s0 = 1 To 200
124If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Признак по НТД" Then Exit For
125Next
126For i = 4 To 500
127q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
128q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'НТД
129q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Продукт
130q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп признак
131
132If InStr(1, UCase(q0), UCase(Производство)) > 0 _
133And UCase(НТД_кач_прокат) = UCase(q1) _
134And InStr(1, UCase(Гр_свойств), UCase("ГЮ")) > 0 Then
135Гр_свойств = q2
136Exit For
137End If
138Next
139End Sub
140
141Sub П0100_Диаметр_типовой()
142On Error Resume Next
143If Диаметр = "" Then Диаметр = 0
144Диаметр = Replace(Диаметр, ".", ",")
145Диаметр = CSng(Диаметр)
146For s0 = 1 To 200
147If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-5" Then Exit For
148Next
149For i = 4 To 300
150If i_строк_НП = 41 Then
151q = q
152End If
153q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
154q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
155q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Диаметр
156q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Диаметр типовой
157q2 = Replace(q2, ".", ","): q2 = CSng(q2)
158q3 = Replace(q3, ".", ","): q3 = CSng(q3)
159
160If IsNumeric(q2) = True Then
161If UCase(q0) = UCase(Производство) _
162And UCase(q1) = UCase(Продукт) _
163And q2 = Диаметр Then
164Диам_тип = q3: Exit For
165End If
166End If
167Next
168End Sub
169
170Sub П0110_Проверка_на_Продукт_Т3()
171On Error Resume Next
172If Толщина_тип = "" Then Толщина_тип = 0
173Толщина_тип = Replace(Толщина_тип, ".", ","): Толщина_тип = CSng(Толщина_тип)
174For s0 = 1 To 200
175If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-3" Then Exit For
176Next
177For i = 4 To 300
178If i = 41 Then
179q = q
180End If
181q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
182q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
183q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
184q2 = Replace(q2, ".", ","): q2 = CSng(q2)
185
186If UCase(q0) = UCase(Производство) _
187And UCase(q1) = UCase(Продукт) _
188And Диам_тип = q2 Then
189Доп_парам1 = q2: Exit Sub
190End If
191Next
192End Sub
193
194Sub П0110_Диап_Толщин_по_Продукт()
195On Error Resume Next
196If Толщина_тип = "" Then Толщина_тип = 0
197Толщина_тип = Replace(Толщина_тип, ".", ","): Толщина_тип = CSng(Толщина_тип)
198For s0 = 1 To 200
199If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-5" Then Exit For
200Next
201For i = 4 To 300
202If i = 41 Then
203q = q
204End If
205q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
206q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
207q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
208q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
209q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
210q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
211q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
212q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
213
214q2 = Replace(q2, ".", ","): q2 = CSng(q2)
215q5 = Replace(q5, ".", ","): q5 = CSng(q5)
216q6 = Replace(q6, ".", ","): q6 = CSng(q6)
217
218т_мин = 1000
219т_макс = 1000
220If UCase(q0) = UCase(Производство) _
221And UCase(q1) = UCase(Продукт) _
222And Доп_парам1 = q2 _
223And q5 <= Толщина_тип And Толщина_тип <= q6 And Толщина_тип > 0 Then
224Диап_толщин = q7: Exit Sub
225End If
226Next
227End Sub
228
229Sub П0100_Диаметр_типовой_по_ближайшему()
230On Error Resume Next
231If Диаметр = "" Then Диаметр = 0
232Диаметр = Replace(Диаметр, ".", ",")
233Диаметр = CSng(Диаметр)
234For s0 = 1 To 200
235If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-5" Then Exit For
236Next
237' Диам_тип = 0
238д_мин = 5000
239For i = 4 To 300
240If i = 29 Then
241q = q
242End If
243q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
244q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
245q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Диаметр
246q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Гр свойств
247q2 = Replace(q2, ".", ",")
248q2 = CSng(q2)
249
250If IsNumeric(q2) = True Then
251If UCase(q0) = UCase(Производство) _
252And UCase(q1) = UCase(Продукт) Then
253д_0 = Abs(q2 - Диаметр)
254If д_мин > д_0 Then
255д_мин = д_0
256Диам_тип = q2
257End If
258End If
259
260End If
261Next
262End Sub
263
264
265Sub П0120_Ширина_приведенная()
266On Error Resume Next
267If Шир_штрипса = "" Then Шир_штрипса = 0
268Шир_штрипса = Replace(Шир_штрипса, ".", ",")
269Шир_штрипса = CSng(Шир_штрипса)
270
271If Толщина_тип = "" Then Толщина_тип = 0
272Толщина_тип = Replace(Толщина_тип, ".", ",")
273Толщина_тип = CSng(Толщина_тип)
274
275For s0 = 1 To 200
276If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-5" Then Exit For
277Next
278ш_мин = 5000
279For i = 4 To 300
280If i_строк_НП = 2069 Then
281q = q
282End If
283q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
284q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
285q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
286q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
287q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
288q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
289q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
290q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
291q2 = Replace(q2, ".", ","): q2 = CSng(q2)
292q5 = Replace(q5, ".", ","): q5 = CSng(q5)
293q6 = Replace(q6, ".", ","): q6 = CSng(q6)
294
295If IsNumeric(q2) = True Then
296If InStr(1, UCase(q0), UCase(Производство)) > 0 _
297And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
298And InStr(1, UCase(Гр_свойств), UCase(q3)) > 0 Then
299If (q5 <= Толщина_тип And Толщина_тип <= q6 _
300And InStr(1, UCase(Гр_свойств), "ГУ") > 0) _
301Or InStr(1, UCase(Гр_свойств), "ГУ") = 0 Then
302ш_0 = Abs(q2 - Шир_штрипса)
303If ш_мин > ш_0 Then
304ш_мин = ш_0
305Шир_тип = q2
306Диап_толщин = q7
307End If
308End If
309End If
310End If
311
312' If IsNumeric(q2) = True Then
313' If UCase(q0) = UCase(Производство) And UCase(q1) = UCase(Продукт) _
314' And InStr(1, Гр_свойств, q3) > 0 _
315' And (InStr(1, Гр_свойств, "ГУ") = 0 _
316' Or (InStr(1, Гр_свойств, "ГУ") > 0 And q5 <= Толщина_тип And Толщина_тип <= q6)) Then
317' ш_0 = Abs(q2 - Шир_штрипса)
318' If ш_мин > ш_0 Then
319' ш_мин = ш_0
320' Шир_тип = q2
321' Диап_толщин = q7
322' End If
323' End If
324' End If
325
326
327Next
328End Sub
329
330
331