consolidator
421 строка · 18.1 Кб
1Attribute VB_Name = "M7_ТЭСЦ3"
2Sub П0000_Анализ()
3On Error Resume Next
4M0_Переменные.П0001_Параметры
5
6
7' "Заготовка муфтовая ТЭСЦ-3" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
8If InStr(1, LCase(Производство), "муфт") > 0 _
9And InStr(1, LCase(Производство), "тэсц") > 0 _
10And InStr(1, LCase(Производство), "3") > 0 Then
11Производство = "Муфта ТЭСЦ-5"
12Продукт = "МУФТА Д"
13M8_ТЭСЦ5.П0100_Диаметр_типовой
14M3_Общий.П0140_Резьба_типовая
15M3_Общий.П0112_Группа_по_классу_прочности_для_муфт
16Наименование_УП = Продукт & Диам_тип & " " & Гр_прочн & " " & Резьба_тип
17M2_Промежуточный.П0900_Укрупнение
18End If
19' "Труба бесшовная ТЭСЦ-3" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
20If InStr(1, LCase(Производство), "бесшовная") > 0 _
21And InStr(1, LCase(Производство), "труба") > 0 _
22And InStr(1, LCase(Производство), "тэсц") > 0 _
23And InStr(1, LCase(Производство), "3") > 0 Then
24Производство = "Труба бесшовная ТЭСЦ-3"
25Продукт = "ТРУБА БШ"
26П0120_Диапазон_диам
27П0125_Кл_прочности_прив
28Наименование_УП = Продукт & " " & Диап_параметров & " " & Кл_прочности_прив
29M2_Промежуточный.П0900_Укрупнение
30End If
31
32' "Труба сваренная ТЭСЦ-3" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
33If (InStr(1, LCase(Производство), "варен") > 0 _
34And InStr(1, LCase(Производство), "труба") > 0 _
35And InStr(1, LCase(Производство), "тэсц") > 0 _
36And InStr(1, LCase(Производство), "3") > 0 _
37And InStr(1, LCase(Производство), "обсад") = 0) Then
38Производство = "Труба сваренная ТЭСЦ-3"
39Продукт = "ТРУБА Д"
40M3_Общий.П0130_Марка_стали_по_Гр_свойств
41П0102_Определение_Признака_EN_ПР
42П0100_Диаметр_типовой_по_ближайшему
43Доп_парам1 = Диам_тип
44Толщина_тип = Толщ_стен
45П0110_Диап_Толщин_по_Продукт
46Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств
47
48П0130_Наименование_УП_для_труб
49M2_Промежуточный.П0900_Укрупнение
50End If
51
52' "Труба изолированная ТЭСЦ-3" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
53If (InStr(1, LCase(Производство), "изол") > 0 _
54And InStr(1, LCase(Производство), "труба") > 0 _
55And InStr(1, LCase(Производство), "тэсц") > 0 _
56And InStr(1, LCase(Производство), "3") > 0 _
57And InStr(1, LCase(Производство), "обсад") = 0) _
58Or (InStr(1, LCase(Производство), "сваи") > 0 _
59And InStr(1, LCase(Производство), "изол") > 0) Then
60Производство = "Труба изолированная ТЭСЦ-3"
61Продукт = "ТРУБА Д"
62M3_Общий.П0130_Марка_стали_по_Гр_свойств
63П0102_Определение_Признака_EN_ПР
64П0100_Диаметр_типовой_по_ближайшему
65Доп_парам1 = Диам_тип
66Толщина_тип = Толщ_стен
67П0110_Диап_Толщин_по_Продукт
68Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств & " ИН"
69П0130_Наименование_УП_для_труб
70If InStr(1, UCase(Наименование_УП), "ИН") = 0 Then
71Наименование_УП = Наименование_УП & " ИН"
72End If
73
74M2_Промежуточный.П0900_Укрупнение
75End If
76
77' "Труба черная ТЭСЦ-3" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
78If (InStr(1, LCase(Производство), "черн") > 0 _
79And InStr(1, LCase(Производство), "труба") > 0 _
80And InStr(1, LCase(Производство), "тэсц") > 0 _
81And InStr(1, LCase(Производство), "3") > 0 _
82And InStr(1, LCase(Производство), "обсад") = 0) _
83Or (InStr(1, LCase(Производство), "сваи") > 0 _
84And InStr(1, LCase(Производство), "черн") > 0) Then
85Производство = "Труба черная ТЭСЦ-3"
86Продукт = "ТРУБА Д"
87M3_Общий.П0130_Марка_стали_по_Гр_свойств
88П0102_Определение_Признака_EN_ПР
89П0100_Диаметр_типовой_по_ближайшему
90Доп_парам1 = Диам_тип
91Толщина_тип = Толщ_стен
92П0110_Диап_Толщин_по_Продукт
93Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств
94
95П0130_Наименование_УП_для_труб
96M2_Промежуточный.П0900_Укрупнение
97End If
98
99' "Труба термообработанная ТЭСЦ-3" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
100If InStr(1, LCase(Производство), "термо") > 0 _
101And InStr(1, LCase(Производство), "труба") > 0 _
102And InStr(1, LCase(Производство), "тэсц") > 0 _
103And InStr(1, LCase(Производство), "3") > 0 _
104And InStr(1, LCase(Производство), "обсад") = 0 Then
105Производство = "Труба термообработанная ТЭСЦ-3"
106Продукт = "ТРУБА Д"
107M3_Общий.П0130_Марка_стали_по_Гр_свойств
108П0102_Определение_Признака_EN_ПР
109П0100_Диаметр_типовой_по_ближайшему
110Доп_парам1 = Диам_тип
111Толщина_тип = Толщ_стен
112П0110_Диап_Толщин_по_Продукт
113Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств
114П0130_Наименование_УП_для_труб
115M2_Промежуточный.П0900_Укрупнение
116End If
117' "Штрипс ТЭСЦ-3" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
118If InStr(1, LCase(Производство), "штрип") > 0 _
119And InStr(1, LCase(Производство), "тэсц") > 0 _
120And InStr(1, LCase(Производство), "3") > 0 Then
121Производство = "Штрипс ТЭСЦ-3"
122Продукт = "ПОЛОСА"
123M3_Общий.П0130_Марка_стали_по_Гр_свойств
124Толщина_тип = Толщина
125П0120_Ширина_приведенная
126Наименование_УП = Продукт & " Ш" & Шир_тип & " " & Гр_свойств
127If InStr(1, Гр_свойств, "ГУ") > 0 Then
128Гр_свойств = "ГУ"
129Наименование_УП = Продукт & " " & Диап_толщин & " Ш" & Шир_тип & " " & Гр_свойств
130End If
131M2_Промежуточный.П0900_Укрупнение
132End If
133' "Труба профильная ТЭСЦ-3" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
134If InStr(1, LCase(Производство), "труба") > 0 _
135And InStr(1, LCase(Производство), "профил") > 0 _
136And InStr(1, LCase(Производство), "тэсц") > 0 _
137And InStr(1, LCase(Производство), "3") > 0 Then
138Производство = "Труба профильная ТЭСЦ-3"
139Продукт = "ТРУБА Д"
140M3_Общий.П0130_Марка_стали_по_Гр_свойств
141
142Толщина_тип = Толщ_стен
143Доп_парам1 = Размер_проф_1 & "Х" & Размер_проф_2
144П0110_Диап_Толщин_по_Продукт
145
146Наименование_УП = Продукт & Доп_парам1 & " " & Гр_свойств
147If InStr(1, Гр_свойств, "ГУ") > 0 Then
148Наименование_УП = Продукт & Доп_парам1 & " " & Диап_толщин & " " & Гр_свойств
149End If
150M2_Промежуточный.П0900_Укрупнение
151End If
152
153' "Труба обсадная ТЭСЦ-3" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
154If InStr(1, LCase(Производство), "обсад") > 0 _
155And InStr(1, LCase(Производство), "тэсц") > 0 _
156And InStr(1, LCase(Производство), "3") > 0 Then
157Производство = "Труба обсадная ТЭСЦ-5"
158Продукт = "ТРУБА Д"
159M3_Общий.П0111_Группа_по_классу_прочности_для_труб
160M3_Общий.П0140_Резьба_типовая
161M8_ТЭСЦ5.П0100_Диаметр_типовой_по_ближайшему
162Наименование_УП = Продукт & Диам_тип & " ГО " & Гр_прочн & " " & Резьба_тип
163M2_Промежуточный.П0900_Укрупнение
164End If
165
166
167End Sub
168
169
170''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
171''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
172''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
173Sub П0130_Наименование_УП_для_труб()
174If InStr(1, Гр_свойств, "ГУ") > 0 Then
175Наименование_УП = Продукт & Диам_тип & " " & Диап_толщин & " " & Гр_свойств
176If Признак <> "" And Признак <> 0 And InStr(1, Гр_свойств, "ПР") = 0 Then
177Наименование_УП = Продукт & Диам_тип & " " & Диап_толщин & " " & Гр_свойств & " " & Признак
178End If
179End If
180If InStr(1, Гр_свойств, "ГК") > 0 Then
181Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств
182If Признак <> "" And Признак <> 0 And InStr(1, Гр_свойств, "ПР") = 0 Then
183Наименование_УП = Продукт & Диам_тип & " " & Гр_свойств & " " & Признак
184End If
185End If
186If Диам_тип = 457 And InStr(1, Наименование_УП, "EN") = 0 Then
187Наименование_УП = Наименование_УП & " EN"
188End If
189End Sub
190
191Sub П0120_Ширина_приведенная()
192On Error Resume Next
193If Шир_штрипса = "" Then Шир_штрипса = 0
194Шир_штрипса = Replace(Шир_штрипса, ".", ",")
195Шир_штрипса = CSng(Шир_штрипса)
196
197If Толщина_тип = "" Then Толщина_тип = 0
198Толщина_тип = Replace(Толщина_тип, ".", ",")
199Толщина_тип = CSng(Толщина_тип)
200
201For s0 = 1 To 200
202If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-3" Then Exit For
203Next
204ш_мин = 5000
205For i = 4 To 300
206If i_строк_НП = 6 And i = 19 Then
207q = q
208End If
209q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
210q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
211q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
212q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
213q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
214q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
215q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
216q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
217q2 = Replace(q2, ".", ","): q2 = CSng(q2)
218q5 = Replace(q5, ".", ","): q5 = CSng(q5)
219q6 = Replace(q6, ".", ","): q6 = CSng(q6)
220
221If IsNumeric(q2) = True Then
222If InStr(1, UCase(q0), UCase(Производство)) > 0 _
223And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
224And InStr(1, UCase(Гр_свойств), UCase(q3)) > 0 Then
225If (q5 <= Толщина_тип And Толщина_тип <= q6 And InStr(1, UCase(Гр_свойств), "ГУ") > 0) Or InStr(1, UCase(Гр_свойств), "ГУ") = 0 Then
226ш_0 = Abs(q2 - Шир_штрипса)
227If ш_мин > ш_0 Then
228ш_мин = ш_0
229Шир_тип = q2
230Диап_толщин = q7
231End If
232End If
233End If
234End If
235Next
236End Sub
237
238
239Sub П0110_Диап_Толщин_по_Продукт()
240On Error Resume Next
241If Толщина_тип = "" Then Толщина_тип = 0
242Толщина_тип = Replace(Толщина_тип, ".", ","): Толщина_тип = CSng(Толщина_тип)
243For s0 = 1 To 200
244If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-3" Then Exit For
245Next
246For i = 4 To 300
247If i = 66 Then
248q = q
249End If
250q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
251q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
252q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
253q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
254q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
255q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
256q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
257q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
258
259q2 = Replace(q2, ".", ","): q2 = CSng(q2)
260q5 = Replace(q5, ".", ","): q5 = CSng(q5)
261q6 = Replace(q6, ".", ","): q6 = CSng(q6)
262
263т_мин = 1000
264т_макс = 1000
265If UCase(q0) = UCase(Производство) _
266And UCase(q1) = UCase(Продукт) _
267And Доп_парам1 = q2 _
268And q5 <= Толщина_тип And Толщина_тип <= q6 And Толщина_тип > 0 _
269And InStr(1, UCase(q3), UCase(Гр_свойств)) > 0 Then
270Диап_толщин = q7: Exit Sub
271End If
272Next
273End Sub
274
275
276Sub П0125_Кл_прочности_прив()
277On Error Resume Next
278For s0 = 1 To 200
279If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-3" Then Exit For
280Next
281Кл_прочности_прив = "ПD"
282For i = 4 To 300
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) 'Диапазон
291q5 = Replace(q5, ".", ","): q5 = CSng(q5)
292q6 = Replace(q6, ".", ","): q6 = CSng(q6)
293
294' If UCase(q0) = UCase(Производство) And UCase(q1) = UCase(Продукт) And q2 = Кл_прочности Then
295If UCase(q0) = UCase(Производство) And UCase(q1) = UCase(Продукт) Then
296If Марка_стали <> "" And Марка_стали <> 0 And UCase(q2) = UCase(Марка_стали) _
297Or ((Марка_стали = "" Or Марка_стали = 0) And UCase(q2) = UCase(Кл_прочности)) Then
298Кл_прочности_прив = q3
299Exit For
300End If
301End If
302
303Next
304End Sub
305Sub П0120_Диапазон_диам()
306On Error Resume Next
307If Диаметр = "" Then Диаметр = 0
308
309Диаметр = Replace(Диаметр, ".", ","): Диаметр = CSng(Диаметр)
310
311For s0 = 1 To 200
312If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-3" Then Exit For
313Next
314
315For i = 4 To 300
316q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
317q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
318q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
319q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
320q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
321q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимал
322q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимал
323q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон
324q5 = Replace(q5, ".", ","): q5 = CSng(q5)
325q6 = Replace(q6, ".", ","): q6 = CSng(q6)
326
327If UCase(q0) = UCase(Производство) And UCase(q1) = UCase(Продукт) _
328And q5 <= Диаметр And Диаметр <= q6 And Диаметр > 0 Then
329Диап_параметров = q7
330Exit For
331End If
332Next
333End Sub
334Sub П0102_Определение_Признака_EN_ПР()
335On Error Resume Next
336If i_строк_НП = 117 Then
337q = q
338End If
339For s0 = 1 To 200
340If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Признак по НТД" Then Exit For
341Next
342For i = 4 To 500
343If i = 43 Then
344q = q
345End If
346q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
347q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'НТД
348q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
349q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп признак
350
351If UCase(Производство) = UCase(q0) And UCase(НТД_кач_труб) = UCase(q1) _
352And (UCase(Гр_свойств) = "ГК" And UCase(q2) = "ГК" Or UCase(Гр_свойств) <> "ГК" And UCase(q2) = "") Then
353Признак = q3
354Exit For
355End If
356Next
357End Sub
358
359Sub П0100_Диаметр_типовой_по_ближайшему()
360On Error Resume Next
361If Диаметр = "" Then Диаметр = 0
362Диаметр = Replace(Диаметр, ".", ",")
363Диаметр = CSng(Диаметр)
364For s0 = 1 To 200
365If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-3" Then Exit For
366Next
367' Диам_тип = 0
368д_мин = 5000
369For i = 4 To 300
370If i = 29 Then
371q = q
372End If
373q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
374q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
375q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Диаметр
376q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Гр свойств
377q2 = Replace(q2, ".", ",")
378q2 = CSng(q2)
379
380If IsNumeric(q2) = True Then
381If UCase(q0) = UCase(Производство) _
382And UCase(q1) = UCase(Продукт) Then
383д_0 = Abs(q2 - Диаметр)
384If д_мин > д_0 Then
385д_мин = д_0
386Диам_тип = q2
387End If
388End If
389
390End If
391Next
392End Sub
393
394Sub П0100_Диаметр_типовой()
395On Error Resume Next
396If Диаметр = "" Then Диаметр = 0
397Диаметр = Replace(Диаметр, ".", ",")
398Диаметр = CSng(Диаметр)
399For s0 = 1 To 200
400If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТЭСЦ-3" Then Exit For
401Next
402For i = 4 To 300
403If i_строк_НП = 41 Then
404q = q
405End If
406q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
407q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
408q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Диаметр
409q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Диаметр типовой
410q2 = Replace(q2, ".", ","): q2 = CSng(q2)
411q3 = Replace(q3, ".", ","): q3 = CSng(q3)
412
413If IsNumeric(q2) = True Then
414If UCase(q0) = UCase(Производство) _
415And UCase(q1) = UCase(Продукт) _
416And q2 = Диаметр Then
417Диам_тип = q3: Exit For
418End If
419End If
420Next
421End Sub
422
423