├── FormCodeGenerator
├── .project
├── .settings
│ └── org.eclipse.core.resources.prefs
├── DT-INF
│ └── PROJECT.PMF
├── bin
│ ├── FormGenerator.epf
│ ├── FormGenerator1.epf
│ ├── FormGenerator2.epf
│ ├── ДекомпиляцияУправляемыхФорм3.epf
│ └── ТестФормы.epf
└── src
│ └── ExternalDataProcessors
│ └── FormGenerator
│ ├── FormGenerator.mdo
│ ├── Forms
│ ├── ФормаВыбораФормы
│ │ ├── Form.form
│ │ └── Module.bsl
│ ├── ФормаКодогенерации
│ │ ├── Form.form
│ │ ├── Items
│ │ │ └── ОбъектДеревоЭлементовКартинкаИндекс
│ │ │ │ └── ValuesPicture.png
│ │ └── Module.bsl
│ ├── ФормаПалитра
│ │ ├── Form.form
│ │ └── Module.bsl
│ └── ФормаПроверкиКода
│ │ ├── Form.form
│ │ └── Module.bsl
│ └── ObjectModule.bsl
├── FormCodeGeneratorExtention
├── .project
├── .settings
│ └── org.eclipse.core.resources.prefs
├── DT-INF
│ └── PROJECT.PMF
└── src
│ ├── Configuration
│ └── Configuration.mdo
│ └── DataProcessors
│ └── FormGenerator
│ ├── FormGenerator.mdo
│ ├── Forms
│ ├── Форма
│ │ ├── Form.form
│ │ └── Module.bsl
│ ├── ФормаВыбораФормы
│ │ ├── Form.form
│ │ └── Module.bsl
│ ├── ФормаКодогенерации
│ │ ├── Form.form
│ │ ├── Items
│ │ │ └── ОбъектДеревоЭлементовКартинкаИндекс
│ │ │ │ └── ValuesPicture.png
│ │ └── Module.bsl
│ ├── ФормаПалитра
│ │ ├── Form.form
│ │ └── Module.bsl
│ ├── ФормаПроверкиКода
│ │ ├── Form.form
│ │ └── Module.bsl
│ ├── ФормаЭлемента
│ │ ├── Form.form
│ │ └── Module.bsl
│ └── ФормаЭлемента1
│ │ ├── Form.form
│ │ └── Module.bsl
│ └── ObjectModule.bsl
├── LICENSE
└── README.md
/FormCodeGenerator/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | FormCodeGenerator
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.xtext.ui.shared.xtextBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.xtext.ui.shared.xtextNature
16 | com._1c.g5.v8.dt.core.V8ExternalObjectsNature
17 |
18 |
19 |
--------------------------------------------------------------------------------
/FormCodeGenerator/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=UTF-8
3 |
--------------------------------------------------------------------------------
/FormCodeGenerator/DT-INF/PROJECT.PMF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Runtime-Version: 8.3.17
3 | Base-Project: FormEditor
4 |
--------------------------------------------------------------------------------
/FormCodeGenerator/bin/FormGenerator.epf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/FormGenerator.epf
--------------------------------------------------------------------------------
/FormCodeGenerator/bin/FormGenerator1.epf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/FormGenerator1.epf
--------------------------------------------------------------------------------
/FormCodeGenerator/bin/FormGenerator2.epf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/FormGenerator2.epf
--------------------------------------------------------------------------------
/FormCodeGenerator/bin/ДекомпиляцияУправляемыхФорм3.epf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/ДекомпиляцияУправляемыхФорм3.epf
--------------------------------------------------------------------------------
/FormCodeGenerator/bin/ТестФормы.epf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/ТестФормы.epf
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/FormGenerator.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | FormGenerator
7 |
8 | ru
9 | Form generator
10 |
11 | 1.0.0.4
12 |
13 | ExternalDataProcessor.FormGenerator.Form.ФормаКодогенерации
14 |
15 | ИмяМодуля
16 |
17 | ru
18 | Имя модуля
19 |
20 |
21 | String
22 |
23 | 200
24 |
25 |
26 |
27 |
28 |
29 |
30 | ТекстПрограммногоДобавления
31 |
32 | ru
33 | Текст программного добавления
34 |
35 |
36 | String
37 |
38 |
39 |
40 |
41 |
42 |
43 | ДеревоФорм
44 |
45 | ru
46 | Дерево форм
47 |
48 |
49 | ValueTree
50 |
51 |
52 |
53 |
54 |
55 | ДеревоРеквизитов
56 |
57 | ru
58 | Дерево реквизитов
59 |
60 |
61 | ValueTree
62 |
63 |
64 |
65 |
66 |
67 | АдресВоВременномХранилище
68 |
69 | ru
70 | Адрес во временном хранилище
71 |
72 |
73 | String
74 |
75 |
76 |
77 |
78 |
79 |
80 | ИмяПодключеннойОбработки
81 |
82 | ru
83 | Имя подключенной обработки
84 |
85 |
86 | String
87 |
88 |
89 |
90 |
91 |
92 |
93 | ИмяВременногоФайла
94 |
95 | ru
96 | Имя временного файла
97 |
98 |
99 | String
100 |
101 |
102 |
103 |
104 |
105 |
106 | ПолныйПутьКФорме
107 |
108 | ru
109 | Полный путь к форме
110 |
111 |
112 | String
113 |
114 |
115 |
116 |
117 |
118 |
119 | ДеревоЭлементов
120 |
121 | ru
122 | Дерево элементов
123 |
124 |
125 | ValueTree
126 |
127 |
128 |
129 |
130 |
131 | ТекстДобавленияРеквизитов
132 |
133 | ru
134 | Текст добавления реквизитов
135 |
136 |
137 | String
138 |
139 |
140 |
141 |
142 | ТекстДобавленияЭлементов
143 |
144 | ru
145 | Текст добавления элементов
146 |
147 |
148 | String
149 |
150 |
151 |
152 |
153 | ТекстДобавленияКоманд
154 |
155 | ru
156 | Текст добавления команд
157 |
158 |
159 | String
160 |
161 |
162 |
163 |
164 | ДеревоРеквизитовЭталон
165 |
166 | ru
167 | Дерево реквизитов эталон
168 |
169 |
170 | ValueTree
171 |
172 |
173 |
174 |
175 |
176 | ДеревоЭлементовЭталон
177 |
178 | ru
179 | Дерево элементов эталон
180 |
181 |
182 | ValueTree
183 |
184 |
185 |
186 |
187 |
188 | ЗапущенаКакВнешняя
189 |
190 | ru
191 | Запущена как внешняя
192 |
193 |
194 | Boolean
195 |
196 |
197 |
198 | ТекстШаблонаОкружения
199 |
200 | ru
201 | Текст шаблона окружения
202 |
203 |
204 | String
205 |
206 |
207 |
208 |
209 | ТекстОбслуживающихМетодов
210 |
211 | ru
212 | Текст обслуживающих методов
213 |
214 |
215 | String
216 |
217 |
218 |
219 |
220 | АдресДанныхФайлаВоВременномХранилище
221 |
222 | ru
223 | Адрес данных файла во временном хранилище
224 |
225 |
226 | String
227 |
228 |
229 |
230 |
231 |
232 |
233 | ИспользованиеСравнениеСЭталоном
234 |
235 | ru
236 | Использование сравнение с эталоном
237 |
238 |
239 | Boolean
240 |
241 |
242 |
243 | АдресВнешнейОбработкиВоВременномХранилище
244 |
245 | ru
246 | Адрес внешней обработки во временном хранилище
247 |
248 |
249 | String
250 |
251 |
252 |
253 |
254 |
255 |
256 | ИспользуемоеИмяФайла
257 |
258 | ru
259 | Используемое имя файла
260 |
261 |
262 | String
263 |
264 | 1000
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 | ТаблицаКоманд
274 |
275 | ru
276 | Таблица команд
277 |
278 |
279 | Use
280 | LineNumber
281 |
282 | Use
283 |
284 |
285 |
286 |
287 | Выбран
288 |
289 | ru
290 | Выбран
291 |
292 |
293 | Boolean
294 |
295 |
296 |
297 |
298 |
299 |
300 | Имя
301 |
302 | ru
303 | Имя
304 |
305 |
306 | String
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 | Заголовок
317 |
318 | ru
319 | Заголовок
320 |
321 |
322 | String
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 | ТекстСоздания
333 |
334 | ru
335 | Текст создания
336 |
337 |
338 | String
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 | ТекстСозданиеКонтекста
349 |
350 | ru
351 | Текст создание контекста
352 |
353 |
354 | String
355 |
356 |
357 |
358 |
359 | ТекстЗаполненияСвойств
360 |
361 | ru
362 | Текст заполнения свойств
363 |
364 |
365 | String
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 | ТаблицаКомандЭталон
376 |
377 | ru
378 | Таблица команд эталон
379 |
380 |
381 | Use
382 | LineNumber
383 |
384 | Use
385 |
386 |
387 |
388 |
389 | Выбран
390 |
391 | ru
392 | Выбран
393 |
394 |
395 | Boolean
396 |
397 |
398 |
399 |
400 |
401 |
402 | Имя
403 |
404 | ru
405 | Имя
406 |
407 |
408 | String
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 | Заголовок
419 |
420 | ru
421 | Заголовок
422 |
423 |
424 | String
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 | ТекстСоздания
435 |
436 | ru
437 | Текст создания
438 |
439 |
440 | String
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 | ТекстСозданиеКонтекста
451 |
452 | ru
453 | Текст создание контекста
454 |
455 |
456 | String
457 |
458 |
459 |
460 |
461 | ТекстЗаполненияСвойств
462 |
463 | ru
464 | Текст заполнения свойств
465 |
466 |
467 | String
468 |
469 |
470 |
471 |
472 |
473 | ФормаВыбораФормы
474 |
475 | ru
476 | Форма выбора формы
477 |
478 | PersonalComputer
479 | MobileDevice
480 |
481 |
482 | ФормаКодогенерации
483 |
484 | ru
485 | Форма кодогенерации
486 |
487 | PersonalComputer
488 | MobileDevice
489 |
490 |
491 | ФормаПалитра
492 |
493 | ru
494 | Форма палитры
495 |
496 | PersonalComputer
497 | MobileDevice
498 |
499 |
500 | ФормаПроверкиКода
501 |
502 | ru
503 | Форма проверки кода
504 |
505 | PersonalComputer
506 | MobileDevice
507 |
508 |
509 |
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ОбъектДеревоФорм
5 | 14
6 | true
7 | true
8 |
9 | true
10 |
11 |
12 | Объект.ДеревоФорм
13 |
14 | None
15 |
16 | ОбъектДеревоФормИмя
17 | 27
18 | true
19 | true
20 |
21 | true
22 |
23 |
24 |
25 | Объект.ДеревоФорм.Имя
26 |
27 |
28 | Объект.ДеревоФорм.Имя
29 |
30 |
31 |
32 | ОбъектДеревоФормИмяРасширеннаяПодсказка
33 | 29
34 | true
35 | true
36 |
37 | true
38 |
39 | Label
40 | true
41 | true
42 |
43 | Left
44 |
45 |
46 |
47 | ОбъектДеревоФормИмяКонтекстноеМеню
48 | 28
49 | true
50 | true
51 |
52 | true
53 |
54 | true
55 |
56 | InputField
57 | Enter
58 | true
59 | Left
60 | true
61 |
62 | true
63 | true
64 | true
65 | true
66 | true
67 | true
68 |
69 |
70 |
71 | ОбъектДеревоФормПолныйПутьКФорме
72 | 30
73 | true
74 | true
75 |
76 | true
77 |
78 |
79 |
80 | Объект.ДеревоФорм.ПолныйПутьКФорме
81 |
82 |
83 | Объект.ДеревоФорм.ПолныйПутьКФорме
84 |
85 |
86 |
87 | ОбъектДеревоФормПолныйПутьКФормеРасширеннаяПодсказка
88 | 32
89 | true
90 | true
91 |
92 | true
93 |
94 | Label
95 | true
96 | true
97 |
98 | Left
99 |
100 |
101 |
102 | ОбъектДеревоФормПолныйПутьКФормеКонтекстноеМеню
103 | 31
104 | true
105 | true
106 |
107 | true
108 |
109 | true
110 |
111 | InputField
112 | Enter
113 | true
114 | Left
115 | true
116 |
117 | true
118 | true
119 | true
120 | true
121 | true
122 | true
123 |
124 |
125 |
126 | ОбъектДеревоФормКоманднаяПанель
127 | 15
128 | true
129 | true
130 |
131 | true
132 |
133 | Left
134 | true
135 |
136 |
137 | Selection
138 | ОбъектДеревоФормВыбор
139 |
140 |
141 | true
142 | true
143 |
144 | true
145 |
146 | ОбъектДеревоФормСтрокаПоиска
147 | 18
148 |
149 | ОбъектДеревоФормСтрокаПоискаРасширеннаяПодсказка
150 | 20
151 | true
152 | true
153 |
154 | true
155 |
156 | Label
157 | true
158 | true
159 |
160 | Left
161 |
162 |
163 |
164 | ОбъектДеревоФормСтрокаПоискаКонтекстноеМеню
165 | 19
166 | true
167 | true
168 |
169 | true
170 |
171 | true
172 |
173 |
174 | true
175 |
176 |
177 |
178 | true
179 | true
180 |
181 | true
182 |
183 | ОбъектДеревоФормСостояниеПросмотра
184 | 24
185 |
186 | ОбъектДеревоФормСостояниеПросмотраРасширеннаяПодсказка
187 | 26
188 | true
189 | true
190 |
191 | true
192 |
193 | Label
194 | true
195 | true
196 |
197 | Left
198 |
199 |
200 |
201 | ОбъектДеревоФормСостояниеПросмотраКонтекстноеМеню
202 | 25
203 | true
204 | true
205 |
206 | true
207 |
208 | true
209 |
210 | ViewStatusAddition
211 |
212 | true
213 |
214 |
215 |
216 | true
217 | true
218 |
219 | true
220 |
221 | ОбъектДеревоФормУправлениеПоиском
222 | 21
223 |
224 | ОбъектДеревоФормУправлениеПоискомРасширеннаяПодсказка
225 | 23
226 | true
227 | true
228 |
229 | true
230 |
231 | Label
232 | true
233 | true
234 |
235 | Left
236 |
237 |
238 |
239 | ОбъектДеревоФормУправлениеПоискомКонтекстноеМеню
240 | 22
241 | true
242 | true
243 |
244 | true
245 |
246 | true
247 |
248 | SearchControlAddition
249 |
250 | true
251 |
252 |
253 |
254 | ОбъектДеревоФормРасширеннаяПодсказка
255 | 17
256 | true
257 | true
258 |
259 | true
260 |
261 | Label
262 | true
263 | true
264 |
265 | Left
266 |
267 |
268 |
269 | ОбъектДеревоФормКонтекстноеМеню
270 | 16
271 | true
272 | true
273 |
274 | true
275 |
276 | true
277 |
278 | Tree
279 | true
280 | true
281 | true
282 | MultiRow
283 |
284 | 1
285 | 1
286 | AutoUse
287 | AutoUse
288 | true
289 | true
290 | Auto
291 | Auto
292 | true
293 | true
294 | AsFileRef
295 |
296 |
297 | ФормаКоманднаяПанель
298 | -1
299 | true
300 | true
301 |
302 | true
303 |
304 | Left
305 | true
306 |
307 |
308 | OnCreateAtServer
309 | ПриСозданииНаСервере
310 |
311 |
312 | OnOpen
313 | ПриОткрытии
314 |
315 | true
316 | true
317 | Vertical
318 | true
319 | true
320 | true
321 | true
322 | true
323 |
324 | Объект
325 |
326 | ru
327 | Объект
328 |
329 | 1
330 |
331 | ExternalDataProcessor.FormGenerator
332 |
333 |
334 | true
335 |
336 |
337 | true
338 |
339 |
340 |
341 | Объект.ДеревоФорм
342 |
343 |
344 | Имя
345 |
346 | ru
347 | Имя
348 |
349 | 2
350 |
351 | String
352 |
353 |
354 |
355 | true
356 |
357 |
358 | true
359 |
360 |
361 |
362 | ПолныйПутьКФорме
363 |
364 | ru
365 | Полный путь к форме
366 |
367 | 3
368 |
369 | String
370 |
371 |
372 |
373 | true
374 |
375 |
376 | true
377 |
378 |
379 |
380 |
381 |
382 | ФормаАнализируемая
383 |
384 | ru
385 | Форма анализируемая
386 |
387 | 4
388 |
389 | String
390 |
391 |
392 |
393 | true
394 |
395 |
396 | true
397 |
398 |
399 | ФормаАнализируемая
400 |
401 |
402 |
403 | ФормаИмяОбъекта
404 |
405 | ru
406 | Форма имя объекта
407 |
408 | 5
409 |
410 | String
411 |
412 |
413 |
414 | true
415 |
416 |
417 | true
418 |
419 |
420 |
421 | ФормаИмяФормы
422 |
423 | ru
424 | Форма имя формы
425 |
426 | 6
427 |
428 | String
429 |
430 |
431 |
432 | true
433 |
434 |
435 | true
436 |
437 |
438 |
439 | ФормаТипОбъекта
440 |
441 | ru
442 | Форма тип объекта
443 |
444 | 7
445 |
446 | String
447 |
448 |
449 |
450 | true
451 |
452 |
453 | true
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область ОбработчикиСобытийФормы
2 |
3 | &НаСервере
4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
5 |
6 | Если Параметры.Свойство("ТекущаяСтрока") Тогда
7 | Если ЗначениеЗаполнено(Параметры.ТекущаяСтрока) Тогда
8 | ФормаАнализируемая = Параметры.ТекущаяСтрока;
9 | Параметры.Свойство("ФормаИмяОбъекта", ФормаИмяОбъекта);
10 | Параметры.Свойство("ФормаТипОбъекта", ФормаТипОбъекта);
11 | Параметры.Свойство("ФормаИмяФормы", ФормаИмяФормы);
12 | КонецЕсли;
13 | КонецЕсли;
14 |
15 | ЗаполнитьДеревоФорм();
16 |
17 | КонецПроцедуры
18 |
19 | &НаКлиенте
20 | Процедура ПриОткрытии(Отказ)
21 |
22 | // Развернуть дерево
23 | Для Каждого Строка Из Объект.ДеревоФорм.ПолучитьЭлементы() Цикл
24 | Если Строка.Имя = ФормаТипОбъекта Тогда
25 | // Ищем объект
26 | Для Каждого СтрокаОбъект Из Строка.ПолучитьЭлементы() Цикл
27 | Если СтрокаОбъект.Имя = ФормаИмяОбъекта Тогда
28 | // Ищем форму
29 | Для Каждого СтрокаФормы Из СтрокаОбъект.ПолучитьЭлементы() Цикл
30 | Если СтрокаФормы.Имя = ФормаИмяФормы Тогда
31 | ИдентификаторСтроки = СтрокаФормы.ПолучитьИдентификатор();
32 | Элементы.ОбъектДеревоФорм.ТекущаяСтрока = ИдентификаторСтроки;
33 | КонецЕсли;
34 | КонецЦикла;
35 | КонецЕсли;
36 | КонецЦикла;
37 | КонецЕсли;
38 | КонецЦикла;
39 |
40 | КонецПроцедуры
41 |
42 | #КонецОбласти
43 |
44 | #Область ОбработчикиСобытийЭлементов
45 |
46 | &НаКлиенте
47 | Процедура ОбъектДеревоФормВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
48 |
49 | СтандартнаяОбработка = Ложь;
50 |
51 | Если ВыбраннаяСтрока = Неопределено Тогда
52 | Возврат;
53 | КонецЕсли;
54 |
55 | ТекСтрока = Объект.ДеревоФорм.НайтиПоИдентификатору(ВыбраннаяСтрока);
56 | Если НЕ ПустаяСтрока(ТекСтрока.ПолныйПутьКФорме) Тогда
57 |
58 | // Имя справочника, имя документа, ....
59 | РодительФормы = ТекСтрока.ПолучитьРодителя();
60 | // Справочник, документ,....
61 | ТипОбъекта = РодительФормы.ПолучитьРодителя();
62 |
63 | СтруктИнфыОМетаданном = Новый Структура;
64 | СтруктИнфыОМетаданном.Вставить("ТипОбъекта",ТипОбъекта.Имя);
65 | СтруктИнфыОМетаданном.Вставить("ИмяОбъекта",РодительФормы.Имя);
66 | СтруктИнфыОМетаданном.Вставить("ИмяФормы",ТекСтрока.Имя);
67 | СтруктИнфыОМетаданном.Вставить("ПолныйПутьКФорме",ТекСтрока.ПолныйПутьКФорме);
68 |
69 | Закрыть(СтруктИнфыОМетаданном);
70 | КонецЕсли;
71 |
72 | КонецПроцедуры
73 |
74 | #КонецОбласти
75 |
76 | #Область СлужебныеПроцедурыИФункции
77 |
78 | Процедура ЗаполнитьДеревоФорм() Экспорт
79 |
80 | ДеревоФорм = РеквизитФормыВЗначение("Объект.ДеревоФорм");
81 |
82 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Справочники");
83 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Документы");
84 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ЖурналыДокументов");
85 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Отчеты");
86 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Обработки");
87 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ПланыВидовХарактеристик");
88 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ПланыСчетов");
89 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ПланыВидовРасчета");
90 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыСведений");
91 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыНакопления");
92 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыБухгалтерии");
93 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыРасчета");
94 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "БизнесПроцессы");
95 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Задачи");
96 |
97 | ЗначениеВРеквизитФормы(ДеревоФорм, "Объект.ДеревоФорм");
98 |
99 | КонецПроцедуры
100 |
101 | Процедура ЗаполнитьДеревоФормПоМетаданным(СтрокиМетаданные, СтрМетаданные)
102 |
103 | Строки = СтрокиМетаданные.Строки.Добавить();
104 | Строки.Имя = СтрМетаданные;
105 | Для каждого стр из Метаданные[СтрМетаданные] Цикл
106 | стрДерева = Строки.Строки.Добавить();
107 | стрДерева.Имя = стр.Имя;
108 | Для каждого Форма из стр.Формы Цикл
109 | Если Строка(Форма.ТипФормы)="Управляемая" Тогда
110 | стрФорм = стрДерева.Строки.Добавить();
111 | стрФорм.Имя = Форма.Имя;
112 | стрФорм.ПолныйПутьКФорме = стр.ПолноеИмя()+".Форма."+Форма.Имя;
113 | КонецЕсли;
114 | КонецЦикла;
115 | КонецЦикла;
116 |
117 | КонецПроцедуры
118 |
119 |
120 | #КонецОбласти
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПалитра/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Реквизит3
5 | 63
6 | true
7 | true
8 |
9 | true
10 |
11 |
12 | Реквизит3
13 |
14 |
15 | Реквизит3РасширеннаяПодсказка
16 | 65
17 | true
18 | true
19 |
20 | true
21 |
22 | Label
23 | true
24 | true
25 |
26 | Left
27 |
28 |
29 |
30 | Реквизит3КонтекстноеМеню
31 | 64
32 | true
33 | true
34 |
35 | true
36 |
37 | true
38 |
39 | InputField
40 | Enter
41 | true
42 | Left
43 | true
44 |
45 | true
46 | true
47 | true
48 | true
49 | true
50 | true
51 |
52 |
53 |
54 | Группа1
55 | 72
56 |
57 | Реквизит2
58 | 69
59 | true
60 | true
61 |
62 | true
63 |
64 |
65 | Реквизит3
66 |
67 |
68 | Реквизит2РасширеннаяПодсказка
69 | 71
70 | true
71 | true
72 |
73 | true
74 |
75 | Label
76 | true
77 | true
78 |
79 | Left
80 |
81 |
82 |
83 | Реквизит2КонтекстноеМеню
84 | 70
85 | true
86 | true
87 |
88 | true
89 |
90 | true
91 |
92 | InputField
93 | Enter
94 | true
95 | Left
96 | true
97 |
98 | true
99 | true
100 | true
101 | true
102 | true
103 | true
104 |
105 |
106 |
107 | Реквизит1
108 | 66
109 | true
110 | true
111 |
112 | true
113 |
114 |
115 | Реквизит3
116 |
117 |
118 | Реквизит1РасширеннаяПодсказка
119 | 68
120 | true
121 | true
122 |
123 | true
124 |
125 | Label
126 | true
127 | true
128 |
129 | Left
130 |
131 |
132 |
133 | Реквизит1КонтекстноеМеню
134 | 67
135 | true
136 | true
137 |
138 | true
139 |
140 | true
141 |
142 | InputField
143 | Enter
144 | true
145 | Left
146 | true
147 |
148 | true
149 | true
150 | true
151 | true
152 | true
153 | true
154 |
155 |
156 |
157 | Группа2
158 | 74
159 |
160 | Группа3
161 | 76
162 |
163 | Реквизит6
164 | 84
165 | true
166 | true
167 |
168 | true
169 |
170 |
171 | Реквизит2
172 |
173 |
174 | Реквизит6РасширеннаяПодсказка
175 | 86
176 | true
177 | true
178 |
179 | true
180 |
181 | Label
182 | true
183 | true
184 |
185 | Left
186 |
187 |
188 |
189 | Реквизит6КонтекстноеМеню
190 | 85
191 | true
192 | true
193 |
194 | true
195 |
196 | true
197 |
198 | InputField
199 | Enter
200 | true
201 | Left
202 | true
203 |
204 | true
205 | true
206 | true
207 | true
208 | true
209 | true
210 |
211 |
212 | true
213 | true
214 |
215 | true
216 |
217 |
218 | Группа3РасширеннаяПодсказка
219 | 77
220 | true
221 | true
222 |
223 | true
224 |
225 | Label
226 | true
227 | true
228 |
229 | Left
230 |
231 |
232 | UsualGroup
233 |
234 | HorizontalIfPossible
235 | true
236 | true
237 | Auto
238 | Auto
239 |
240 |
241 |
242 | Реквизит4
243 | 78
244 | true
245 | true
246 |
247 | true
248 |
249 |
250 | Реквизит1
251 |
252 |
253 | Реквизит4РасширеннаяПодсказка
254 | 80
255 | true
256 | true
257 |
258 | true
259 |
260 | Label
261 | true
262 | true
263 |
264 | Left
265 |
266 |
267 |
268 | Реквизит4КонтекстноеМеню
269 | 79
270 | true
271 | true
272 |
273 | true
274 |
275 | true
276 |
277 | InputField
278 | Enter
279 | true
280 | Left
281 | true
282 |
283 | true
284 | true
285 | true
286 | true
287 | true
288 | true
289 |
290 |
291 |
292 | Реквизит5
293 | 81
294 | true
295 | true
296 |
297 | true
298 |
299 |
300 | Реквизит3
301 |
302 |
303 | Реквизит5РасширеннаяПодсказка
304 | 83
305 | true
306 | true
307 |
308 | true
309 |
310 | Label
311 | true
312 | true
313 |
314 | Left
315 |
316 |
317 |
318 | Реквизит5КонтекстноеМеню
319 | 82
320 | true
321 | true
322 |
323 | true
324 |
325 | true
326 |
327 | InputField
328 | Enter
329 | true
330 | Left
331 | true
332 |
333 | true
334 | true
335 | true
336 | true
337 | true
338 | true
339 |
340 |
341 | true
342 | true
343 |
344 | true
345 |
346 |
347 | Группа2РасширеннаяПодсказка
348 | 75
349 | true
350 | true
351 |
352 | true
353 |
354 | Label
355 | true
356 | true
357 |
358 | Left
359 |
360 |
361 | UsualGroup
362 |
363 | HorizontalIfPossible
364 | WeakSeparation
365 | true
366 | true
367 | true
368 | Auto
369 | Auto
370 |
371 |
372 | true
373 | true
374 |
375 | true
376 |
377 |
378 | Группа1РасширеннаяПодсказка
379 | 73
380 | true
381 | true
382 |
383 | true
384 |
385 | Label
386 | true
387 | true
388 |
389 | Left
390 |
391 |
392 | UsualGroup
393 |
394 | AlwaysHorizontal
395 | true
396 | true
397 | Auto
398 | Auto
399 |
400 |
401 |
402 | Реквизит7
403 | 87
404 | true
405 | true
406 |
407 | true
408 |
409 |
410 | Реквизит3
411 |
412 |
413 | Реквизит7РасширеннаяПодсказка
414 | 89
415 | true
416 | true
417 |
418 | true
419 |
420 | Label
421 | true
422 | true
423 |
424 | Left
425 |
426 |
427 |
428 | Реквизит7КонтекстноеМеню
429 | 88
430 | true
431 | true
432 |
433 | true
434 |
435 | true
436 |
437 | InputField
438 | Enter
439 | true
440 | Left
441 | true
442 |
443 | true
444 | true
445 | true
446 | true
447 | true
448 | true
449 |
450 |
451 |
452 | ФормаКоманднаяПанель
453 | -1
454 | true
455 | true
456 |
457 | true
458 |
459 | Left
460 | true
461 |
462 |
463 | OnCreateAtServer
464 | ПриСозданииНаСервере
465 |
466 | true
467 | true
468 | Vertical
469 | true
470 | true
471 | true
472 | true
473 | true
474 |
475 | Реквизит1
476 | 1
477 |
478 | String
479 |
480 |
481 |
482 | true
483 |
484 |
485 | true
486 |
487 |
488 |
489 | Реквизит2
490 | 2
491 |
492 | String
493 |
494 |
495 |
496 | true
497 |
498 |
499 | true
500 |
501 |
502 |
503 | Реквизит3
504 | 3
505 |
506 | String
507 |
508 |
509 |
510 | true
511 |
512 |
513 | true
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПалитра/Module.bsl:
--------------------------------------------------------------------------------
1 |
2 |
3 | &НаСервере
4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
5 |
6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда
7 | ИмяПодключеннойОбработки = ЭтаФорма.Параметры.РедакторФорм.ИмяПодключеннойОбработки;
8 | Если ЭтаФорма.Параметры.РедакторФорм.ЗапущенаКакВнешняя Тогда
9 | ВнешниеОбработки.Создать(ИмяПодключеннойОбработки, Ложь).ПодготовитьДанныеАнализируемойФормы(ЭтаФорма);
10 | Иначе
11 | Обработки[ИмяПодключеннойОбработки].Создать().ПодготовитьДанныеАнализируемойФормы(ЭтаФорма);
12 | КонецЕсли;
13 | КонецЕсли;
14 |
15 | КонецПроцедуры
16 |
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ФормаКоманднаяПанель
5 | -1
6 | true
7 | true
8 |
9 | true
10 |
11 | Left
12 | true
13 |
14 |
15 | OnCreateAtServer
16 | ПриСозданииНаСервере
17 |
18 | true
19 | true
20 | Vertical
21 | true
22 | true
23 | true
24 | true
25 | true
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Module.bsl:
--------------------------------------------------------------------------------
1 |
2 |
3 | &НаСервере
4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
5 |
6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда
7 | ТекстСозданияЭлементов = ЭтаФорма.Параметры.РедакторФорм.ТекстПодготовкиФормы;
8 | КонецЕсли;
9 |
10 | КонецПроцедуры
11 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | FormCodeGeneratorExtention
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.xtext.ui.shared.xtextBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.xtext.ui.shared.xtextNature
16 | com._1c.g5.v8.dt.core.V8ExtensionNature
17 |
18 |
19 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=UTF-8
3 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/DT-INF/PROJECT.PMF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Runtime-Version: 8.3.17
3 | Base-Project: FormEditor
4 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/Configuration/Configuration.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | FormCodeGeneratorExtension
4 |
5 | ru
6 | Form code generator extension
7 |
8 | Adopted
9 |
10 | Checked
11 | Checked
12 | Checked
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | true
22 | FCG_
23 | 8.3.14
24 | AddOn
25 | ManagedApplication
26 | PersonalComputer
27 | Russian
28 | https://github.com/huxuxuya
29 | 1.0.0.4
30 | Language.Русский
31 | 8.3.17
32 |
33 | Русский
34 | Adopted
35 |
36 | Checked
37 |
38 | ru
39 |
40 | DataProcessor.FormGenerator
41 |
42 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/FormGenerator.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | FormGenerator
8 |
9 | ru
10 | Form generator
11 |
12 | true
13 | DataProcessor.FormGenerator.Form.ФормаКодогенерации
14 |
15 | ИмяМодуля
16 |
17 | ru
18 | Имя модуля
19 |
20 |
21 | String
22 |
23 | 200
24 |
25 |
26 |
27 |
28 |
29 |
30 | ТекстПрограммногоДобавления
31 |
32 | ru
33 | Текст программного добавления
34 |
35 |
36 | String
37 |
38 |
39 |
40 |
41 |
42 |
43 | ДеревоФорм
44 |
45 | ru
46 | Дерево форм
47 |
48 |
49 | ValueTree
50 |
51 |
52 |
53 |
54 |
55 | ДеревоРеквизитов
56 |
57 | ru
58 | Дерево реквизитов
59 |
60 |
61 | ValueTree
62 |
63 |
64 |
65 |
66 |
67 | АдресВоВременномХранилище
68 |
69 | ru
70 | Адрес во временном хранилище
71 |
72 |
73 | String
74 |
75 |
76 |
77 |
78 |
79 |
80 | ИмяПодключеннойОбработки
81 |
82 | ru
83 | Имя подключенной обработки
84 |
85 |
86 | String
87 |
88 |
89 |
90 |
91 |
92 |
93 | ИмяВременногоФайла
94 |
95 | ru
96 | Имя временного файла
97 |
98 |
99 | String
100 |
101 |
102 |
103 |
104 |
105 |
106 | ПолныйПутьКФорме
107 |
108 | ru
109 | Полный путь к форме
110 |
111 |
112 | String
113 |
114 |
115 |
116 |
117 |
118 |
119 | ДеревоЭлементов
120 |
121 | ru
122 | Дерево элементов
123 |
124 |
125 | ValueTree
126 |
127 |
128 |
129 |
130 |
131 | ТекстДобавленияРеквизитов
132 |
133 | ru
134 | Текст добавления реквизитов
135 |
136 |
137 | String
138 |
139 |
140 |
141 |
142 | ТекстДобавленияЭлементов
143 |
144 | ru
145 | Текст добавления элементов
146 |
147 |
148 | String
149 |
150 |
151 |
152 |
153 | ТекстДобавленияКоманд
154 |
155 | ru
156 | Текст добавления команд
157 |
158 |
159 | String
160 |
161 |
162 |
163 |
164 | ДеревоРеквизитовЭталон
165 |
166 | ru
167 | Дерево реквизитов эталон
168 |
169 |
170 | ValueTree
171 |
172 |
173 |
174 |
175 |
176 | ДеревоЭлементовЭталон
177 |
178 | ru
179 | Дерево элементов эталон
180 |
181 |
182 | ValueTree
183 |
184 |
185 |
186 |
187 |
188 | ЗапущенаКакВнешняя
189 |
190 | ru
191 | Запущена как внешняя
192 |
193 |
194 | Boolean
195 |
196 |
197 |
198 | ТекстШаблонаОкружения
199 |
200 | ru
201 | Текст шаблона окружения
202 |
203 |
204 | String
205 |
206 |
207 |
208 |
209 | ТекстОбслуживающихМетодов
210 |
211 | ru
212 | Текст обслуживающих методов
213 |
214 |
215 | String
216 |
217 |
218 |
219 |
220 | АдресДанныхФайлаВоВременномХранилище
221 |
222 | ru
223 | Адрес данных файла во временном хранилище
224 |
225 |
226 | String
227 |
228 |
229 |
230 |
231 |
232 |
233 | ИспользованиеСравнениеСЭталоном
234 |
235 | ru
236 | Использование сравнение с эталоном
237 |
238 |
239 | Boolean
240 |
241 |
242 |
243 | АдресВнешнейОбработкиВоВременномХранилище
244 |
245 | ru
246 | Адрес внешней обработки во временном хранилище
247 |
248 |
249 | String
250 |
251 |
252 |
253 |
254 |
255 |
256 | ИспользуемоеИмяФайла
257 |
258 | ru
259 | Используемое имя файла
260 |
261 |
262 | String
263 |
264 | 1000
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 | ТаблицаКоманд
274 |
275 | ru
276 | Таблица команд
277 |
278 |
279 | Use
280 | LineNumber
281 |
282 | Use
283 |
284 |
285 |
286 |
287 | Выбран
288 |
289 | ru
290 | Выбран
291 |
292 |
293 | Boolean
294 |
295 |
296 |
297 |
298 |
299 |
300 | Имя
301 |
302 | ru
303 | Имя
304 |
305 |
306 | String
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 | Заголовок
317 |
318 | ru
319 | Заголовок
320 |
321 |
322 | String
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 | ТекстСоздания
333 |
334 | ru
335 | Текст создания
336 |
337 |
338 | String
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 | ТекстСозданиеКонтекста
349 |
350 | ru
351 | Текст создание контекста
352 |
353 |
354 | String
355 |
356 |
357 |
358 |
359 | ТекстЗаполненияСвойств
360 |
361 | ru
362 | Текст заполнения свойств
363 |
364 |
365 | String
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 | ТаблицаКомандЭталон
376 |
377 | ru
378 | Таблица команд эталон
379 |
380 |
381 | Use
382 | LineNumber
383 |
384 | Use
385 |
386 |
387 |
388 |
389 | Выбран
390 |
391 | ru
392 | Выбран
393 |
394 |
395 | Boolean
396 |
397 |
398 |
399 |
400 |
401 |
402 | Имя
403 |
404 | ru
405 | Имя
406 |
407 |
408 | String
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 | Заголовок
419 |
420 | ru
421 | Заголовок
422 |
423 |
424 | String
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 | ТекстСоздания
435 |
436 | ru
437 | Текст создания
438 |
439 |
440 | String
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 | ТекстСозданиеКонтекста
451 |
452 | ru
453 | Текст создание контекста
454 |
455 |
456 | String
457 |
458 |
459 |
460 |
461 | ТекстЗаполненияСвойств
462 |
463 | ru
464 | Текст заполнения свойств
465 |
466 |
467 | String
468 |
469 |
470 |
471 |
472 |
473 | ФормаВыбораФормы
474 |
475 | ru
476 | Форма выбора формы
477 |
478 | PersonalComputer
479 | MobileDevice
480 |
481 |
482 | ФормаКодогенерации
483 |
484 | ru
485 | Форма кодогенерации
486 |
487 | PersonalComputer
488 | MobileDevice
489 |
490 |
491 | ФормаПалитра
492 |
493 | ru
494 | Форма палитры
495 |
496 | PersonalComputer
497 | MobileDevice
498 |
499 |
500 | ФормаПроверкиКода
501 |
502 | ru
503 | Форма проверки кода
504 |
505 | PersonalComputer
506 | MobileDevice
507 |
508 |
509 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/Форма/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ГруппаФормы
5 | 9
6 |
7 | ИмяФормыИсходная
8 | 11
9 |
10 | ru
11 | Форма исходная
12 |
13 | true
14 | true
15 |
16 | true
17 |
18 |
19 |
20 | ИмяФормыИсходная
21 |
22 |
23 |
24 | ИмяФормыИсходнаяРасширеннаяПодсказка
25 | 13
26 | true
27 | true
28 |
29 | true
30 |
31 | Label
32 | true
33 | true
34 |
35 | Left
36 |
37 |
38 |
39 | ИмяФормыИсходнаяКонтекстноеМеню
40 | 12
41 | true
42 | true
43 |
44 | true
45 |
46 | true
47 |
48 | InputField
49 | Enter
50 | true
51 | Left
52 | true
53 |
54 | true
55 | true
56 | true
57 | true
58 | true
59 | true
60 | true
61 |
62 |
63 |
64 | ИмяФормыНовая
65 | 14
66 |
67 | ru
68 | Форма новая
69 |
70 | true
71 | true
72 |
73 | true
74 |
75 |
76 |
77 | ИмяФормыНовая
78 |
79 |
80 |
81 | ИмяФормыНоваяРасширеннаяПодсказка
82 | 16
83 | true
84 | true
85 |
86 | true
87 |
88 | Label
89 | true
90 | true
91 |
92 | Left
93 |
94 |
95 |
96 | ИмяФормыНоваяКонтекстноеМеню
97 | 15
98 | true
99 | true
100 |
101 | true
102 |
103 | true
104 |
105 | InputField
106 | Enter
107 | true
108 | Left
109 | true
110 |
111 | true
112 | true
113 | true
114 | true
115 | true
116 | true
117 | true
118 |
119 |
120 |
121 | ИмяМодуля
122 | 1
123 | true
124 | true
125 |
126 | true
127 |
128 |
129 | ИмяМодуляРасширеннаяПодсказка
130 | 3
131 | true
132 | true
133 |
134 | true
135 |
136 | Label
137 | true
138 | true
139 |
140 | Left
141 |
142 |
143 |
144 | ИмяМодуляКонтекстноеМеню
145 | 2
146 | true
147 | true
148 |
149 | true
150 |
151 | true
152 |
153 | EnterOnInput
154 | true
155 | Left
156 | true
157 |
158 | true
159 | true
160 |
161 | true
162 |
163 |
164 | ru
165 | Сравнение форм
166 |
167 |
168 | ru
169 | Группа формы
170 |
171 |
172 | ГруппаФормыРасширеннаяПодсказка
173 | 10
174 | true
175 | true
176 |
177 | true
178 |
179 | Label
180 | true
181 | true
182 |
183 | Left
184 |
185 |
186 | UsualGroup
187 |
188 | AlwaysHorizontal
189 | WeakSeparation
190 | true
191 | true
192 | true
193 | Auto
194 | Auto
195 |
196 |
197 |
198 | ТекстПрограммногоДобавления
199 | 6
200 | true
201 | true
202 |
203 | true
204 |
205 |
206 | ТекстПрограммногоДобавленияРасширеннаяПодсказка
207 | 8
208 | true
209 | true
210 |
211 | true
212 |
213 | Label
214 | true
215 | true
216 |
217 | Left
218 |
219 |
220 |
221 | ТекстПрограммногоДобавленияКонтекстноеМеню
222 | 7
223 | true
224 | true
225 |
226 | true
227 |
228 | true
229 |
230 | Enter
231 | true
232 | Left
233 | true
234 |
235 |
236 | Сравнить
237 | 4
238 | true
239 | true
240 |
241 | true
242 |
243 |
244 | СравнитьРасширеннаяПодсказка
245 | 5
246 | true
247 | true
248 |
249 | true
250 |
251 | Label
252 | true
253 | true
254 |
255 | Left
256 |
257 |
258 | UsualButton
259 | Form.Command.Сравнить
260 | Auto
261 | true
262 | true
263 | UserCmds
264 | Auto
265 |
266 |
267 | ФормаКоманднаяПанель
268 | -1
269 | true
270 | true
271 |
272 | true
273 |
274 | Left
275 | true
276 |
277 |
278 | NotificationProcessing
279 | ОбработкаОповещения
280 |
281 |
282 | OnCreateAtServer
283 | ПриСозданииНаСервере
284 |
285 | true
286 | true
287 | Vertical
288 | true
289 | true
290 | true
291 | true
292 | true
293 |
294 | Объект
295 | 1
296 |
297 | DataProcessorObject.FormGenerator
298 |
299 |
300 | true
301 |
302 |
303 | true
304 |
305 | true
306 |
307 |
308 | ТаблицаДобавляемыхГрупп
309 |
310 | ru
311 | Таблица добавляемых групп
312 |
313 | 2
314 |
315 | ValueTable
316 |
317 |
318 | true
319 |
320 |
321 | true
322 |
323 |
324 | Приоритет
325 |
326 | ru
327 | Приоритет
328 |
329 | 1
330 |
331 | Number
332 |
333 | 10
334 |
335 |
336 |
337 | true
338 |
339 |
340 | true
341 |
342 |
343 |
344 | ИмяГруппы
345 |
346 | ru
347 | Имя группы
348 |
349 | 2
350 |
351 | String
352 |
353 | 300
354 |
355 |
356 |
357 | true
358 |
359 |
360 | true
361 |
362 |
363 |
364 | ИмяРодитель
365 |
366 | ru
367 | Имя родитель
368 |
369 | 3
370 |
371 | String
372 |
373 | 200
374 |
375 |
376 |
377 | true
378 |
379 |
380 | true
381 |
382 |
383 |
384 |
385 | ИмяФормыИсходная
386 |
387 | ru
388 | Имя формы исходная
389 |
390 | 3
391 |
392 | String
393 |
394 | 100
395 |
396 |
397 |
398 | true
399 |
400 |
401 | true
402 |
403 |
404 |
405 | ИмяФормыНовая
406 |
407 | ru
408 | Имя формы новая
409 |
410 | 4
411 |
412 | String
413 |
414 | 100
415 |
416 |
417 |
418 | true
419 |
420 |
421 | true
422 |
423 |
424 |
425 | Сравнить
426 |
427 | ru
428 | Сравнить
429 |
430 | 1
431 |
432 | ru
433 | Сравнить
434 |
435 |
438 |
439 |
440 | Сравнить
441 |
442 |
443 | Auto
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/Форма/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область ОбработчикиСобытийФормы
2 |
3 | &НаСервере
4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
5 |
6 | МассивИменФорм = Новый Массив;
7 |
8 | Формы = РеквизитФормыВЗначение("Объект").Метаданные().Формы;
9 | Для каждого Форма Из Формы Цикл
10 | Если Форма.Имя <> "Форма" Тогда
11 | Элементы.ИмяФормыНовая.СписокВыбора.Добавить(Форма.Имя);
12 | Элементы.ИмяФормыИсходная.СписокВыбора.Добавить(Форма.Имя);
13 | МассивИменФорм.Добавить(Форма.Имя);
14 | КонецЕсли;
15 | КонецЦикла;
16 |
17 | Для Каждого Эл Из МассивИменФорм Цикл
18 | ЭлПоиска = СокрЛП(Эл) + "1";
19 | Если МассивИменФорм.Найти(ЭлПоиска) <> Неопределено Тогда
20 | ИмяФормыИсходная = Эл;
21 | ИмяФормыНовая = ЭлПоиска;
22 | КонецЕсли;
23 | КонецЦикла;
24 |
25 | КонецПроцедуры
26 |
27 | #КонецОбласти
28 |
29 | #Область СлужебныеПроцедурыИФункции
30 |
31 | &НаКлиенте
32 | Процедура Сравнить(Команда)
33 |
34 | ФормаОбработкиСтарая = ПолучитьФорму("ВнешняяОбработка.FormGenerator.Форма." + ИмяФормыИсходная, , ЭтотОбъект);
35 | РеквизитыСтарые = Неопределено;
36 | ЭлементыСтарые = Неопределено;
37 | РеквизитыЭлеиентыФормы(ФормаОбработкиСтарая, РеквизитыСтарые, ЭлементыСтарые);
38 |
39 | ФормаОбработкиНовая = ПолучитьФорму("ВнешняяОбработка.FormGenerator.Форма." + ИмяФормыНовая, , ЭтотОбъект);
40 | РеквизитыНовые = Неопределено;
41 | ЭлементыНовые = Неопределено;
42 | РеквизитыЭлеиентыФормы(ФормаОбработкиНовая, РеквизитыНовые, ЭлементыНовые);
43 |
44 | СтруктураМассивов = СтруктураДобавленныхПолученныхЭлементовГрупп(ЭлементыНовые, ЭлементыСтарые);
45 | МассивДобавленныхГрупп = СтруктураМассивов.МассивДобавленныхГрупп;
46 | МассивДобавленных = СтруктураМассивов.МассивДобавленных;
47 | МассивКУдалению = СтруктураМассивов.МассивКУдалению;
48 |
49 | РеквизитыФормыНовые = РеквизитыНовые.РеквизитыФормы;
50 | ЭлементыПутьКДаннымНовые = РеквизитыНовые.ЭлементыПутьКДанным;
51 |
52 | РеквизитыФормыСтарые = РеквизитыСтарые.РеквизитыФормы;
53 | ЭлементыПутьКДаннымСтарые = РеквизитыСтарые.ЭлементыПутьКДанным;
54 |
55 | ДобавленныеРеквизитыФормы = ПолучитьДобавленныеРеквизитыФормы(РеквизитыФормыНовые, РеквизитыФормыСтарые);
56 |
57 |
58 | ТекстДобавленияРеквизитов = ТекстДобавленияРеквизитов(ДобавленныеРеквизитыФормы);
59 | ТекстДобавленияЭлементов = ТекстДобавленияЭлементов(МассивДобавленных);
60 | ТекстДобавленияГрупп = ТекстДобавленияГрупп(МассивДобавленныхГрупп, МассивКУдалению);
61 |
62 | Объект.ТекстПрограммногоДобавления = ТекстДобавленияРеквизитов + ТекстДобавленияГрупп;
63 |
64 | КонецПроцедуры
65 |
66 | &НаКлиенте
67 | Функция ПолучитьДобавленныеРеквизитыФормы(Знач РеквизитыФормыНовые, Знач РеквизитыФормыСтарые)
68 |
69 | Перем ДобавленныеРеквизитыФормы, Эл;
70 |
71 | ДобавленныеРеквизитыФормы = Новый Структура;
72 | Для Каждого Эл Из РеквизитыФормыНовые Цикл
73 | Если РеквизитыФормыСтарые.Свойство(Эл.Ключ) = Ложь Тогда
74 | ДобавленныеРеквизитыФормы.Вставить(Эл.Ключ, Эл.Значение);
75 | КонецЕсли;
76 | КонецЦикла;
77 | Возврат ДобавленныеРеквизитыФормы;
78 |
79 | КонецФункции
80 |
81 | &НаКлиенте
82 | Процедура РеквизитыЭлеиентыФормы(ФормаОбработки, Реквизиты, Элементы)
83 |
84 | Реквизиты = Новый Структура;
85 | ФормаОбработки.Открыть();
86 | Реквизиты = ФормаОбработки.ПолучитьРеквизитыФормы();
87 | ФормаОбработки.Закрыть();
88 | Элементы = ФормаОбработки.Элементы;
89 |
90 | КонецПроцедуры
91 |
92 | &НаКлиенте
93 | Функция ТекстДобавленияГрупп(МассивДобавленныхГрупп, МассивКУдалению)
94 |
95 | СоответствиеДобавляемыхГрупп = Новый Соответствие;
96 |
97 | н = 0;
98 | Приоритет = 0;
99 | Пока МассивДобавленныхГрупп.Количество() <> 0 Цикл
100 |
101 | Элемент = МассивДобавленныхГрупп[н];
102 |
103 | Если НайденРодительГруппы(Элемент, МассивКУдалению, ТаблицаДобавляемыхГрупп) Тогда
104 | МассивДобавленныхГрупп.Удалить(н);
105 | НоваяСтрока = ТаблицаДобавляемыхГрупп.Добавить();
106 | НоваяСтрока.Приоритет = Приоритет;
107 | НоваяСтрока.ИмяГруппы = Элемент.Имя;
108 |
109 | Если ТипЗнч(Элемент.Родитель) <> Тип("ФормаКлиентскогоПриложения") Тогда
110 | НоваяСтрока.ИмяРодитель = Элемент.Родитель.Имя;
111 | КонецЕсли;
112 |
113 | СоответствиеДобавляемыхГрупп.Вставить(Элемент.Имя, Элемент);
114 | Приоритет = Приоритет + 1;
115 | Продолжить;
116 | КонецЕсли;
117 |
118 | Если н = МассивДобавленныхГрупп.Количество() - 1 Тогда
119 | Приоритет = Приоритет + 1;
120 | н = 0;
121 | Продолжить;
122 | КонецЕсли;
123 | н = н + 1;
124 | КонецЦикла;
125 |
126 | ТаблицаДобавляемыхГрупп.Сортировать("Приоритет Возр");
127 |
128 | ТекстДобавленияГрупп = СгенерироватьТекстДобавленияГрупп(СоответствиеДобавляемыхГрупп);
129 | Возврат ТекстДобавленияГрупп;
130 |
131 | КонецФункции
132 |
133 | &НаКлиенте
134 | Функция СтруктураДобавленныхПолученныхЭлементовГрупп(ЭлементыНовые, ЭлементыСтарые)
135 |
136 | МассивКУдалению = Новый Массив;
137 | МассивДобавленных = Новый Массив;
138 | МассивДобавленныхГрупп = Новый Массив;
139 |
140 | Для Каждого НовыйЭлемент Из ЭлементыНовые Цикл
141 | НайденныйСтарый = ЭлементыСтарые.Найти(НовыйЭлемент.Имя);
142 | Если НайденныйСтарый = Неопределено Тогда
143 |
144 | Если ТипЗнч(НовыйЭлемент) = Тип("ГруппаФормы")
145 | И НовыйЭлемент.Вид <> ВидГруппыФормы.КонтекстноеМеню Тогда
146 | МассивДобавленныхГрупп.Добавить(НовыйЭлемент);
147 | Иначе
148 | МассивДобавленных.Добавить(НовыйЭлемент);
149 | КонецЕсли;
150 |
151 | Иначе
152 |
153 | МассивКУдалению.Добавить(НайденныйСтарый);
154 | КонецЕсли;
155 |
156 | КонецЦикла;
157 |
158 | Возврат Новый Структура("МассивКУдалению, МассивДобавленных, МассивДобавленныхГрупп",
159 | МассивКУдалению, МассивДобавленных, МассивДобавленныхГрупп);
160 |
161 | КонецФункции
162 |
163 |
164 | &НаКлиенте
165 | Функция СгенерироватьТекстДобавленияГрупп(СоответствиеДобавляемыхГрупп)
166 |
167 | ТекстДобавления = "";
168 | ТекстКонтекст = "%КонтекстГруппы% = РедакторФорм.СоздатьКонтекстЭлемента(ЭтотОбъект);";
169 | ТекстПараметр = "%КонтекстГруппы%.Свойства.Вставить(""%ИмяПараметра%"", %ЗначениеПараметра%);";
170 | ТекстГруппа = "%ИмяГруппы% = РедакторФорм.ДобавитьГруппуНаФорму(%КонтекстГруппы%, ""%ИмяГруппы%"");";
171 |
172 | Для Каждого СтрокаГруппа Из ТаблицаДобавляемыхГрупп Цикл
173 |
174 | ИмяГруппы = СтрокаГруппа.ИмяГруппы;
175 |
176 | ГрТекстКонтекст = СтрЗаменить(ТекстКонтекст, "%КонтекстГруппы%", "Контекст" + ИмяГруппы);
177 | ТекстДобавления = ТекстДобавления + Символы.ПС + ГрТекстКонтекст + Символы.ПС;
178 |
179 | Если ЗначениеЗаполнено(СтрокаГруппа.ИмяРодитель) Тогда
180 | ГрТекстПараметр = СтрЗаменить(ТекстПараметр, "%КонтекстГруппы%", "Контекст" + ИмяГруппы);
181 | ГрТекстПараметр = СтрЗаменить(ГрТекстПараметр, "%ИмяПараметра%", "Родитель");
182 | ГрТекстПараметр = СтрЗаменить(ГрТекстПараметр, "%ЗначениеПараметра%", "Элементы." + СтрокаГруппа.ИмяРодитель);
183 | ТекстДобавления = ТекстДобавления + ГрТекстПараметр + Символы.ПС;
184 | КонецЕсли;
185 |
186 | ГрТекстГруппа = СтрЗаменить(ТекстГруппа, "%КонтекстГруппы%", "Контекст" + ИмяГруппы);
187 | ГрТекстГруппа = СтрЗаменить(ГрТекстГруппа, "%ИмяГруппы%", ИмяГруппы);
188 | ТекстДобавления = ТекстДобавления + ГрТекстГруппа + Символы.ПС;
189 |
190 | КонецЦикла;
191 |
192 | Возврат ТекстДобавления;
193 |
194 | КонецФункции
195 |
196 | &НаКлиентеНаСервереБезКонтекста
197 | Функция НайденРодительГруппы(ГруппаПоискаРодителя, МассивПоиска, ТаблицаНайденных)
198 |
199 | Найден = Ложь;
200 | Если ТипЗнч(ГруппаПоискаРодителя.Родитель) = Тип("ФормаКлиентскогоПриложения") Тогда
201 | Найден = Истина;
202 | Возврат Найден;
203 | КонецЕсли;
204 |
205 | Для Каждого Элемент Из МассивПоиска Цикл
206 | Если ГруппаПоискаРодителя.Родитель.Имя = Элемент.Имя Тогда
207 | Найден = Истина;
208 | КонецЕсли;
209 | КонецЦикла;
210 |
211 | Для Каждого Строка Из ТаблицаНайденных Цикл
212 | Если ГруппаПоискаРодителя.Родитель.Имя = Строка.ИмяГруппы Тогда
213 | Найден = Истина;
214 | КонецЕсли;
215 | КонецЦикла;
216 |
217 |
218 | Возврат Найден;
219 |
220 | КонецФункции
221 |
222 | &НаКлиентеНаСервереБезКонтекста
223 | Функция ТекстДобавленияЭлементов(МассивДобавленных)
224 |
225 | ТекстДобавления = "";
226 | ТекстКонтекст = "КонтекстГруппы = РедакторФорм.СоздатьКонтекстЭлемента(ЭтотОбъект);";
227 | ТекстПараметр = "КонтекстГруппы.Свойства.Вставить(""%ИмяПараметра%"", ""%ЗначениеПараметра%"");";
228 | ТекстГруппа = "Группа = РедакторФорм.ДобавитьГруппуНаФорму(КонтекстГруппы, %ИмяГруппы%);";
229 |
230 | Для Каждого ДобавленныйЭлемент Из МассивДобавленных Цикл
231 | Если ТипЗнч(ДобавленныйЭлемент) = Тип("ГруппаФормы") Тогда
232 |
233 | КонецЕсли;
234 | КонецЦикла;
235 |
236 |
237 | Возврат ТекстДобавления;
238 |
239 | КонецФункции
240 |
241 | &НаКлиентеНаСервереБезКонтекста
242 | Функция ТекстДобавленияРеквизитов(СтруктураРеквизитов)
243 |
244 | ТекстНачало = "МассивДобавляемыхРеквизитов = Новый Массив;
245 | |";
246 | СекцияРеквизита = "
247 | |НовыйРеквизит = Новый РеквизитФормы(""%ИмяРеквизита%"", Тип(""%Тип%""), ""%ПутьРеквизитов%"");
248 | |МассивДобавляемыхРеквизитов.Добавить(НовыйРеквизит);
249 | |";
250 | ТекстКонец = "
251 | |Форма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);";
252 | ТекстДобавления = "";
253 |
254 | Если СтруктураРеквизитов.Количество() > 0 Тогда
255 |
256 | ТекстДобавления = ТекстНачало;
257 |
258 | Для Каждого Эл Из СтруктураРеквизитов Цикл
259 |
260 | ТекстЭлемент = СекцияРеквизита;
261 | ТекстЭлемент = СтрЗаменить(СекцияРеквизита, "%ИмяРеквизита%", Эл.Ключ);
262 | ТекстЭлемент = СтрЗаменить(ТекстЭлемент, "%Тип%", Эл.Значение.ТипЗначения);
263 | ТекстЭлемент = СтрЗаменить(ТекстЭлемент, "%ПутьРеквизитов%", Эл.Значение.Путь);
264 |
265 | ТекстДобавления = ТекстДобавления + ТекстЭлемент ;
266 |
267 | КонецЦикла;
268 |
269 | ТекстДобавления = ТекстДобавления + ТекстКонец;
270 | КонецЕсли;
271 |
272 | Возврат ТекстДобавления;
273 |
274 | КонецФункции
275 |
276 | #КонецОбласти
277 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ОбъектДеревоФорм
5 | 14
6 | true
7 | true
8 |
9 | true
10 |
11 |
12 | Объект.ДеревоФорм
13 |
14 | None
15 |
16 | ОбъектДеревоФормИмя
17 | 27
18 | true
19 | true
20 |
21 | true
22 |
23 |
24 |
25 | Объект.ДеревоФорм.Имя
26 |
27 |
28 | Объект.ДеревоФорм.Имя
29 |
30 |
31 |
32 | ОбъектДеревоФормИмяРасширеннаяПодсказка
33 | 29
34 | true
35 | true
36 |
37 | true
38 |
39 | Label
40 | true
41 | true
42 |
43 | Left
44 |
45 |
46 |
47 | ОбъектДеревоФормИмяКонтекстноеМеню
48 | 28
49 | true
50 | true
51 |
52 | true
53 |
54 | true
55 |
56 | InputField
57 | Enter
58 | true
59 | Left
60 | true
61 |
62 | true
63 | true
64 | true
65 | true
66 | true
67 | true
68 |
69 |
70 |
71 | ОбъектДеревоФормПолныйПутьКФорме
72 | 30
73 | true
74 | true
75 |
76 | true
77 |
78 |
79 |
80 | Объект.ДеревоФорм.ПолныйПутьКФорме
81 |
82 |
83 | Объект.ДеревоФорм.ПолныйПутьКФорме
84 |
85 |
86 |
87 | ОбъектДеревоФормПолныйПутьКФормеРасширеннаяПодсказка
88 | 32
89 | true
90 | true
91 |
92 | true
93 |
94 | Label
95 | true
96 | true
97 |
98 | Left
99 |
100 |
101 |
102 | ОбъектДеревоФормПолныйПутьКФормеКонтекстноеМеню
103 | 31
104 | true
105 | true
106 |
107 | true
108 |
109 | true
110 |
111 | InputField
112 | Enter
113 | true
114 | Left
115 | true
116 |
117 | true
118 | true
119 | true
120 | true
121 | true
122 | true
123 |
124 |
125 |
126 | ОбъектДеревоФормКоманднаяПанель
127 | 15
128 | true
129 | true
130 |
131 | true
132 |
133 | Left
134 | true
135 |
136 |
137 | Selection
138 | ОбъектДеревоФормВыбор
139 |
140 |
141 | true
142 | true
143 |
144 | true
145 |
146 | ОбъектДеревоФормСтрокаПоиска
147 | 18
148 |
149 | ОбъектДеревоФормСтрокаПоискаРасширеннаяПодсказка
150 | 20
151 | true
152 | true
153 |
154 | true
155 |
156 | Label
157 | true
158 | true
159 |
160 | Left
161 |
162 |
163 |
164 | ОбъектДеревоФормСтрокаПоискаКонтекстноеМеню
165 | 19
166 | true
167 | true
168 |
169 | true
170 |
171 | true
172 |
173 |
174 | true
175 |
176 |
177 |
178 | true
179 | true
180 |
181 | true
182 |
183 | ОбъектДеревоФормСостояниеПросмотра
184 | 24
185 |
186 | ОбъектДеревоФормСостояниеПросмотраРасширеннаяПодсказка
187 | 26
188 | true
189 | true
190 |
191 | true
192 |
193 | Label
194 | true
195 | true
196 |
197 | Left
198 |
199 |
200 |
201 | ОбъектДеревоФормСостояниеПросмотраКонтекстноеМеню
202 | 25
203 | true
204 | true
205 |
206 | true
207 |
208 | true
209 |
210 | ViewStatusAddition
211 |
212 | true
213 |
214 |
215 |
216 | true
217 | true
218 |
219 | true
220 |
221 | ОбъектДеревоФормУправлениеПоиском
222 | 21
223 |
224 | ОбъектДеревоФормУправлениеПоискомРасширеннаяПодсказка
225 | 23
226 | true
227 | true
228 |
229 | true
230 |
231 | Label
232 | true
233 | true
234 |
235 | Left
236 |
237 |
238 |
239 | ОбъектДеревоФормУправлениеПоискомКонтекстноеМеню
240 | 22
241 | true
242 | true
243 |
244 | true
245 |
246 | true
247 |
248 | SearchControlAddition
249 |
250 | true
251 |
252 |
253 |
254 | ОбъектДеревоФормРасширеннаяПодсказка
255 | 17
256 | true
257 | true
258 |
259 | true
260 |
261 | Label
262 | true
263 | true
264 |
265 | Left
266 |
267 |
268 |
269 | ОбъектДеревоФормКонтекстноеМеню
270 | 16
271 | true
272 | true
273 |
274 | true
275 |
276 | true
277 |
278 | Tree
279 | true
280 | true
281 | true
282 | MultiRow
283 |
284 | 1
285 | 1
286 | AutoUse
287 | AutoUse
288 | true
289 | true
290 | Auto
291 | Auto
292 | true
293 | true
294 | AsFileRef
295 |
296 |
297 | ФормаКоманднаяПанель
298 | -1
299 | true
300 | true
301 |
302 | true
303 |
304 | Left
305 | true
306 |
307 |
308 | OnCreateAtServer
309 | ПриСозданииНаСервере
310 |
311 |
312 | OnOpen
313 | ПриОткрытии
314 |
315 | true
316 | true
317 | Vertical
318 | true
319 | true
320 | true
321 | true
322 | true
323 |
324 | Объект
325 |
326 | ru
327 | Объект
328 |
329 | 1
330 |
331 | DataProcessorObject.FormGenerator
332 |
333 |
334 | true
335 |
336 |
337 | true
338 |
339 |
340 |
341 | Объект.ДеревоФорм
342 |
343 |
344 | Имя
345 |
346 | ru
347 | Имя
348 |
349 | 2
350 |
351 | String
352 |
353 |
354 |
355 | true
356 |
357 |
358 | true
359 |
360 |
361 |
362 | ПолныйПутьКФорме
363 |
364 | ru
365 | Полный путь к форме
366 |
367 | 3
368 |
369 | String
370 |
371 |
372 |
373 | true
374 |
375 |
376 | true
377 |
378 |
379 |
380 |
381 |
382 | ФормаАнализируемая
383 |
384 | ru
385 | Форма анализируемая
386 |
387 | 4
388 |
389 | String
390 |
391 |
392 |
393 | true
394 |
395 |
396 | true
397 |
398 |
399 | ФормаАнализируемая
400 |
401 |
402 |
403 | ФормаИмяОбъекта
404 |
405 | ru
406 | Форма имя объекта
407 |
408 | 5
409 |
410 | String
411 |
412 |
413 |
414 | true
415 |
416 |
417 | true
418 |
419 |
420 |
421 | ФормаИмяФормы
422 |
423 | ru
424 | Форма имя формы
425 |
426 | 6
427 |
428 | String
429 |
430 |
431 |
432 | true
433 |
434 |
435 | true
436 |
437 |
438 |
439 | ФормаТипОбъекта
440 |
441 | ru
442 | Форма тип объекта
443 |
444 | 7
445 |
446 | String
447 |
448 |
449 |
450 | true
451 |
452 |
453 | true
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область ОбработчикиСобытийФормы
2 |
3 | &НаСервере
4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
5 |
6 | Если Параметры.Свойство("ТекущаяСтрока") Тогда
7 | Если ЗначениеЗаполнено(Параметры.ТекущаяСтрока) Тогда
8 | ФормаАнализируемая = Параметры.ТекущаяСтрока;
9 | Параметры.Свойство("ФормаИмяОбъекта", ФормаИмяОбъекта);
10 | Параметры.Свойство("ФормаТипОбъекта", ФормаТипОбъекта);
11 | Параметры.Свойство("ФормаИмяФормы", ФормаИмяФормы);
12 | КонецЕсли;
13 | КонецЕсли;
14 |
15 | ЗаполнитьДеревоФорм();
16 |
17 | КонецПроцедуры
18 |
19 | &НаКлиенте
20 | Процедура ПриОткрытии(Отказ)
21 |
22 | // Развернуть дерево
23 | Для Каждого Строка Из Объект.ДеревоФорм.ПолучитьЭлементы() Цикл
24 | Если Строка.Имя = ФормаТипОбъекта Тогда
25 | // Ищем объект
26 | Для Каждого СтрокаОбъект Из Строка.ПолучитьЭлементы() Цикл
27 | Если СтрокаОбъект.Имя = ФормаИмяОбъекта Тогда
28 | // Ищем форму
29 | Для Каждого СтрокаФормы Из СтрокаОбъект.ПолучитьЭлементы() Цикл
30 | Если СтрокаФормы.Имя = ФормаИмяФормы Тогда
31 | ИдентификаторСтроки = СтрокаФормы.ПолучитьИдентификатор();
32 | Элементы.ОбъектДеревоФорм.ТекущаяСтрока = ИдентификаторСтроки;
33 | КонецЕсли;
34 | КонецЦикла;
35 | КонецЕсли;
36 | КонецЦикла;
37 | КонецЕсли;
38 | КонецЦикла;
39 |
40 | КонецПроцедуры
41 |
42 | #КонецОбласти
43 |
44 | #Область ОбработчикиСобытийЭлементов
45 |
46 | &НаКлиенте
47 | Процедура ОбъектДеревоФормВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
48 |
49 | СтандартнаяОбработка = Ложь;
50 |
51 | Если ВыбраннаяСтрока = Неопределено Тогда
52 | Возврат;
53 | КонецЕсли;
54 |
55 | ТекСтрока = Объект.ДеревоФорм.НайтиПоИдентификатору(ВыбраннаяСтрока);
56 | Если НЕ ПустаяСтрока(ТекСтрока.ПолныйПутьКФорме) Тогда
57 |
58 | // Имя справочника, имя документа, ....
59 | РодительФормы = ТекСтрока.ПолучитьРодителя();
60 | // Справочник, документ,....
61 | ТипОбъекта = РодительФормы.ПолучитьРодителя();
62 |
63 | СтруктИнфыОМетаданном = Новый Структура;
64 | СтруктИнфыОМетаданном.Вставить("ТипОбъекта",ТипОбъекта.Имя);
65 | СтруктИнфыОМетаданном.Вставить("ИмяОбъекта",РодительФормы.Имя);
66 | СтруктИнфыОМетаданном.Вставить("ИмяФормы",ТекСтрока.Имя);
67 | СтруктИнфыОМетаданном.Вставить("ПолныйПутьКФорме",ТекСтрока.ПолныйПутьКФорме);
68 |
69 | Закрыть(СтруктИнфыОМетаданном);
70 | КонецЕсли;
71 |
72 | КонецПроцедуры
73 |
74 | #КонецОбласти
75 |
76 | #Область СлужебныеПроцедурыИФункции
77 |
78 | Процедура ЗаполнитьДеревоФорм() Экспорт
79 |
80 | ДеревоФорм = РеквизитФормыВЗначение("Объект.ДеревоФорм");
81 |
82 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Справочники");
83 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Документы");
84 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ЖурналыДокументов");
85 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Отчеты");
86 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Обработки");
87 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ПланыВидовХарактеристик");
88 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ПланыСчетов");
89 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "ПланыВидовРасчета");
90 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыСведений");
91 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыНакопления");
92 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыБухгалтерии");
93 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "РегистрыРасчета");
94 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "БизнесПроцессы");
95 | ЗаполнитьДеревоФормПоМетаданным(ДеревоФорм, "Задачи");
96 |
97 | ЗначениеВРеквизитФормы(ДеревоФорм, "Объект.ДеревоФорм");
98 |
99 | КонецПроцедуры
100 |
101 | Процедура ЗаполнитьДеревоФормПоМетаданным(СтрокиМетаданные, СтрМетаданные)
102 |
103 | Строки = СтрокиМетаданные.Строки.Добавить();
104 | Строки.Имя = СтрМетаданные;
105 | Для каждого стр из Метаданные[СтрМетаданные] Цикл
106 | стрДерева = Строки.Строки.Добавить();
107 | стрДерева.Имя = стр.Имя;
108 | Для каждого Форма из стр.Формы Цикл
109 | Если Строка(Форма.ТипФормы)="Управляемая" Тогда
110 | стрФорм = стрДерева.Строки.Добавить();
111 | стрФорм.Имя = Форма.Имя;
112 | стрФорм.ПолныйПутьКФорме = стр.ПолноеИмя()+".Форма."+Форма.Имя;
113 | КонецЕсли;
114 | КонецЦикла;
115 | КонецЦикла;
116 |
117 | КонецПроцедуры
118 |
119 |
120 | #КонецОбласти
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПалитра/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Реквизит3
5 | 63
6 | true
7 | true
8 |
9 | true
10 |
11 |
12 | Реквизит3
13 |
14 |
15 | Реквизит3РасширеннаяПодсказка
16 | 65
17 | true
18 | true
19 |
20 | true
21 |
22 | Label
23 | true
24 | true
25 |
26 | Left
27 |
28 |
29 |
30 | Реквизит3КонтекстноеМеню
31 | 64
32 | true
33 | true
34 |
35 | true
36 |
37 | true
38 |
39 | InputField
40 | Enter
41 | true
42 | Left
43 | true
44 |
45 | true
46 | true
47 | true
48 | true
49 | true
50 | true
51 |
52 |
53 |
54 | Группа1
55 | 72
56 |
57 | Реквизит2
58 | 69
59 | true
60 | true
61 |
62 | true
63 |
64 |
65 | Реквизит3
66 |
67 |
68 | Реквизит2РасширеннаяПодсказка
69 | 71
70 | true
71 | true
72 |
73 | true
74 |
75 | Label
76 | true
77 | true
78 |
79 | Left
80 |
81 |
82 |
83 | Реквизит2КонтекстноеМеню
84 | 70
85 | true
86 | true
87 |
88 | true
89 |
90 | true
91 |
92 | InputField
93 | Enter
94 | true
95 | Left
96 | true
97 |
98 | true
99 | true
100 | true
101 | true
102 | true
103 | true
104 |
105 |
106 |
107 | Реквизит1
108 | 66
109 | true
110 | true
111 |
112 | true
113 |
114 |
115 | Реквизит3
116 |
117 |
118 | Реквизит1РасширеннаяПодсказка
119 | 68
120 | true
121 | true
122 |
123 | true
124 |
125 | Label
126 | true
127 | true
128 |
129 | Left
130 |
131 |
132 |
133 | Реквизит1КонтекстноеМеню
134 | 67
135 | true
136 | true
137 |
138 | true
139 |
140 | true
141 |
142 | InputField
143 | Enter
144 | true
145 | Left
146 | true
147 |
148 | true
149 | true
150 | true
151 | true
152 | true
153 | true
154 |
155 |
156 |
157 | Группа2
158 | 74
159 |
160 | Группа3
161 | 76
162 |
163 | Реквизит6
164 | 84
165 | true
166 | true
167 |
168 | true
169 |
170 |
171 | Реквизит2
172 |
173 |
174 | Реквизит6РасширеннаяПодсказка
175 | 86
176 | true
177 | true
178 |
179 | true
180 |
181 | Label
182 | true
183 | true
184 |
185 | Left
186 |
187 |
188 |
189 | Реквизит6КонтекстноеМеню
190 | 85
191 | true
192 | true
193 |
194 | true
195 |
196 | true
197 |
198 | InputField
199 | Enter
200 | true
201 | Left
202 | true
203 |
204 | true
205 | true
206 | true
207 | true
208 | true
209 | true
210 |
211 |
212 | true
213 | true
214 |
215 | true
216 |
217 |
218 | Группа3РасширеннаяПодсказка
219 | 77
220 | true
221 | true
222 |
223 | true
224 |
225 | Label
226 | true
227 | true
228 |
229 | Left
230 |
231 |
232 | UsualGroup
233 |
234 | HorizontalIfPossible
235 | true
236 | true
237 | Auto
238 | Auto
239 |
240 |
241 |
242 | Реквизит4
243 | 78
244 | true
245 | true
246 |
247 | true
248 |
249 |
250 | Реквизит1
251 |
252 |
253 | Реквизит4РасширеннаяПодсказка
254 | 80
255 | true
256 | true
257 |
258 | true
259 |
260 | Label
261 | true
262 | true
263 |
264 | Left
265 |
266 |
267 |
268 | Реквизит4КонтекстноеМеню
269 | 79
270 | true
271 | true
272 |
273 | true
274 |
275 | true
276 |
277 | InputField
278 | Enter
279 | true
280 | Left
281 | true
282 |
283 | true
284 | true
285 | true
286 | true
287 | true
288 | true
289 |
290 |
291 |
292 | Реквизит5
293 | 81
294 | true
295 | true
296 |
297 | true
298 |
299 |
300 | Реквизит3
301 |
302 |
303 | Реквизит5РасширеннаяПодсказка
304 | 83
305 | true
306 | true
307 |
308 | true
309 |
310 | Label
311 | true
312 | true
313 |
314 | Left
315 |
316 |
317 |
318 | Реквизит5КонтекстноеМеню
319 | 82
320 | true
321 | true
322 |
323 | true
324 |
325 | true
326 |
327 | InputField
328 | Enter
329 | true
330 | Left
331 | true
332 |
333 | true
334 | true
335 | true
336 | true
337 | true
338 | true
339 |
340 |
341 | true
342 | true
343 |
344 | true
345 |
346 |
347 | Группа2РасширеннаяПодсказка
348 | 75
349 | true
350 | true
351 |
352 | true
353 |
354 | Label
355 | true
356 | true
357 |
358 | Left
359 |
360 |
361 | UsualGroup
362 |
363 | HorizontalIfPossible
364 | WeakSeparation
365 | true
366 | true
367 | true
368 | Auto
369 | Auto
370 |
371 |
372 | true
373 | true
374 |
375 | true
376 |
377 |
378 | Группа1РасширеннаяПодсказка
379 | 73
380 | true
381 | true
382 |
383 | true
384 |
385 | Label
386 | true
387 | true
388 |
389 | Left
390 |
391 |
392 | UsualGroup
393 |
394 | AlwaysHorizontal
395 | true
396 | true
397 | Auto
398 | Auto
399 |
400 |
401 |
402 | Реквизит7
403 | 87
404 | true
405 | true
406 |
407 | true
408 |
409 |
410 | Реквизит3
411 |
412 |
413 | Реквизит7РасширеннаяПодсказка
414 | 89
415 | true
416 | true
417 |
418 | true
419 |
420 | Label
421 | true
422 | true
423 |
424 | Left
425 |
426 |
427 |
428 | Реквизит7КонтекстноеМеню
429 | 88
430 | true
431 | true
432 |
433 | true
434 |
435 | true
436 |
437 | InputField
438 | Enter
439 | true
440 | Left
441 | true
442 |
443 | true
444 | true
445 | true
446 | true
447 | true
448 | true
449 |
450 |
451 |
452 | ФормаКоманднаяПанель
453 | -1
454 | true
455 | true
456 |
457 | true
458 |
459 | Left
460 | true
461 |
462 |
463 | OnCreateAtServer
464 | ПриСозданииНаСервере
465 |
466 | true
467 | true
468 | Vertical
469 | true
470 | true
471 | true
472 | true
473 | true
474 |
475 | Реквизит1
476 | 1
477 |
478 | String
479 |
480 |
481 |
482 | true
483 |
484 |
485 | true
486 |
487 |
488 |
489 | Реквизит2
490 | 2
491 |
492 | String
493 |
494 |
495 |
496 | true
497 |
498 |
499 | true
500 |
501 |
502 |
503 | Реквизит3
504 | 3
505 |
506 | String
507 |
508 |
509 |
510 | true
511 |
512 |
513 | true
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПалитра/Module.bsl:
--------------------------------------------------------------------------------
1 |
2 |
3 | &НаСервере
4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
5 |
6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда
7 | ИмяПодключеннойОбработки = ЭтаФорма.Параметры.РедакторФорм.ИмяПодключеннойОбработки;
8 | Если ЭтаФорма.Параметры.РедакторФорм.ЗапущенаКакВнешняя Тогда
9 | ВнешниеОбработки.Создать(ИмяПодключеннойОбработки, Ложь).ПодготовитьДанныеАнализируемойФормы(ЭтаФорма);
10 | Иначе
11 | Обработки[ИмяПодключеннойОбработки].Создать().ПодготовитьДанныеАнализируемойФормы(ЭтаФорма);
12 | КонецЕсли;
13 | КонецЕсли;
14 |
15 | КонецПроцедуры
16 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ФормаКоманднаяПанель
5 | -1
6 | true
7 | true
8 |
9 | true
10 |
11 | Left
12 | true
13 |
14 |
15 | OnCreateAtServer
16 | ПриСозданииНаСервере
17 |
18 | true
19 | true
20 | Vertical
21 | true
22 | true
23 | true
24 | true
25 | true
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Module.bsl:
--------------------------------------------------------------------------------
1 |
2 |
3 | &НаСервере
4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
5 |
6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда
7 | ТекстСозданияЭлементов = ЭтаФорма.Параметры.РедакторФорм.ТекстПодготовкиФормы;
8 | КонецЕсли;
9 |
10 | КонецПроцедуры
11 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаЭлемента/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область ОписаниеПеременных
2 |
3 | &НаКлиенте
4 | Перем ИмяРедактируемогоРеквизита;
5 |
6 | #КонецОбласти
7 |
8 | &НаКлиенте
9 | Функция ПолучитьРеквизитыФормы() Экспорт
10 |
11 | Результат = ПолучитьРеквизитыНаСервере();
12 |
13 | Возврат Результат;
14 | КонецФункции
15 |
16 | &НаСервере
17 | Функция ПолучитьРеквизитыНаСервере()
18 |
19 | Реквизиты = ЭтаФорма.ПолучитьРеквизиты();
20 |
21 | СтруктураРеквизитовФормы = Новый Структура;
22 | Для Каждого Эл Из Реквизиты Цикл
23 | Структура = Новый Структура;
24 | Структура.Вставить("Заголовок", Эл.Заголовок);
25 | Структура.Вставить("Имя", Эл.Имя);
26 | Структура.Вставить("Путь", Эл.Путь);
27 | Структура.Вставить("ТипЗначения", ОбщегоНазначения.СтроковоеПредставлениеТипа(Эл.ТипЗначения.Типы()[0]));
28 | СтруктураРеквизитовФормы.Вставить(Эл.Имя, Структура);
29 | КонецЦикла;
30 |
31 | СтруктураПутей = Новый Структура;
32 |
33 | Для Каждого эл из ЭтаФорма.Элементы Цикл
34 | Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(эл, "ПутьКДанным") Тогда
35 | Если ЗначениеЗаполнено(эл.ПутьКДанным) Тогда
36 | СтруктураПутей.Вставить(эл.Имя, эл.ПутьКДанным);
37 | КонецЕсли;
38 | КонецЕсли;
39 | КонецЦикла;
40 |
41 | Возврат Новый Структура("РеквизитыФормы, ЭлементыПутьКДанным", СтруктураРеквизитовФормы, СтруктураПутей);
42 | КонецФункции
43 |
44 | // ПолучитьРеквизиты()
45 |
46 | #Область ОбработчикиСобытийФормы
47 |
48 | &НаСервере
49 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
50 |
51 | Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
52 | Возврат;
53 | КонецЕсли;
54 |
55 | Если Объект.РучноеИзменениеРеквизитовБанка Тогда
56 | БИКБанка = Объект.БИКБанка;
57 | НаименованиеБанка = Объект.НаименованиеБанка;
58 | КоррСчетБанка = Объект.КоррСчетБанка;
59 | ГородБанка = Объект.ГородБанка;
60 | СВИФТБИК = Объект.СВИФТБИК;
61 | Иначе
62 | Если НЕ Объект.Банк.Пустая() Тогда
63 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.Банк, "Банк", Ложь);
64 | КонецЕсли;
65 | КонецЕсли;
66 |
67 | Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
68 | Если (ЗначениеЗаполнено(Объект.БИКБанкаДляРасчетов)) Или (ЗначениеЗаполнено(Объект.БанкДляРасчетов))
69 | Или ЗначениеЗаполнено(Объект.СВИФТБИКДляРасчетов) Тогда
70 | ИспользуетсяБанкДляРасчетов = Истина;
71 | Иначе
72 | ИспользуетсяБанкДляРасчетов = Ложь;
73 | КонецЕсли;
74 | КонецЕсли;
75 |
76 | Если Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
77 | БИКБанкаДляРасчетов = Объект.БИКБанкаДляРасчетов;
78 | НаименованиеБанкаДляРасчетов = Объект.НаименованиеБанкаДляРасчетов;
79 | КоррСчетБанкаДляРасчетов = Объект.КоррСчетБанкаДляРасчетов;
80 | ГородБанкаДляРасчетов = Объект.ГородБанкаДляРасчетов;
81 | СВИФТБИКДляРасчетов = Объект.СВИФТБИКДляРасчетов;
82 | Иначе
83 | Если НЕ Объект.БанкДляРасчетов.Пустая() Тогда
84 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.БанкДляРасчетов, "БанкДляРасчетов", Ложь);
85 | КонецЕсли;
86 | КонецЕсли;
87 |
88 | НациональнаяВалюта = Справочники.Валюты.НайтиПоКоду("643");
89 | СпособУказанияРеквизитовБанка = ?(Объект.РучноеИзменениеРеквизитовБанка, "Вручную", "ИзКлассификатора");
90 | СпособУказанияРеквизитовБанкаРасчетов = ?(Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов, "Вручную", "ИзКлассификатора");
91 | МестоОткрытия = ?(Объект.Зарубежный, "ЗаРубежом", "РФ");
92 |
93 | ОбновитьТекстПоясненияНедействительностиБанка();
94 | УправлениеЭлементамиФормы(ЭтотОбъект);
95 |
96 | КонецПроцедуры
97 |
98 | &НаКлиенте
99 | Процедура ОбработкаВыбора(РезультатВыбора, ИсточникВыбора)
100 |
101 | Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник._ДемоБанковскиеСчета.Форма.РеквизитыБанка") Тогда
102 | Если Не ПустаяСтрока(РезультатВыбора) Тогда
103 | Если РезультатВыбора.Реквизит = "БИКБанка" Тогда
104 | Объект.РучноеИзменениеРеквизитовБанка = РезультатВыбора.РучноеИзменение;
105 | Если РезультатВыбора.РучноеИзменение Тогда
106 | Объект.Банк = "";
107 | Объект.БИКБанка = РезультатВыбора.ЗначенияПолей.БИК;
108 | Объект.НаименованиеБанка = РезультатВыбора.ЗначенияПолей.Наименование;
109 | Объект.КоррСчетБанка = РезультатВыбора.ЗначенияПолей.КоррСчет;
110 | Объект.ГородБанка = РезультатВыбора.ЗначенияПолей.Город;
111 | Объект.АдресБанка = РезультатВыбора.ЗначенияПолей.Адрес;
112 | Объект.ТелефоныБанка = РезультатВыбора.ЗначенияПолей.Телефоны;
113 |
114 | БИКБанка = РезультатВыбора.ЗначенияПолей.БИК;
115 | КоррСчетБанка = РезультатВыбора.ЗначенияПолей.КоррСчет;
116 | НаименованиеБанка = РезультатВыбора.ЗначенияПолей.Наименование;
117 | ГородБанка = РезультатВыбора.ЗначенияПолей.Город;
118 | Иначе
119 | Объект.Банк = РезультатВыбора.Банк;
120 | Объект.БИКБанка = "";
121 | Объект.НаименованиеБанка = "";
122 | Объект.КоррСчетБанка = "";
123 | Объект.ГородБанка = "";
124 | Объект.АдресБанка = "";
125 | Объект.ТелефоныБанка = "";
126 |
127 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.Банк, "Банк", Ложь);
128 | КонецЕсли;
129 | ИначеЕсли РезультатВыбора.Реквизит = "БИКБанкаДляРасчетов" Тогда
130 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = РезультатВыбора.РучноеИзменение;
131 | Если РезультатВыбора.РучноеИзменение Тогда
132 | Объект.БанкДляРасчетов = "";
133 | Объект.БИКБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.БИК;
134 | Объект.НаименованиеБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Наименование;
135 | Объект.КоррСчетБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.КоррСчет;
136 | Объект.ГородБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Город;
137 | Объект.АдресБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Адрес;
138 | Объект.ТелефоныБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Телефоны;
139 |
140 | БИКБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.БИК;
141 | КоррСчетБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.КоррСчет;
142 | НаименованиеБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Наименование;
143 | ГородБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Город;
144 | Иначе
145 | Объект.БанкДляРасчетов = РезультатВыбора.Банк;
146 | Объект.БИКБанкаДляРасчетов = "";
147 | Объект.НаименованиеБанкаДляРасчетов = "";
148 | Объект.КоррСчетБанкаДляРасчетов = "";
149 | Объект.ГородБанкаДляРасчетов = "";
150 | Объект.АдресБанкаДляРасчетов = "";
151 | Объект.ТелефоныБанкаДляРасчетов = "";
152 |
153 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.БанкДляРасчетов, "БанкДляРасчетов", Ложь);
154 | КонецЕсли;
155 | КонецЕсли;
156 | КонецЕсли;
157 | ИначеЕсли ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора") Тогда
158 | Если ТипЗнч(РезультатВыбора) = Тип("СправочникСсылка.КлассификаторБанковРФ") Тогда
159 | Если ИмяРедактируемогоРеквизита = "БИКБанка" Тогда
160 | Объект.Банк = РезультатВыбора;
161 | Объект.БИКБанка = "";
162 | Объект.НаименованиеБанка = "";
163 | Объект.КоррСчетБанка = "";
164 | Объект.ГородБанка = "";
165 | Объект.АдресБанка = "";
166 | Объект.ТелефоныБанка = "";
167 |
168 | ЗаполнитьРеквизитыБанкаПоБанку(РезультатВыбора, "Банк", Ложь);
169 | ИначеЕсли ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов" Тогда
170 | Объект.БанкДляРасчетов = РезультатВыбора;
171 | Объект.БИКБанкаДляРасчетов = "";
172 | Объект.НаименованиеБанкаДляРасчетов = "";
173 | Объект.КоррСчетБанкаДляРасчетов = "";
174 | Объект.ГородБанкаДляРасчетов = "";
175 | Объект.АдресБанкаДляРасчетов = "";
176 | Объект.ТелефоныБанкаДляРасчетов = "";
177 |
178 | ЗаполнитьРеквизитыБанкаПоБанку(РезультатВыбора, "БанкДляРасчетов", Ложь);
179 | КонецЕсли;
180 | КонецЕсли;
181 | КонецЕсли;
182 |
183 | Если Окно <> Неопределено Тогда
184 | Окно.Активизировать();
185 | КонецЕсли;
186 |
187 | ОбновитьТекстПоясненияНедействительностиБанка();
188 | УправлениеЭлементамиФормы(ЭтотОбъект);
189 |
190 | КонецПроцедуры
191 |
192 | &НаКлиенте
193 | Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
194 | Если Объект.РучноеИзменениеРеквизитовБанка Тогда
195 | Объект.БИКБанка = БИКБанка;
196 | Объект.КоррСчетБанка = КоррСчетБанка;
197 | Объект.НаименованиеБанка = НаименованиеБанка;
198 | Объект.ГородБанка = ГородБанка;
199 | Объект.СВИФТБИК = СВИФТБИК;
200 | Иначе
201 | Объект.БИКБанка = "";
202 | Объект.КоррСчетБанка = "";
203 | Объект.НаименованиеБанка = "";
204 | Объект.ГородБанка = "";
205 | Объект.СВИФТБИК = "";
206 | КонецЕсли;
207 |
208 | Если ИспользуетсяБанкДляРасчетов И Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
209 | Объект.БИКБанкаДляРасчетов = БИКБанкаДляРасчетов;
210 | Объект.КоррСчетБанкаДляРасчетов = КоррСчетБанкаДляРасчетов;
211 | Объект.НаименованиеБанкаДляРасчетов = НаименованиеБанкаДляРасчетов;
212 | Объект.ГородБанкаДляРасчетов = ГородБанкаДляРасчетов;
213 | Объект.СВИФТБИКДляРасчетов = СВИФТБИКДляРасчетов;
214 | Иначе
215 | Объект.БИКБанкаДляРасчетов = "";
216 | Объект.КоррСчетБанкаДляРасчетов = "";
217 | Объект.НаименованиеБанкаДляРасчетов = "";
218 | Объект.ГородБанкаДляРасчетов = "";
219 | Объект.СВИФТБИКДляРасчетов = "";
220 | КонецЕсли;
221 |
222 | Объект.Зарубежный = МестоОткрытия = "ЗаРубежом";
223 |
224 | КонецПроцедуры
225 |
226 | #КонецОбласти
227 |
228 | #Область ОбработчикиСобытийЭлементовШапкиФормы
229 |
230 | &НаКлиенте
231 | Процедура ИспользуетсяБанкДляРасчетовПриИзменении(Элемент)
232 |
233 | УправлениеЭлементамиФормы(ЭтотОбъект);
234 |
235 | КонецПроцедуры
236 |
237 | &НаКлиенте
238 | Процедура ВладелецПриИзменении(Элемент)
239 | УправлениеЭлементамиФормы(ЭтотОбъект);
240 | КонецПроцедуры
241 |
242 | &НаКлиенте
243 | Процедура БИКБанкаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
244 | ИмяРедактируемогоРеквизита = "БИКБанка";
245 | РеквизитБанкаПриВыборе("БИКБанка", ЭтотОбъект);
246 | КонецПроцедуры
247 |
248 | &НаКлиенте
249 | Процедура БИКБанкаОткрытие(Элемент, СтандартнаяОбработка)
250 | ИмяРедактируемогоРеквизита = "БИКБанка";
251 | СтандартнаяОбработка = Ложь;
252 | РеквизитБанкаОткрытие("БИКБанка");
253 | КонецПроцедуры
254 |
255 | &НаКлиенте
256 | Процедура БИКБанкаДляРасчетовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
257 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
258 | РеквизитБанкаПриВыборе("БИКБанкаДляРасчетов", ЭтотОбъект);
259 | КонецПроцедуры
260 |
261 | &НаКлиенте
262 | Процедура БИКБанкаДляРасчетовОткрытие(Элемент, СтандартнаяОбработка)
263 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
264 | СтандартнаяОбработка = Ложь;
265 | РеквизитБанкаОткрытие("БИКБанкаДляРасчетов");
266 | КонецПроцедуры
267 |
268 | &НаКлиенте
269 | Процедура МестоОткрытияПриИзменении(Элемент)
270 | УправлениеЭлементамиФормы(ЭтотОбъект);
271 | КонецПроцедуры
272 |
273 | &НаКлиенте
274 | Процедура ВалютаПриИзменении(Элемент)
275 | УправлениеЭлементамиФормы(ЭтотОбъект);
276 | КонецПроцедуры
277 |
278 | &НаКлиенте
279 | Процедура СпособУказанияРеквизитовБанкаРасчетовПриИзменении(Элемент)
280 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = СпособУказанияРеквизитовБанкаРасчетов = "Вручную";
281 | Если СпособУказанияРеквизитовБанкаРасчетов = "ИзКлассификатора" Тогда
282 | ЗаполнитьРеквизитыБанкаПоБИК(БИКБанкаДляРасчетов, "БанкДляРасчетов", Истина);
283 | КонецЕсли;
284 | УправлениеЭлементамиФормы(ЭтотОбъект);
285 | КонецПроцедуры
286 |
287 | &НаКлиенте
288 | Процедура СпособУказанияРеквизитовБанкаПриИзменении(Элемент)
289 | Объект.РучноеИзменениеРеквизитовБанка = СпособУказанияРеквизитовБанка = "Вручную";
290 | Если СпособУказанияРеквизитовБанка = "ИзКлассификатора" Тогда
291 | ЗаполнитьРеквизитыБанкаПоБИК(БИКБанка, "Банк", Истина);
292 | КонецЕсли;
293 | УправлениеЭлементамиФормы(ЭтотОбъект);
294 | КонецПроцедуры
295 |
296 | #КонецОбласти
297 |
298 | #Область СлужебныеПроцедурыИФункции
299 |
300 | &НаСервере
301 | Функция ЗаполнитьРеквизитыБанкаПоБИК(БИК, ТипБанка, ПеренестиЗначенияРеквизитов = Ложь)
302 |
303 | НашлиПоБИК = Ложь;
304 | ЗаписьОБанке = "";
305 |
306 | Если ТипБанка = "Банк" Тогда
307 |
308 | БИКБанка = "";
309 | КоррСчетБанка = "";
310 | НаименованиеБанка = "";
311 | ГородБанка = "";
312 | РаботаСБанками.ПолучитьДанныеКлассификатораРФ(БИК,,ЗаписьОБанке);
313 | Если НЕ ПустаяСтрока(ЗаписьОБанке) Тогда
314 | БИКБанка = ЗаписьОБанке.Код;
315 | КоррСчетБанка = ЗаписьОБанке.КоррСчет;
316 | НаименованиеБанка = ЗаписьОБанке.Наименование;
317 | ГородБанка = ЗаписьОБанке.Город;
318 | НашлиПоБИК = Истина;
319 | СВИФТБИК = ЗаписьОБанке.СВИФТБИК;
320 | Если ПеренестиЗначенияРеквизитов Тогда
321 | Объект.БИКБанка = "";
322 | Объект.НаименованиеБанка = "";
323 | Объект.КоррСчетБанка = "";
324 | Объект.ГородБанка = "";
325 | Объект.АдресБанка = "";
326 | Объект.ТелефоныБанка = "";
327 | Объект.Банк = ЗаписьОБанке;
328 | КонецЕсли;
329 | КонецЕсли;
330 | ДеятельностьБанкаПрекращена = Не Объект.РучноеИзменениеРеквизитовБанка И ДеятельностьБанкаПрекращена(БИКБанка);
331 | ИначеЕсли ТипБанка = "БанкДляРасчетов" Тогда
332 | БИКБанкаДляРасчетов = "";
333 | КоррСчетБанкаДляРасчетов = "";
334 | НаименованиеБанкаДляРасчетов = "";
335 | ГородБанкаДляРасчетов = "";
336 | РаботаСБанками.ПолучитьДанныеКлассификатораРФ(БИК,,ЗаписьОБанке);
337 | Если НЕ ПустаяСтрока(ЗаписьОБанке) Тогда
338 | БИКБанкаДляРасчетов = ЗаписьОБанке.Код;
339 | КоррСчетБанкаДляРасчетов = ЗаписьОБанке.КоррСчет;
340 | НаименованиеБанкаДляРасчетов = ЗаписьОБанке.Наименование;
341 | ГородБанкаДляРасчетов = ЗаписьОБанке.Город;
342 | СВИФТБИКДляРасчетов = ЗаписьОБанке.СВИФТБИК;
343 | НашлиПоБИК = Истина;
344 | Если ПеренестиЗначенияРеквизитов Тогда
345 | Объект.БИКБанкаДляРасчетов = "";
346 | Объект.НаименованиеБанкаДляРасчетов = "";
347 | Объект.КоррСчетБанкаДляРасчетов = "";
348 | Объект.ГородБанкаДляРасчетов = "";
349 | Объект.АдресБанкаДляРасчетов = "";
350 | Объект.ТелефоныБанкаДляРасчетов = "";
351 | Объект.БанкДляРасчетов = ЗаписьОБанке;
352 | КонецЕсли;
353 | КонецЕсли;
354 | ДеятельностьБанкаНепрямыхРасчетовПрекращена = Не Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов И ДеятельностьБанкаПрекращена(БИКБанкаДляРасчетов);
355 | КонецЕсли;
356 |
357 | ОбновитьТекстПоясненияНедействительностиБанка();
358 |
359 | Возврат НашлиПоБИК;
360 | КонецФункции
361 |
362 | &НаСервере
363 | Функция ЗаполнитьРеквизитыБанкаПоБанку(Банк, ТипБанка, ПеренестиЗначенияРеквизитов = Ложь)
364 | Если ТипБанка = "Банк" Тогда
365 | БИКБанка = Банк.Код;
366 | КоррСчетБанка = Банк.КоррСчет;
367 | НаименованиеБанка = Банк.Наименование;
368 | ГородБанка = Банк.Город;
369 | СВИФТБИК = Банк.СВИФТБИК;
370 | Если ПеренестиЗначенияРеквизитов Тогда
371 | Объект.БИКБанка = Банк.Код;
372 | Объект.НаименованиеБанка = Банк.Наименование;
373 | Объект.КоррСчетБанка = Банк.КоррСчет;
374 | Объект.ГородБанка = Банк.Город;
375 | Объект.АдресБанка = Банк.Адрес;
376 | Объект.ТелефоныБанка = Банк.Телефоны;
377 | Объект.Банк = "";
378 | Объект.СВИФТБИК = Банк.СВИФТБИК;
379 | КонецЕсли;
380 | ДеятельностьБанкаПрекращена = Не Объект.РучноеИзменениеРеквизитовБанка И ДеятельностьБанкаПрекращена(БИКБанка);
381 | ИначеЕсли ТипБанка = "БанкДляРасчетов" Тогда
382 | БИКБанкаДляРасчетов = Банк.Код;
383 | КоррСчетБанкаДляРасчетов = Банк.КоррСчет;
384 | НаименованиеБанкаДляРасчетов = Банк.Наименование;
385 | ГородБанкаДляРасчетов = Банк.Город;
386 | СВИФТБИКДляРасчетов = Банк.СВИФТБИК;
387 | Если ПеренестиЗначенияРеквизитов Тогда
388 | Объект.БИКБанкаДляРасчетов = Банк.Код;
389 | Объект.НаименованиеБанкаДляРасчетов = Банк.Наименование;
390 | Объект.КоррСчетБанкаДляРасчетов = Банк.КоррСчет;
391 | Объект.ГородБанкаДляРасчетов = Банк.Город;
392 | Объект.АдресБанкаДляРасчетов = Банк.Адрес;
393 | Объект.ТелефоныБанкаДляРасчетов = Банк.Телефоны;
394 | Объект.БанкДляРасчетов = "";
395 | Объект.СВИФТБИКДляРасчетов = Банк.СВИФТБИКДляРасчетов;
396 | КонецЕсли;
397 | ДеятельностьБанкаНепрямыхРасчетовПрекращена = Не Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов И ДеятельностьБанкаПрекращена(БИКБанкаДляРасчетов);
398 | КонецЕсли;
399 | КонецФункции
400 |
401 | &НаКлиентеНаСервереБезКонтекста
402 | Процедура УправлениеЭлементамиФормы(Форма)
403 |
404 | ЭтоСчетОрганизации = (ТипЗнч(Форма.Объект.Владелец) = Тип("СправочникСсылка._ДемоОрганизации"));
405 |
406 | Форма.Элементы.СтраницаНастройкаПечати.Видимость = ЭтоСчетОрганизации;
407 | Форма.Элементы.СведенияОСчете.ОтображениеСтраниц = ?(ЭтоСчетОрганизации, ОтображениеСтраницФормы.ЗакладкиСверху, ОтображениеСтраницФормы.Нет);
408 |
409 | Форма.Элементы.ГруппаБанкДляРасчетов.Доступность = Форма.ИспользуетсяБанкДляРасчетов;
410 |
411 | Форма.Элементы.СпособУказанияРеквизитовБанка.Доступность = Форма.МестоОткрытия = "РФ";
412 | Если Форма.МестоОткрытия = "ЗаРубежом" Тогда
413 | Форма.СпособУказанияРеквизитовБанка = "Вручную";
414 | Форма.Объект.РучноеИзменениеРеквизитовБанка = Истина;
415 | КонецЕсли;
416 |
417 | Форма.Элементы.РеквизитыБанка.Доступность = Форма.СпособУказанияРеквизитовБанка = "Вручную";
418 | Форма.Элементы.РеквизитыБанкаРасчетов.Доступность = Форма.СпособУказанияРеквизитовБанкаРасчетов = "Вручную";
419 |
420 | Форма.Элементы.СпособУказанияРеквизитовБанкаРасчетов.Доступность = Форма.Объект.Валюта = Форма.НациональнаяВалюта;
421 | Если Форма.Объект.Валюта <> Форма.НациональнаяВалюта Тогда
422 | Форма.СпособУказанияРеквизитовБанкаРасчетов = "Вручную";
423 | КонецЕсли;
424 |
425 | Форма.Элементы.НаименованиеБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка;
426 | Форма.Элементы.ГородБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка;
427 | Форма.Элементы.КоррСчетБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка;
428 |
429 | Форма.Элементы.НаименованиеБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
430 | Форма.Элементы.ГородБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
431 | Форма.Элементы.КоррСчетБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
432 |
433 | Форма.Элементы.СостояниеБанка.ТекущаяСтраница =
434 | ?(Форма.ДеятельностьБанкаПрекращена, Форма.Элементы.БанкЗакрыт, Форма.Элементы.БанкРаботает);
435 |
436 | Форма.Элементы.СостояниеБанкаНепрямыхРасчетов.ТекущаяСтраница =
437 | ?(Форма.ДеятельностьБанкаНепрямыхРасчетовПрекращена, Форма.Элементы.БанкНепрямыхРасчетовЗакрыт, Форма.Элементы.БанкНепрямыхРасчетовРаботает);
438 |
439 | Если Форма.МестоОткрытия = "РФ" Тогда
440 | Форма.Элементы.КодыБанка.ТекущаяСтраница = Форма.Элементы.КодыБанкаРоссийскогоСчета;
441 | Иначе
442 | Форма.Элементы.КодыБанка.ТекущаяСтраница = Форма.Элементы.КодыБанкаЗарубежногоСчета;
443 | КонецЕсли;
444 |
445 | Если Форма.Объект.Валюта = Форма.НациональнаяВалюта Тогда
446 | Форма.Элементы.КодыБанкаРасчетов.ТекущаяСтраница = Форма.Элементы.КодыБанкаРасчетовРублевогоСчета;
447 | Иначе
448 | Форма.Элементы.КодыБанкаРасчетов.ТекущаяСтраница = Форма.Элементы.КодыБанкаРасчетовВалютногоСчета;
449 | КонецЕсли;
450 |
451 | КонецПроцедуры
452 |
453 | &НаКлиенте
454 | Процедура РеквизитБанкаПриВыборе(ИмяЭлемента, Форма)
455 | Если ИмяЭлемента = "БИКБанка" Тогда
456 | Если Не Объект.РучноеИзменениеРеквизитовБанка Тогда
457 | СтруктураПараметров = Новый Структура;
458 | СтруктураПараметров.Вставить("Реквизит", ИмяЭлемента);
459 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, Форма);
460 | КонецЕсли;
461 | ИначеЕсли ИмяЭлемента = "БИКБанкаДляРасчетов" Тогда
462 | Если Не Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
463 | СтруктураПараметров = Новый Структура;
464 | СтруктураПараметров.Вставить("Реквизит", ИмяЭлемента);
465 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, Форма);
466 | КонецЕсли;
467 | КонецЕсли;
468 | КонецПроцедуры
469 |
470 | &НаКлиенте
471 | Процедура РеквизитБанкаОткрытие(ИмяЭлемента)
472 |
473 | СтруктураПараметров = Новый Структура;
474 | СтруктураПараметров.Вставить("Реквизит", ИмяЭлемента);
475 | ЗначенияПараметров = Новый Структура;
476 |
477 | Если ИмяЭлемента = "БИКБанка" Тогда
478 |
479 | СтруктураПараметров.Вставить("РучноеИзменение", Объект.РучноеИзменениеРеквизитовБанка);
480 |
481 | Если Объект.РучноеИзменениеРеквизитовБанка Тогда
482 | ЗначенияПараметров.Вставить("БИК", БИКБанка);
483 | ЗначенияПараметров.Вставить("Наименование", НаименованиеБанка);
484 | ЗначенияПараметров.Вставить("КоррСчет", КоррСчетБанка);
485 | ЗначенияПараметров.Вставить("Город", ГородБанка);
486 | ЗначенияПараметров.Вставить("Адрес", Объект.АдресБанка);
487 | ЗначенияПараметров.Вставить("Телефоны", Объект.ТелефоныБанка);
488 | Иначе
489 | СтруктураПараметров.Вставить("Банк", Объект.Банк);
490 | КонецЕсли;
491 |
492 | ИначеЕсли ИмяЭлемента = "БИКБанкаДляРасчетов" Тогда
493 |
494 | СтруктураПараметров.Вставить("РучноеИзменение", Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов);
495 |
496 | Если Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
497 | ЗначенияПараметров.Вставить("БИК", БИКБанкаДляРасчетов);
498 | ЗначенияПараметров.Вставить("Наименование", НаименованиеБанкаДляРасчетов);
499 | ЗначенияПараметров.Вставить("КоррСчет", КоррСчетБанкаДляРасчетов);
500 | ЗначенияПараметров.Вставить("Город", ГородБанкаДляРасчетов);
501 | ЗначенияПараметров.Вставить("Адрес", Объект.АдресБанкаДляРасчетов);
502 | ЗначенияПараметров.Вставить("Телефоны", Объект.ТелефоныБанкаДляРасчетов);
503 | Иначе
504 | СтруктураПараметров.Вставить("Банк", Объект.БанкДляРасчетов);
505 | КонецЕсли;
506 |
507 | КонецЕсли;
508 |
509 | СтруктураПараметров.Вставить("ЗначенияПолей", ЗначенияПараметров);
510 | ОткрытьФорму("Справочник._ДемоБанковскиеСчета.Форма.РеквизитыБанка",СтруктураПараметров, ЭтотОбъект);
511 |
512 | КонецПроцедуры
513 |
514 | &НаКлиенте
515 | Процедура РеквизитБанкаПриИзменении(Элемент)
516 |
517 | ТипБанка = "Банк";
518 | РучноеИзменениеРеквизитовБанка = Объект.РучноеИзменениеРеквизитовБанка;
519 | ИмяРедактируемогоРеквизита = "БИКБанка";
520 |
521 | Если СтрНачинаетсяС(Элемент.Имя, "БИКБанкаДляРасчетов") Тогда
522 | ТипБанка = "БанкДляРасчетов";
523 | РучноеИзменениеРеквизитовБанка = Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
524 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
525 | КонецЕсли;
526 |
527 | Если РучноеИзменениеРеквизитовБанка Тогда
528 | Возврат;
529 | КонецЕсли;
530 |
531 | Если ЗаполнитьРеквизитыБанкаПоБИК(ЭтотОбъект[ИмяРедактируемогоРеквизита], ТипБанка, Истина) Тогда
532 | УправлениеЭлементамиФормы(ЭтотОбъект);
533 | Возврат;
534 | КонецЕсли;
535 |
536 | СписокВариантовОтветовНаВопрос = Новый СписокЗначений;
537 | СписокВариантовОтветовНаВопрос.Добавить("ВыбратьИзСписка", НСтр("ru = 'Выбрать из списка'"));
538 | СписокВариантовОтветовНаВопрос.Добавить("ПродолжитьВвод", НСтр("ru = 'Продолжить ввод'"));
539 | СписокВариантовОтветовНаВопрос.Добавить("ОтменитьВвод", НСтр("ru = 'Отменить ввод'"));
540 |
541 | ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Банк с БИК %1 не найден в классификаторе банков.'"), ЭтотОбъект[ИмяРедактируемогоРеквизита]);
542 |
543 | ОписаниеОповещения = Новый ОписаниеОповещения("РеквизитБанкаПриИзмененииЗавершение", ЭтотОбъект, Элемент);
544 | ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, СписокВариантовОтветовНаВопрос, 0, , НСтр("ru = 'Выбор банка из классификатора'"));
545 |
546 | КонецПроцедуры
547 |
548 | &НаКлиенте
549 | Процедура РеквизитБанкаПриИзмененииЗавершение(РезультатВопроса, Элемент) Экспорт
550 |
551 | ИмяРедактируемогоРеквизита = "БИКБанка";
552 | Если СтрНачинаетсяС(Элемент.Имя, "БИКБанкаДляРасчетов") Тогда
553 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
554 | КонецЕсли;
555 |
556 | Если РезультатВопроса = "ОтменитьВвод" Тогда
557 | ЭтотОбъект[ИмяРедактируемогоРеквизита] = "";
558 | ИначеЕсли РезультатВопроса = "ПродолжитьВвод" Тогда
559 | Если ИмяРедактируемогоРеквизита = "БИКБанка" Тогда
560 | Объект.РучноеИзменениеРеквизитовБанка = Истина;
561 | ИначеЕсли ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов" Тогда
562 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = Истина;
563 | КонецЕсли;
564 | Объект[ИмяРедактируемогоРеквизита] = ЭтотОбъект[ИмяРедактируемогоРеквизита];
565 | ИначеЕсли РезультатВопроса = "ВыбратьИзСписка" Тогда
566 | СтруктураПараметров = Новый Структура;
567 | СтруктураПараметров.Вставить("Реквизит", ИмяРедактируемогоРеквизита);
568 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, ЭтотОбъект);
569 | КонецЕсли;
570 |
571 | УправлениеЭлементамиФормы(ЭтотОбъект);
572 |
573 | КонецПроцедуры
574 |
575 | &НаСервереБезКонтекста
576 | Функция ДеятельностьБанкаПрекращена(БИК)
577 |
578 | Результат = Ложь;
579 |
580 | ТекстЗапроса =
581 | "ВЫБРАТЬ
582 | | КлассификаторБанковРФ.ДеятельностьПрекращена
583 | |ИЗ
584 | | Справочник.КлассификаторБанковРФ КАК КлассификаторБанковРФ
585 | |ГДЕ
586 | | КлассификаторБанковРФ.Код = &БИК
587 | | И КлассификаторБанковРФ.ЭтоГруппа = ЛОЖЬ";
588 |
589 | Запрос = Новый Запрос;
590 | Запрос.Текст = ТекстЗапроса;
591 | Запрос.УстановитьПараметр("БИК", БИК);
592 |
593 | Выборка = Запрос.Выполнить().Выбрать();
594 | Если Выборка.Следующий() Тогда
595 | Результат = Выборка.ДеятельностьПрекращена;
596 | КонецЕсли;
597 |
598 | Возврат Результат;
599 |
600 | КонецФункции
601 |
602 | &НаСервере
603 | Процедура ОбновитьТекстПоясненияНедействительностиБанка()
604 | Элементы.НадписьДеятельностьБанкаПрекращена.Заголовок = РаботаСБанками.ПояснениеНедействительногоБанка(Объект.Банк);
605 | Элементы.НадписьДеятельностьБанкаРасчетовПрекращена.Заголовок =РаботаСБанками.ПояснениеНедействительногоБанка(Объект.БанкДляРасчетов);
606 | КонецПроцедуры
607 |
608 | #КонецОбласти
609 |
--------------------------------------------------------------------------------
/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаЭлемента1/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область ОписаниеПеременных
2 |
3 | &НаКлиенте
4 | Перем ИмяРедактируемогоРеквизита;
5 |
6 | #КонецОбласти
7 |
8 | &НаКлиенте
9 | Функция ПолучитьРеквизитыФормы() Экспорт
10 |
11 | Результат = ПолучитьРеквизитыНаСервере();
12 |
13 | Возврат Результат;
14 | КонецФункции
15 |
16 | &НаСервере
17 | Функция ПолучитьРеквизитыНаСервере()
18 |
19 | Реквизиты = ЭтаФорма.ПолучитьРеквизиты();
20 |
21 | СтруктураРеквизитовФормы = Новый Структура;
22 | Для Каждого Эл Из Реквизиты Цикл
23 | Структура = Новый Структура;
24 | Структура.Вставить("Заголовок", Эл.Заголовок);
25 | Структура.Вставить("Имя", Эл.Имя);
26 | Структура.Вставить("Путь", Эл.Путь);
27 | Структура.Вставить("ТипЗначения", ОбщегоНазначения.СтроковоеПредставлениеТипа(Эл.ТипЗначения.Типы()[0]));
28 | СтруктураРеквизитовФормы.Вставить(Эл.Имя, Структура);
29 | КонецЦикла;
30 |
31 | СтруктураПутей = Новый Структура;
32 |
33 | Для Каждого эл из ЭтаФорма.Элементы Цикл
34 | Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(эл, "ПутьКДанным") Тогда
35 | Если ЗначениеЗаполнено(эл.ПутьКДанным) Тогда
36 | СтруктураПутей.Вставить(эл.Имя, эл.ПутьКДанным);
37 | КонецЕсли;
38 | КонецЕсли;
39 | КонецЦикла;
40 |
41 | Возврат Новый Структура("РеквизитыФормы, ЭлементыПутьКДанным", СтруктураРеквизитовФормы, СтруктураПутей);
42 | КонецФункции
43 |
44 |
45 |
46 | #Область ОбработчикиСобытийФормы
47 |
48 | &НаСервере
49 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
50 |
51 | Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
52 | Возврат;
53 | КонецЕсли;
54 |
55 | Если Объект.РучноеИзменениеРеквизитовБанка Тогда
56 | БИКБанка = Объект.БИКБанка;
57 | НаименованиеБанка = Объект.НаименованиеБанка;
58 | КоррСчетБанка = Объект.КоррСчетБанка;
59 | ГородБанка = Объект.ГородБанка;
60 | СВИФТБИК = Объект.СВИФТБИК;
61 | Иначе
62 | Если НЕ Объект.Банк.Пустая() Тогда
63 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.Банк, "Банк", Ложь);
64 | КонецЕсли;
65 | КонецЕсли;
66 |
67 | Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
68 | Если (ЗначениеЗаполнено(Объект.БИКБанкаДляРасчетов)) Или (ЗначениеЗаполнено(Объект.БанкДляРасчетов))
69 | Или ЗначениеЗаполнено(Объект.СВИФТБИКДляРасчетов) Тогда
70 | ИспользуетсяБанкДляРасчетов = Истина;
71 | Иначе
72 | ИспользуетсяБанкДляРасчетов = Ложь;
73 | КонецЕсли;
74 | КонецЕсли;
75 |
76 | Если Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
77 | БИКБанкаДляРасчетов = Объект.БИКБанкаДляРасчетов;
78 | НаименованиеБанкаДляРасчетов = Объект.НаименованиеБанкаДляРасчетов;
79 | КоррСчетБанкаДляРасчетов = Объект.КоррСчетБанкаДляРасчетов;
80 | ГородБанкаДляРасчетов = Объект.ГородБанкаДляРасчетов;
81 | СВИФТБИКДляРасчетов = Объект.СВИФТБИКДляРасчетов;
82 | Иначе
83 | Если НЕ Объект.БанкДляРасчетов.Пустая() Тогда
84 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.БанкДляРасчетов, "БанкДляРасчетов", Ложь);
85 | КонецЕсли;
86 | КонецЕсли;
87 |
88 | НациональнаяВалюта = Справочники.Валюты.НайтиПоКоду("643");
89 | СпособУказанияРеквизитовБанка = ?(Объект.РучноеИзменениеРеквизитовБанка, "Вручную", "ИзКлассификатора");
90 | СпособУказанияРеквизитовБанкаРасчетов = ?(Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов, "Вручную", "ИзКлассификатора");
91 | МестоОткрытия = ?(Объект.Зарубежный, "ЗаРубежом", "РФ");
92 |
93 | ОбновитьТекстПоясненияНедействительностиБанка();
94 | УправлениеЭлементамиФормы(ЭтотОбъект);
95 |
96 | КонецПроцедуры
97 |
98 | &НаКлиенте
99 | Процедура ОбработкаВыбора(РезультатВыбора, ИсточникВыбора)
100 |
101 | Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник._ДемоБанковскиеСчета.Форма.РеквизитыБанка") Тогда
102 | Если Не ПустаяСтрока(РезультатВыбора) Тогда
103 | Если РезультатВыбора.Реквизит = "БИКБанка" Тогда
104 | Объект.РучноеИзменениеРеквизитовБанка = РезультатВыбора.РучноеИзменение;
105 | Если РезультатВыбора.РучноеИзменение Тогда
106 | Объект.Банк = "";
107 | Объект.БИКБанка = РезультатВыбора.ЗначенияПолей.БИК;
108 | Объект.НаименованиеБанка = РезультатВыбора.ЗначенияПолей.Наименование;
109 | Объект.КоррСчетБанка = РезультатВыбора.ЗначенияПолей.КоррСчет;
110 | Объект.ГородБанка = РезультатВыбора.ЗначенияПолей.Город;
111 | Объект.АдресБанка = РезультатВыбора.ЗначенияПолей.Адрес;
112 | Объект.ТелефоныБанка = РезультатВыбора.ЗначенияПолей.Телефоны;
113 |
114 | БИКБанка = РезультатВыбора.ЗначенияПолей.БИК;
115 | КоррСчетБанка = РезультатВыбора.ЗначенияПолей.КоррСчет;
116 | НаименованиеБанка = РезультатВыбора.ЗначенияПолей.Наименование;
117 | ГородБанка = РезультатВыбора.ЗначенияПолей.Город;
118 | Иначе
119 | Объект.Банк = РезультатВыбора.Банк;
120 | Объект.БИКБанка = "";
121 | Объект.НаименованиеБанка = "";
122 | Объект.КоррСчетБанка = "";
123 | Объект.ГородБанка = "";
124 | Объект.АдресБанка = "";
125 | Объект.ТелефоныБанка = "";
126 |
127 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.Банк, "Банк", Ложь);
128 | КонецЕсли;
129 | ИначеЕсли РезультатВыбора.Реквизит = "БИКБанкаДляРасчетов" Тогда
130 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = РезультатВыбора.РучноеИзменение;
131 | Если РезультатВыбора.РучноеИзменение Тогда
132 | Объект.БанкДляРасчетов = "";
133 | Объект.БИКБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.БИК;
134 | Объект.НаименованиеБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Наименование;
135 | Объект.КоррСчетБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.КоррСчет;
136 | Объект.ГородБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Город;
137 | Объект.АдресБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Адрес;
138 | Объект.ТелефоныБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Телефоны;
139 |
140 | БИКБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.БИК;
141 | КоррСчетБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.КоррСчет;
142 | НаименованиеБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Наименование;
143 | ГородБанкаДляРасчетов = РезультатВыбора.ЗначенияПолей.Город;
144 | Иначе
145 | Объект.БанкДляРасчетов = РезультатВыбора.Банк;
146 | Объект.БИКБанкаДляРасчетов = "";
147 | Объект.НаименованиеБанкаДляРасчетов = "";
148 | Объект.КоррСчетБанкаДляРасчетов = "";
149 | Объект.ГородБанкаДляРасчетов = "";
150 | Объект.АдресБанкаДляРасчетов = "";
151 | Объект.ТелефоныБанкаДляРасчетов = "";
152 |
153 | ЗаполнитьРеквизитыБанкаПоБанку(Объект.БанкДляРасчетов, "БанкДляРасчетов", Ложь);
154 | КонецЕсли;
155 | КонецЕсли;
156 | КонецЕсли;
157 | ИначеЕсли ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора") Тогда
158 | Если ТипЗнч(РезультатВыбора) = Тип("СправочникСсылка.КлассификаторБанковРФ") Тогда
159 | Если ИмяРедактируемогоРеквизита = "БИКБанка" Тогда
160 | Объект.Банк = РезультатВыбора;
161 | Объект.БИКБанка = "";
162 | Объект.НаименованиеБанка = "";
163 | Объект.КоррСчетБанка = "";
164 | Объект.ГородБанка = "";
165 | Объект.АдресБанка = "";
166 | Объект.ТелефоныБанка = "";
167 |
168 | ЗаполнитьРеквизитыБанкаПоБанку(РезультатВыбора, "Банк", Ложь);
169 | ИначеЕсли ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов" Тогда
170 | Объект.БанкДляРасчетов = РезультатВыбора;
171 | Объект.БИКБанкаДляРасчетов = "";
172 | Объект.НаименованиеБанкаДляРасчетов = "";
173 | Объект.КоррСчетБанкаДляРасчетов = "";
174 | Объект.ГородБанкаДляРасчетов = "";
175 | Объект.АдресБанкаДляРасчетов = "";
176 | Объект.ТелефоныБанкаДляРасчетов = "";
177 |
178 | ЗаполнитьРеквизитыБанкаПоБанку(РезультатВыбора, "БанкДляРасчетов", Ложь);
179 | КонецЕсли;
180 | КонецЕсли;
181 | КонецЕсли;
182 |
183 | Если Окно <> Неопределено Тогда
184 | Окно.Активизировать();
185 | КонецЕсли;
186 |
187 | ОбновитьТекстПоясненияНедействительностиБанка();
188 | УправлениеЭлементамиФормы(ЭтотОбъект);
189 |
190 | КонецПроцедуры
191 |
192 | &НаКлиенте
193 | Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
194 | Если Объект.РучноеИзменениеРеквизитовБанка Тогда
195 | Объект.БИКБанка = БИКБанка;
196 | Объект.КоррСчетБанка = КоррСчетБанка;
197 | Объект.НаименованиеБанка = НаименованиеБанка;
198 | Объект.ГородБанка = ГородБанка;
199 | Объект.СВИФТБИК = СВИФТБИК;
200 | Иначе
201 | Объект.БИКБанка = "";
202 | Объект.КоррСчетБанка = "";
203 | Объект.НаименованиеБанка = "";
204 | Объект.ГородБанка = "";
205 | Объект.СВИФТБИК = "";
206 | КонецЕсли;
207 |
208 | Если ИспользуетсяБанкДляРасчетов И Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
209 | Объект.БИКБанкаДляРасчетов = БИКБанкаДляРасчетов;
210 | Объект.КоррСчетБанкаДляРасчетов = КоррСчетБанкаДляРасчетов;
211 | Объект.НаименованиеБанкаДляРасчетов = НаименованиеБанкаДляРасчетов;
212 | Объект.ГородБанкаДляРасчетов = ГородБанкаДляРасчетов;
213 | Объект.СВИФТБИКДляРасчетов = СВИФТБИКДляРасчетов;
214 | Иначе
215 | Объект.БИКБанкаДляРасчетов = "";
216 | Объект.КоррСчетБанкаДляРасчетов = "";
217 | Объект.НаименованиеБанкаДляРасчетов = "";
218 | Объект.ГородБанкаДляРасчетов = "";
219 | Объект.СВИФТБИКДляРасчетов = "";
220 | КонецЕсли;
221 |
222 | Объект.Зарубежный = МестоОткрытия = "ЗаРубежом";
223 |
224 | КонецПроцедуры
225 |
226 | #КонецОбласти
227 |
228 | #Область ОбработчикиСобытийЭлементовШапкиФормы
229 |
230 | &НаКлиенте
231 | Процедура ИспользуетсяБанкДляРасчетовПриИзменении(Элемент)
232 |
233 | УправлениеЭлементамиФормы(ЭтотОбъект);
234 |
235 | КонецПроцедуры
236 |
237 | &НаКлиенте
238 | Процедура ВладелецПриИзменении(Элемент)
239 | УправлениеЭлементамиФормы(ЭтотОбъект);
240 | КонецПроцедуры
241 |
242 | &НаКлиенте
243 | Процедура БИКБанкаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
244 | ИмяРедактируемогоРеквизита = "БИКБанка";
245 | РеквизитБанкаПриВыборе("БИКБанка", ЭтотОбъект);
246 | КонецПроцедуры
247 |
248 | &НаКлиенте
249 | Процедура БИКБанкаОткрытие(Элемент, СтандартнаяОбработка)
250 | ИмяРедактируемогоРеквизита = "БИКБанка";
251 | СтандартнаяОбработка = Ложь;
252 | РеквизитБанкаОткрытие("БИКБанка");
253 | КонецПроцедуры
254 |
255 | &НаКлиенте
256 | Процедура БИКБанкаДляРасчетовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
257 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
258 | РеквизитБанкаПриВыборе("БИКБанкаДляРасчетов", ЭтотОбъект);
259 | КонецПроцедуры
260 |
261 | &НаКлиенте
262 | Процедура БИКБанкаДляРасчетовОткрытие(Элемент, СтандартнаяОбработка)
263 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
264 | СтандартнаяОбработка = Ложь;
265 | РеквизитБанкаОткрытие("БИКБанкаДляРасчетов");
266 | КонецПроцедуры
267 |
268 | &НаКлиенте
269 | Процедура МестоОткрытияПриИзменении(Элемент)
270 | УправлениеЭлементамиФормы(ЭтотОбъект);
271 | КонецПроцедуры
272 |
273 | &НаКлиенте
274 | Процедура ВалютаПриИзменении(Элемент)
275 | УправлениеЭлементамиФормы(ЭтотОбъект);
276 | КонецПроцедуры
277 |
278 | &НаКлиенте
279 | Процедура СпособУказанияРеквизитовБанкаРасчетовПриИзменении(Элемент)
280 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = СпособУказанияРеквизитовБанкаРасчетов = "Вручную";
281 | Если СпособУказанияРеквизитовБанкаРасчетов = "ИзКлассификатора" Тогда
282 | ЗаполнитьРеквизитыБанкаПоБИК(БИКБанкаДляРасчетов, "БанкДляРасчетов", Истина);
283 | КонецЕсли;
284 | УправлениеЭлементамиФормы(ЭтотОбъект);
285 | КонецПроцедуры
286 |
287 | &НаКлиенте
288 | Процедура СпособУказанияРеквизитовБанкаПриИзменении(Элемент)
289 | Объект.РучноеИзменениеРеквизитовБанка = СпособУказанияРеквизитовБанка = "Вручную";
290 | Если СпособУказанияРеквизитовБанка = "ИзКлассификатора" Тогда
291 | ЗаполнитьРеквизитыБанкаПоБИК(БИКБанка, "Банк", Истина);
292 | КонецЕсли;
293 | УправлениеЭлементамиФормы(ЭтотОбъект);
294 | КонецПроцедуры
295 |
296 | #КонецОбласти
297 |
298 | #Область СлужебныеПроцедурыИФункции
299 |
300 | &НаСервере
301 | Функция ЗаполнитьРеквизитыБанкаПоБИК(БИК, ТипБанка, ПеренестиЗначенияРеквизитов = Ложь)
302 |
303 | НашлиПоБИК = Ложь;
304 | ЗаписьОБанке = "";
305 |
306 | Если ТипБанка = "Банк" Тогда
307 |
308 | БИКБанка = "";
309 | КоррСчетБанка = "";
310 | НаименованиеБанка = "";
311 | ГородБанка = "";
312 | РаботаСБанками.ПолучитьДанныеКлассификатораРФ(БИК,,ЗаписьОБанке);
313 | Если НЕ ПустаяСтрока(ЗаписьОБанке) Тогда
314 | БИКБанка = ЗаписьОБанке.Код;
315 | КоррСчетБанка = ЗаписьОБанке.КоррСчет;
316 | НаименованиеБанка = ЗаписьОБанке.Наименование;
317 | ГородБанка = ЗаписьОБанке.Город;
318 | НашлиПоБИК = Истина;
319 | СВИФТБИК = ЗаписьОБанке.СВИФТБИК;
320 | Если ПеренестиЗначенияРеквизитов Тогда
321 | Объект.БИКБанка = "";
322 | Объект.НаименованиеБанка = "";
323 | Объект.КоррСчетБанка = "";
324 | Объект.ГородБанка = "";
325 | Объект.АдресБанка = "";
326 | Объект.ТелефоныБанка = "";
327 | Объект.Банк = ЗаписьОБанке;
328 | КонецЕсли;
329 | КонецЕсли;
330 | ДеятельностьБанкаПрекращена = Не Объект.РучноеИзменениеРеквизитовБанка И ДеятельностьБанкаПрекращена(БИКБанка);
331 | ИначеЕсли ТипБанка = "БанкДляРасчетов" Тогда
332 | БИКБанкаДляРасчетов = "";
333 | КоррСчетБанкаДляРасчетов = "";
334 | НаименованиеБанкаДляРасчетов = "";
335 | ГородБанкаДляРасчетов = "";
336 | РаботаСБанками.ПолучитьДанныеКлассификатораРФ(БИК,,ЗаписьОБанке);
337 | Если НЕ ПустаяСтрока(ЗаписьОБанке) Тогда
338 | БИКБанкаДляРасчетов = ЗаписьОБанке.Код;
339 | КоррСчетБанкаДляРасчетов = ЗаписьОБанке.КоррСчет;
340 | НаименованиеБанкаДляРасчетов = ЗаписьОБанке.Наименование;
341 | ГородБанкаДляРасчетов = ЗаписьОБанке.Город;
342 | СВИФТБИКДляРасчетов = ЗаписьОБанке.СВИФТБИК;
343 | НашлиПоБИК = Истина;
344 | Если ПеренестиЗначенияРеквизитов Тогда
345 | Объект.БИКБанкаДляРасчетов = "";
346 | Объект.НаименованиеБанкаДляРасчетов = "";
347 | Объект.КоррСчетБанкаДляРасчетов = "";
348 | Объект.ГородБанкаДляРасчетов = "";
349 | Объект.АдресБанкаДляРасчетов = "";
350 | Объект.ТелефоныБанкаДляРасчетов = "";
351 | Объект.БанкДляРасчетов = ЗаписьОБанке;
352 | КонецЕсли;
353 | КонецЕсли;
354 | ДеятельностьБанкаНепрямыхРасчетовПрекращена = Не Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов И ДеятельностьБанкаПрекращена(БИКБанкаДляРасчетов);
355 | КонецЕсли;
356 |
357 | ОбновитьТекстПоясненияНедействительностиБанка();
358 |
359 | Возврат НашлиПоБИК;
360 | КонецФункции
361 |
362 | &НаСервере
363 | Функция ЗаполнитьРеквизитыБанкаПоБанку(Банк, ТипБанка, ПеренестиЗначенияРеквизитов = Ложь)
364 | Если ТипБанка = "Банк" Тогда
365 | БИКБанка = Банк.Код;
366 | КоррСчетБанка = Банк.КоррСчет;
367 | НаименованиеБанка = Банк.Наименование;
368 | ГородБанка = Банк.Город;
369 | СВИФТБИК = Банк.СВИФТБИК;
370 | Если ПеренестиЗначенияРеквизитов Тогда
371 | Объект.БИКБанка = Банк.Код;
372 | Объект.НаименованиеБанка = Банк.Наименование;
373 | Объект.КоррСчетБанка = Банк.КоррСчет;
374 | Объект.ГородБанка = Банк.Город;
375 | Объект.АдресБанка = Банк.Адрес;
376 | Объект.ТелефоныБанка = Банк.Телефоны;
377 | Объект.Банк = "";
378 | Объект.СВИФТБИК = Банк.СВИФТБИК;
379 | КонецЕсли;
380 | ДеятельностьБанкаПрекращена = Не Объект.РучноеИзменениеРеквизитовБанка И ДеятельностьБанкаПрекращена(БИКБанка);
381 | ИначеЕсли ТипБанка = "БанкДляРасчетов" Тогда
382 | БИКБанкаДляРасчетов = Банк.Код;
383 | КоррСчетБанкаДляРасчетов = Банк.КоррСчет;
384 | НаименованиеБанкаДляРасчетов = Банк.Наименование;
385 | ГородБанкаДляРасчетов = Банк.Город;
386 | СВИФТБИКДляРасчетов = Банк.СВИФТБИК;
387 | Если ПеренестиЗначенияРеквизитов Тогда
388 | Объект.БИКБанкаДляРасчетов = Банк.Код;
389 | Объект.НаименованиеБанкаДляРасчетов = Банк.Наименование;
390 | Объект.КоррСчетБанкаДляРасчетов = Банк.КоррСчет;
391 | Объект.ГородБанкаДляРасчетов = Банк.Город;
392 | Объект.АдресБанкаДляРасчетов = Банк.Адрес;
393 | Объект.ТелефоныБанкаДляРасчетов = Банк.Телефоны;
394 | Объект.БанкДляРасчетов = "";
395 | Объект.СВИФТБИКДляРасчетов = Банк.СВИФТБИКДляРасчетов;
396 | КонецЕсли;
397 | ДеятельностьБанкаНепрямыхРасчетовПрекращена = Не Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов И ДеятельностьБанкаПрекращена(БИКБанкаДляРасчетов);
398 | КонецЕсли;
399 | КонецФункции
400 |
401 | &НаКлиентеНаСервереБезКонтекста
402 | Процедура УправлениеЭлементамиФормы(Форма)
403 |
404 | ЭтоСчетОрганизации = (ТипЗнч(Форма.Объект.Владелец) = Тип("СправочникСсылка._ДемоОрганизации"));
405 |
406 | Форма.Элементы.СтраницаНастройкаПечати.Видимость = ЭтоСчетОрганизации;
407 | Форма.Элементы.СведенияОСчете.ОтображениеСтраниц = ?(ЭтоСчетОрганизации, ОтображениеСтраницФормы.ЗакладкиСверху, ОтображениеСтраницФормы.Нет);
408 |
409 | Форма.Элементы.ГруппаБанкДляРасчетов.Доступность = Форма.ИспользуетсяБанкДляРасчетов;
410 |
411 | Форма.Элементы.СпособУказанияРеквизитовБанка.Доступность = Форма.МестоОткрытия = "РФ";
412 | Если Форма.МестоОткрытия = "ЗаРубежом" Тогда
413 | Форма.СпособУказанияРеквизитовБанка = "Вручную";
414 | Форма.Объект.РучноеИзменениеРеквизитовБанка = Истина;
415 | КонецЕсли;
416 |
417 | Форма.Элементы.РеквизитыБанка.Доступность = Форма.СпособУказанияРеквизитовБанка = "Вручную";
418 | Форма.Элементы.РеквизитыБанкаРасчетов.Доступность = Форма.СпособУказанияРеквизитовБанкаРасчетов = "Вручную";
419 |
420 | Форма.Элементы.СпособУказанияРеквизитовБанкаРасчетов.Доступность = Форма.Объект.Валюта = Форма.НациональнаяВалюта;
421 | Если Форма.Объект.Валюта <> Форма.НациональнаяВалюта Тогда
422 | Форма.СпособУказанияРеквизитовБанкаРасчетов = "Вручную";
423 | КонецЕсли;
424 |
425 | Форма.Элементы.НаименованиеБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка;
426 | Форма.Элементы.ГородБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка;
427 | Форма.Элементы.КоррСчетБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка;
428 |
429 | Форма.Элементы.НаименованиеБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
430 | Форма.Элементы.ГородБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
431 | Форма.Элементы.КоррСчетБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
432 |
433 | Форма.Элементы.СостояниеБанка.ТекущаяСтраница =
434 | ?(Форма.ДеятельностьБанкаПрекращена, Форма.Элементы.БанкЗакрыт, Форма.Элементы.БанкРаботает);
435 |
436 | Форма.Элементы.СостояниеБанкаНепрямыхРасчетов.ТекущаяСтраница =
437 | ?(Форма.ДеятельностьБанкаНепрямыхРасчетовПрекращена, Форма.Элементы.БанкНепрямыхРасчетовЗакрыт, Форма.Элементы.БанкНепрямыхРасчетовРаботает);
438 |
439 | Если Форма.МестоОткрытия = "РФ" Тогда
440 | Форма.Элементы.КодыБанка.ТекущаяСтраница = Форма.Элементы.КодыБанкаРоссийскогоСчета;
441 | Иначе
442 | Форма.Элементы.КодыБанка.ТекущаяСтраница = Форма.Элементы.КодыБанкаЗарубежногоСчета;
443 | КонецЕсли;
444 |
445 | Если Форма.Объект.Валюта = Форма.НациональнаяВалюта Тогда
446 | Форма.Элементы.КодыБанкаРасчетов.ТекущаяСтраница = Форма.Элементы.КодыБанкаРасчетовРублевогоСчета;
447 | Иначе
448 | Форма.Элементы.КодыБанкаРасчетов.ТекущаяСтраница = Форма.Элементы.КодыБанкаРасчетовВалютногоСчета;
449 | КонецЕсли;
450 |
451 | КонецПроцедуры
452 |
453 | &НаКлиенте
454 | Процедура РеквизитБанкаПриВыборе(ИмяЭлемента, Форма)
455 | Если ИмяЭлемента = "БИКБанка" Тогда
456 | Если Не Объект.РучноеИзменениеРеквизитовБанка Тогда
457 | СтруктураПараметров = Новый Структура;
458 | СтруктураПараметров.Вставить("Реквизит", ИмяЭлемента);
459 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, Форма);
460 | КонецЕсли;
461 | ИначеЕсли ИмяЭлемента = "БИКБанкаДляРасчетов" Тогда
462 | Если Не Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
463 | СтруктураПараметров = Новый Структура;
464 | СтруктураПараметров.Вставить("Реквизит", ИмяЭлемента);
465 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, Форма);
466 | КонецЕсли;
467 | КонецЕсли;
468 | КонецПроцедуры
469 |
470 | &НаКлиенте
471 | Процедура РеквизитБанкаОткрытие(ИмяЭлемента)
472 |
473 | СтруктураПараметров = Новый Структура;
474 | СтруктураПараметров.Вставить("Реквизит", ИмяЭлемента);
475 | ЗначенияПараметров = Новый Структура;
476 |
477 | Если ИмяЭлемента = "БИКБанка" Тогда
478 |
479 | СтруктураПараметров.Вставить("РучноеИзменение", Объект.РучноеИзменениеРеквизитовБанка);
480 |
481 | Если Объект.РучноеИзменениеРеквизитовБанка Тогда
482 | ЗначенияПараметров.Вставить("БИК", БИКБанка);
483 | ЗначенияПараметров.Вставить("Наименование", НаименованиеБанка);
484 | ЗначенияПараметров.Вставить("КоррСчет", КоррСчетБанка);
485 | ЗначенияПараметров.Вставить("Город", ГородБанка);
486 | ЗначенияПараметров.Вставить("Адрес", Объект.АдресБанка);
487 | ЗначенияПараметров.Вставить("Телефоны", Объект.ТелефоныБанка);
488 | Иначе
489 | СтруктураПараметров.Вставить("Банк", Объект.Банк);
490 | КонецЕсли;
491 |
492 | ИначеЕсли ИмяЭлемента = "БИКБанкаДляРасчетов" Тогда
493 |
494 | СтруктураПараметров.Вставить("РучноеИзменение", Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов);
495 |
496 | Если Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов Тогда
497 | ЗначенияПараметров.Вставить("БИК", БИКБанкаДляРасчетов);
498 | ЗначенияПараметров.Вставить("Наименование", НаименованиеБанкаДляРасчетов);
499 | ЗначенияПараметров.Вставить("КоррСчет", КоррСчетБанкаДляРасчетов);
500 | ЗначенияПараметров.Вставить("Город", ГородБанкаДляРасчетов);
501 | ЗначенияПараметров.Вставить("Адрес", Объект.АдресБанкаДляРасчетов);
502 | ЗначенияПараметров.Вставить("Телефоны", Объект.ТелефоныБанкаДляРасчетов);
503 | Иначе
504 | СтруктураПараметров.Вставить("Банк", Объект.БанкДляРасчетов);
505 | КонецЕсли;
506 |
507 | КонецЕсли;
508 |
509 | СтруктураПараметров.Вставить("ЗначенияПолей", ЗначенияПараметров);
510 | ОткрытьФорму("Справочник._ДемоБанковскиеСчета.Форма.РеквизитыБанка",СтруктураПараметров, ЭтотОбъект);
511 |
512 | КонецПроцедуры
513 |
514 | &НаКлиенте
515 | Процедура РеквизитБанкаПриИзменении(Элемент)
516 |
517 | ТипБанка = "Банк";
518 | РучноеИзменениеРеквизитовБанка = Объект.РучноеИзменениеРеквизитовБанка;
519 | ИмяРедактируемогоРеквизита = "БИКБанка";
520 |
521 | Если СтрНачинаетсяС(Элемент.Имя, "БИКБанкаДляРасчетов") Тогда
522 | ТипБанка = "БанкДляРасчетов";
523 | РучноеИзменениеРеквизитовБанка = Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов;
524 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
525 | КонецЕсли;
526 |
527 | Если РучноеИзменениеРеквизитовБанка Тогда
528 | Возврат;
529 | КонецЕсли;
530 |
531 | Если ЗаполнитьРеквизитыБанкаПоБИК(ЭтотОбъект[ИмяРедактируемогоРеквизита], ТипБанка, Истина) Тогда
532 | УправлениеЭлементамиФормы(ЭтотОбъект);
533 | Возврат;
534 | КонецЕсли;
535 |
536 | СписокВариантовОтветовНаВопрос = Новый СписокЗначений;
537 | СписокВариантовОтветовНаВопрос.Добавить("ВыбратьИзСписка", НСтр("ru = 'Выбрать из списка'"));
538 | СписокВариантовОтветовНаВопрос.Добавить("ПродолжитьВвод", НСтр("ru = 'Продолжить ввод'"));
539 | СписокВариантовОтветовНаВопрос.Добавить("ОтменитьВвод", НСтр("ru = 'Отменить ввод'"));
540 |
541 | ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Банк с БИК %1 не найден в классификаторе банков.'"), ЭтотОбъект[ИмяРедактируемогоРеквизита]);
542 |
543 | ОписаниеОповещения = Новый ОписаниеОповещения("РеквизитБанкаПриИзмененииЗавершение", ЭтотОбъект, Элемент);
544 | ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, СписокВариантовОтветовНаВопрос, 0, , НСтр("ru = 'Выбор банка из классификатора'"));
545 |
546 | КонецПроцедуры
547 |
548 | &НаКлиенте
549 | Процедура РеквизитБанкаПриИзмененииЗавершение(РезультатВопроса, Элемент) Экспорт
550 |
551 | ИмяРедактируемогоРеквизита = "БИКБанка";
552 | Если СтрНачинаетсяС(Элемент.Имя, "БИКБанкаДляРасчетов") Тогда
553 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов";
554 | КонецЕсли;
555 |
556 | Если РезультатВопроса = "ОтменитьВвод" Тогда
557 | ЭтотОбъект[ИмяРедактируемогоРеквизита] = "";
558 | ИначеЕсли РезультатВопроса = "ПродолжитьВвод" Тогда
559 | Если ИмяРедактируемогоРеквизита = "БИКБанка" Тогда
560 | Объект.РучноеИзменениеРеквизитовБанка = Истина;
561 | ИначеЕсли ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов" Тогда
562 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = Истина;
563 | КонецЕсли;
564 | Объект[ИмяРедактируемогоРеквизита] = ЭтотОбъект[ИмяРедактируемогоРеквизита];
565 | ИначеЕсли РезультатВопроса = "ВыбратьИзСписка" Тогда
566 | СтруктураПараметров = Новый Структура;
567 | СтруктураПараметров.Вставить("Реквизит", ИмяРедактируемогоРеквизита);
568 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, ЭтотОбъект);
569 | КонецЕсли;
570 |
571 | УправлениеЭлементамиФормы(ЭтотОбъект);
572 |
573 | КонецПроцедуры
574 |
575 | &НаСервереБезКонтекста
576 | Функция ДеятельностьБанкаПрекращена(БИК)
577 |
578 | Результат = Ложь;
579 |
580 | ТекстЗапроса =
581 | "ВЫБРАТЬ
582 | | КлассификаторБанковРФ.ДеятельностьПрекращена
583 | |ИЗ
584 | | Справочник.КлассификаторБанковРФ КАК КлассификаторБанковРФ
585 | |ГДЕ
586 | | КлассификаторБанковРФ.Код = &БИК
587 | | И КлассификаторБанковРФ.ЭтоГруппа = ЛОЖЬ";
588 |
589 | Запрос = Новый Запрос;
590 | Запрос.Текст = ТекстЗапроса;
591 | Запрос.УстановитьПараметр("БИК", БИК);
592 |
593 | Выборка = Запрос.Выполнить().Выбрать();
594 | Если Выборка.Следующий() Тогда
595 | Результат = Выборка.ДеятельностьПрекращена;
596 | КонецЕсли;
597 |
598 | Возврат Результат;
599 |
600 | КонецФункции
601 |
602 | &НаСервере
603 | Процедура ОбновитьТекстПоясненияНедействительностиБанка()
604 | Элементы.НадписьДеятельностьБанкаПрекращена.Заголовок = РаботаСБанками.ПояснениеНедействительногоБанка(Объект.Банк);
605 | Элементы.НадписьДеятельностьБанкаРасчетовПрекращена.Заголовок =РаботаСБанками.ПояснениеНедействительногоБанка(Объект.БанкДляРасчетов);
606 | КонецПроцедуры
607 |
608 | #КонецОбласти
609 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Fedor Timokhov
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://github.com/huxuxuya/FormCodeGenerator/releases)
2 |
3 | # Обработка генерации кода для программной доработки форм
4 |
5 | При доработке типовых конфигураций, для уменьшения издержек на сопровождение конфигурации при ее обновлении, доработка форм должна производиться с максимальным приоритетом программной доработки.
6 |
7 | Данная обработка создана для увеличения скорости программного добавления реквизитов формы.
8 |
9 | Определение элементов, для которых необходимо сгенерировать код , реализуется через сравнение эталонной формы и формы, в которую реквизиты добавлены интерактивно.
10 |
11 | # Зависимости:
12 | Код, генерируемый обработкой использует [модуль программной доработки форм](https://github.com/huxuxuya/1cFormEditor).
13 |
14 | ## Установка модуля программной доработки форм:
15 | Скачать последнюю [поставку модулья из релизов](https://github.com/huxuxuya/1cFormEditor/releases).
16 |
17 | В дорабатываемой конфигурации:
18 | 1. Выбрать "Сравнить объединить с конфигурацией из файла".
19 | 2. Согласиться поставить конфигурацию на поддержку.
20 | 3. В сравнении/объединении выбрать только общий модуль "Редактор форм".
21 | 4. Выполнить объединение.
22 |
23 |
24 | # Roadmap:
25 |
26 | | Метод | Статус | Дата |
27 | |----------|:-------------:|------:|
28 | | НовоеПолеФормы | Never | - |
29 | | НовоеПолеРеквизитаФормы | Yep | - |
30 | | НоваяГруппаФормы | Yep | - |
31 | | НоваяГруппаКолонкиЛевоПраво | Never | - |
32 | | НоваяГруппаОбычная | Yep | - |
33 | | НоваяТаблицаФормы | - | - |
34 | | НовоеПолеТабличнойЧастиформы | - | - |
35 | | НоваяКнопкаФормы | Never | - |
36 | | НоваяКомандаИГиперссылкаФормы | - | - |
37 | | НоваяКомандаИКнопкаКоманднойПанели | - | - |
38 | | НоваяКомандаИКнопкаФормы | In prgrs | - |
39 | | НоваяКомандаФормы | - | - |
40 | | НовыйРеквизитОбъектаФормы | Yep | - |
41 | | НовоеПолеФормыРеквизитОбъекта | - | - |
42 | | НовоеПолеШапкиФормыРеквизитОбъекта | Yep | - |
43 | | НовоеМногострочноеПолеРеквизитОбъекта | Yep | - |
44 | | НовоеПолеФлажокФормыРеквизитОбъекта | Yep | - |
45 | | НоваяГруппаКнопок | - | - |
46 | | НоваяДекорацияНадпись | Yep | - |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------