consolidator
125 строк · 4.9 Кб
1Attribute VB_Name = "M9_ТБД"
2Sub П0000_Анализ()
3On Error Resume Next
4M0_Переменные.П0001_Параметры
5
6' "Трубы ТБД" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7If InStr(1, LCase(Производство), "тбд") > 0 Then
8If i_строк_НП = 130 Then
9q = q
10End If
11If Диаметр < 508 Then
12M2_Промежуточный.П0900_Укрупнение
13Exit Sub
14ElseIf Диаметр = 508 Then
15Наименование_УП = "ТРУБА Д508 ГН"
16M2_Промежуточный.П0900_Укрупнение
17Exit Sub
18End If
19Производство = ""
20Продукт = "ТР Д"
21Шов = "ШВ1"
22
23If UCase(Тип_трубы) = UCase("двухшовная") Then Шов = "ШВ2"
24M3_Общий.П0120_Маппинг_Кл_прочности
25M3_Общий.П0121_Приведение_Кл_прочности
26П0100_Диаметр_типовой_по_ближайшему
27Толщина_тип = Толщ_стен
28If Кл_прочности_прив = "" Or Кл_прочности_прив = 0 Then
29Кл_прочности_прив = "К52"
30End If
31П0110_Диап_Толщин_по_Продукт
32Наименование_УП = Продукт & Диам_тип & " " & Диап_толщин & " " & Шов & " " & Кл_прочности_прив
33
34If Len(НТД_внутр) <> 0 _
35And Len(НТД_наруж) <> 0 Then
36Наименование_УП = Наименование_УП & " ИНВ"
37ElseIf НТД_наруж <> 0 Or НТД_наруж <> "" Then
38Наименование_УП = Наименование_УП & " ИН"
39ElseIf НТД_внутр <> 0 Or НТД_внутр <> "" Then
40Наименование_УП = Наименование_УП & " ИВ"
41End If
42
43M2_Промежуточный.П0900_Укрупнение
44End If
45
46End Sub
47
48''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
49''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
50''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
51
52Sub П0110_Диап_Толщин_по_Продукт()
53On Error Resume Next
54If Толщина_тип = "" Then Толщина_тип = 0
55Толщина_тип = Replace(Толщина_тип, ".", ","): Толщина_тип = CSng(Толщина_тип)
56For s0 = 1 To 200
57If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТБД" Then Exit For
58Next
59For i = 4 To 300
60If i = 41 Then
61q = q
62End If
63q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
64q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
65q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
66q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
67q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
68q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
69q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
70q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
71
72q2 = Replace(q2, ".", ","): q2 = CSng(q2)
73q5 = Replace(q5, ".", ","): q5 = CSng(q5)
74q6 = Replace(q6, ".", ","): q6 = CSng(q6)
75
76т_мин = 1000
77т_макс = 1000
78If UCase(q0) = UCase(Производство) _
79And UCase(q1) = UCase(Продукт) _
80And q2 = Диам_тип _
81And UCase(q3) = UCase(Шов) _
82And UCase(q4) = UCase(Кл_прочности_прив) _
83And q5 <= Толщина_тип And Толщина_тип <= q6 And Толщина_тип > 0 Then
84Диап_толщин = q7: Exit Sub
85End If
86Next
87End Sub
88
89Sub П0100_Диаметр_типовой_по_ближайшему()
90On Error Resume Next
91If Диаметр = "" Then Диаметр = 0
92Диаметр = Replace(Диаметр, ".", ",")
93Диаметр = CSng(Диаметр)
94For s0 = 1 To 200
95If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту ТБД" Then Exit For
96Next
97' Диам_тип = 0
98д_мин = 5000
99For i = 4 To 300
100If i = 29 Then
101q = q
102End If
103q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
104q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
105q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Диаметр
106q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'шов
107q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Кл прочн
108q2 = Replace(q2, ".", ",")
109q2 = CSng(q2)
110
111If IsNumeric(q2) = True Then
112' If UCase(q0) = UCase(Производство) _
113' And UCase(q1) = UCase(Продукт) _
114' And UCase(q3) = UCase(Шов) _
115' And UCase(q4) = UCase(Кл_прочности_прив) Then
116д_0 = Abs(q2 - Диаметр)
117If д_мин > д_0 Then
118д_мин = д_0
119Диам_тип = q2
120End If
121' End If
122
123End If
124Next
125End Sub
126
127
128