|
Под-те в какой проц-е запол-ся табл поле РаботникиОрганизации документа ЗаявкаНаОткрытиеСч
#36613437
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Может кто увидит )))?? а...
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. 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.
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ
// Хранит дерево макетов печатных форм
Перем мДеревоМакетов;
// Хранит элемент управления подменю печати
Перем мПодменюПечати;
// Хранит элемент управления кнопку печать по умолчанию
Перем мПечатьПоУмолчанию;
// Хранит дерево кнопок подменю заполнение ТЧ
Перем мКнопкиЗаполненияТЧ;
// Хранит старое значение физ лица в строке табличной части
Перем мТекущееФизЛицо;
// Хранит ссылку на головную организацию
Перем мГоловнаяОрганизация;
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
Процедура УстановитьЗаголовкиОрганизацийВФорме()
ЭлементыФормы.НадписьОрганизация.Заголовок = ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("Организация:");
ЭлементыФормы.НадписьОрганизация.Значение = ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("Организация:");
ЭлементыФормы.БанковскийСчет.Подсказка = ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("Банковский счет организации в банке, на который будут перечислятся средства");
ЭлементыФормы.Организация.Подсказка = ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("Организация");
КонецПроцедуры // УстановитьЗаголовкиОрганизацийВФорме()
// Процедура устанавливает подменю "Печать" и кнопку "Печать по умолчанию" при необходимости
//
Процедура УстановитьКнопкиПечати()
мДеревоМакетов = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Ссылка, Неопределено, Новый Действие("ОсновныеДействияФормыПечать"), Новый Действие("ОсновныеДействияФормыУстановитьПечатьПоУмолчанию"));
УниверсальныеМеханизмы.УстановитьПодменюПечати (мПодменюПечати, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов);
УниверсальныеМеханизмы.УстановитьПечатьПоУмолчанию(мПечатьПоУмолчанию, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов, Метаданные().Имя,Новый Действие("ОсновныеДействияФормыПечатьПоУмолчанию"));
Если Не мПодменюПечати = Неопределено Тогда
УниверсальныеМеханизмы.СформироватьПодменю(мДеревоМакетов, мПодменюПечати,Истина,Истина);
КонецЕсли;
КонецПроцедуры
// Процедура устанавливает подменю "Заполнить" в командных панелях ТЧ документа при необходимости
//
Процедура УстановитьКнопкиПодменюЗаполненияТЧ()
СоответствиеТЧ = Новый Соответствие;
СоответствиеТЧ.Вставить(ЭлементыФормы.РаботникиОрганизации,ЭлементыФормы.КоманднаяПанель1);
мКнопкиЗаполненияТЧ = УниверсальныеМеханизмы.СформироватьПодменюЗаполненияТЧ(Ссылка, СоответствиеТЧ, Новый Действие("НажатиеНаДополнительнуюКнопкуЗаполненияТЧ"));
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
// Установка кнопок печати
УстановитьКнопкиПечати();
// Установка кнопок заполнение ТЧ
УстановитьКнопкиПодменюЗаполненияТЧ();
КоличествоСтрокВВидеВклада = СтрЧислоСтрок(ВидВклада);
Если КоличествоСтрокВВидеВклада > 0 Тогда
ВидВкладаСтрокой = СтрПолучитьСтроку(ВидВклада, 1 );
КонецЕсли;
Если КоличествоСтрокВВидеВклада > 1 Тогда
КодВида = СтрПолучитьСтроку(ВидВклада, 2 );
КонецЕсли;
Если КоличествоСтрокВВидеВклада > 2 Тогда
КодПодВида = СтрПолучитьСтроку(ВидВклада, 3 );
КонецЕсли;
Если КоличествоСтрокВВидеВклада > 3 Тогда
КодВалюты = СтрПолучитьСтроку(ВидВклада, 4 );
КонецЕсли;
КонецПроцедуры
Процедура ПриОткрытии()
//
//Если ЭтоНовый() Тогда
// // Заполнить реквизиты значениями по умолчанию.
// ЗаполнениеДокументовПереопределяемый.ЗаполнитьШапкуДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"));
//
//Иначе
//
// // Установить доступность формы с учетом даты запрета редактирования
// РаботаСДиалогамиЗК.УстановитьДоступностьФормыДляРедактирования(ЭтотОбъект, ЭтаФорма);
//
//КонецЕсли;
//
//МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера(Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю,ЭлементыФормы.Номер);
//
//// Вывести в заголовке формы статус документа (новый, не проведен, проведен).
//РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(, ЭтотОбъект, ЭтаФорма);
//
//ЭлементыФормы.РаботникиОрганизации.Колонки.НомерЛицевогоСчета.Видимость = ВводНачальныхСведений;
//УстановитьЗаголовкиОрганизацийВФорме();
//
//// Получим и запомним ссылку на головную организацию
//мГоловнаяОрганизация = ОбщегоНазначения.ГоловнаяОрганизация(Организация);
//
КонецПроцедуры
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.Валюты") Тогда
КодВалюты = ЗначениеВыбора.Код;
КонецЕсли;
КонецПроцедуры
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
ВидВклада = ВидВкладаСтрокой + Символы.ПС + КодВида + Символы.ПС + КодПодВида + Символы.ПС + КодВалюты;
КонецПроцедуры
// Процедура - обработчик события "ПослеЗаписи" формы.
//
Процедура ПослеЗаписи()
// Вывести в заголовке формы статус документа (новый, не проведен, проведен).
РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(, ЭтотОбъект, ЭтаФорма);
МеханизмНумерацииОбъектов.ОбновитьПодсказкуКодНомерОбъекта(ЭтотОбъект.Метаданные(), ЭлементыФормы.ДействияФормы.Кнопки.Подменю, ЭлементыФормы.Номер);
КонецПроцедуры // ПослеЗаписи()
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ДЕЙСТВИЯ КОМАНДНЫХ ПАНЕЛЕЙ ФОРМЫ
// Процедура вызывается при выборе пункта подменю "Движения документа по регистрам" меню "Перейти".
// командной панели формы. Процедура отрабатывает печать движений документа по регистрам.
//
Процедура ДействияФормыДвиженияДокументаПоРегистрам(Кнопка)
РаботаСДиалогами.НапечататьДвиженияДокумента(Ссылка);
КонецПроцедуры // ДействияФормыДвиженияДокументаПоРегистрам()
// Процедура вызова структуры подчиненности документа
Процедура ДействияФормыСтруктураПодчиненностиДокумента(Кнопка)
РаботаСДиалогами.ПоказатьСтруктуруПодчиненностиДокумента(Ссылка);
КонецПроцедуры // ДействияФормыСтруктураПодчиненностиДокумента()
// Процедура разрешения/запрещения редактирования номера документа
Процедура ДействияФормыРедактироватьНомер(Кнопка)
МеханизмНумерацииОбъектов.ИзменениеВозможностиРедактированияНомера(ЭтотОбъект.Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю, ЭлементыФормы.Номер);
КонецПроцедуры
// Процедура выполняет открытие формы регистра ЛицевыеСчетаРаботниковОрганизации
// с отбором по данному документу
Процедура ДействияФормыЛицевыеСчетаРаботниковОрганизации(Кнопка)
ФормаСписка = РегистрыСведений.ЛицевыеСчетаРаботниковОрганизации.ПолучитьФормуСписка();
ФормаСписка.Отбор.Документ.Установить(Ссылка);
ФормаСписка.Открыть();
КонецПроцедуры
// Процедура - обработчик нажатия на любую из дополнительных кнопок по заполнению ТЧ
//
Процедура НажатиеНаДополнительнуюКнопкуЗаполненияТЧ(Кнопка)
УниверсальныеМеханизмы.ОбработатьНажатиеНаДополнительнуюКнопкуЗаполненияТЧ(мКнопкиЗаполненияТЧ.Строки.Найти(Кнопка.Имя,"Имя",Истина),ЭтотОбъект);
КонецПроцедуры
// Процедура - обработчик нажатия на кнопку "Печать по умолчанию"
//
Процедура ОсновныеДействияФормыПечатьПоУмолчанию(Кнопка)
УниверсальныеМеханизмы.ПечатьПоДополнительнойКнопке(мДеревоМакетов, ЭтотОбъект, ЭтаФорма, Кнопка.Текст);
КонецПроцедуры
// Процедура - обработчик нажатия на кнопку "Печать"
//
Процедура ОсновныеДействияФормыПечать(Кнопка)
УниверсальныеМеханизмы.ПечатьПоДополнительнойКнопке(мДеревоМакетов, ЭтотОбъект, ЭтаФорма, Кнопка.Текст);
КонецПроцедуры
// Процедура - обработчик нажатия на кнопку "Установить печать по умолчанию"
//
Процедура ОсновныеДействияФормыУстановитьПечатьПоУмолчанию(Кнопка)
Если УниверсальныеМеханизмы.НазначитьКнопкуПечатиПоУмолчанию(мДеревоМакетов, Метаданные().Имя) Тогда
УстановитьКнопкиПечати();
КонецЕсли;
КонецПроцедуры
// Процедура - вызывается при нажатии на кнопку "Подбор"
//
Процедура КоманднаяПанель1Подбор(Кнопка)
ПроцедурыУправленияПерсоналомПереопределяемый.ОткрытьФормуВыбораСотрудникаОрганизации(ЭлементыФормы.РаботникиОрганизации, Ссылка, Ложь, Дата, мГоловнаяОрганизация, 0 ,,,,Истина);
КонецПроцедуры
// Процедура - обработчик события нажатия на кн. Показвыать все поля
//
Процедура КоманднаяПанель1ПоказыватьВсеПоля(Кнопка)
Кнопка.Пометка = Не Кнопка.Пометка;
Если Кнопка.Пометка Тогда
// устанавливаем видимость полям
ЭлементыФормы.РаботникиОрганизации.Колонки.Должность.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.РабочийТелефон.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ДомашнийТелефон.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.Сумма.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ПризнакЗарплатный.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.КатегорияНаселения.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.БонусУчастника.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ТарифСледующийГод.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ТарифТекущийГод.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.БонусПрограмма.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ПризнакРассылки.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ИнтернетАдрес.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.СчетДебета.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.МобильныйТелефон.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ОператорСвязи.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.МобильныйБанк.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.ПередачаБКИ.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.Резидент.Видимость = Истина;
ЭлементыФормы.РаботникиОрганизации.Колонки.Гражданство.Видимость = Истина;
Иначе
// убираем идимость полям
ЭлементыФормы.РаботникиОрганизации.Колонки.Должность.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.РабочийТелефон.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ДомашнийТелефон.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.Сумма.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ПризнакЗарплатный.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.КатегорияНаселения.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.БонусУчастника.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ТарифСледующийГод.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ТарифТекущийГод.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.БонусПрограмма.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ПризнакРассылки.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ИнтернетАдрес.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.СчетДебета.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.МобильныйТелефон.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ОператорСвязи.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.МобильныйБанк.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.ПередачаБКИ.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.Резидент.Видимость = Ложь;
ЭлементыФормы.РаботникиОрганизации.Колонки.Гражданство.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры // КоманднаяПанель1ПоказыватьВсеПоля()
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ШАПКИ
Процедура ВводНачальныхСведенийПриИзменении(Элемент)
ЭлементыФормы.РаботникиОрганизации.Колонки.НомерЛицевогоСчета.Видимость = ВводНачальныхСведений;
КонецПроцедуры
Процедура ОрганизацияПриИзменении(Элемент)
Если Не ПустаяСтрока(Номер) Тогда
МеханизмНумерацииОбъектов.СброситьУстановленныйКодНомерОбъекта(ЭтотОбъект, "Номер", ЭлементыФормы.ДействияФормы.Кнопки.Подменю, ЭлементыФормы.Номер);
КонецЕсли;
// Получим и запомним ссылку на головную организацию
мГоловнаяОрганизация = ОбщегоНазначения.ГоловнаяОрганизация(Организация);
КонецПроцедуры
Процедура КодВалютыНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Справочники.Валюты.ПолучитьФормуВыбора(, ЭтаФорма).Открыть();
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЧНОГО ПОЛЯ РаботникиОрганизации
Процедура РаботникиОрганизацииПередНачаломИзменения(Элемент, Отказ)
ТекущиеДанныеСтроки = Элемент.ТекущиеДанные;
Если ТекущиеДанныеСтроки <> Неопределено Тогда
мТекущееФизЛицо = ТекущиеДанныеСтроки.ФизЛицо;
КонецЕсли;
КонецПроцедуры
Процедура РаботникиОрганизацииПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
мТекущееФизЛицо = Неопределено;
КонецПроцедуры
Процедура РаботникиОрганизацииОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ТипЗнч(ВыбранноеЗначение) <> Тип("СправочникСсылка.ФизическиеЛица") Тогда
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
Физлицо = ВыбранноеЗначение;
Если РаботникиОрганизации.НайтиСтроки(Новый Структура("ФизЛицо", ФизЛицо)).Количество() = 0 Тогда
СтрокаТабличнойЧасти = РаботникиОрганизации.Добавить();
СтрокаТабличнойЧасти.Физлицо = Физлицо;
СрезФИО = РегистрыСведений.ФИОФизЛиц.СрезПоследних(ТекущаяДата(), Новый Структура("ФизЛицо", Физлицо));
Если СрезФИО.Количество() > 0 Тогда
СтрокаТабличнойЧасти.ЭмбоссированныйТекст1 = СрезФИО[ 0 ].Имя;
СтрокаТабличнойЧасти.ЭмбоссированныйТекст2 = СрезФИО[ 0 ].Фамилия;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ТАБЛИЧНОГО ПОЛЯ РаботникиОрганизации
Процедура РаботникиОрганизацииФизЛицоПриИзменении(Элемент)
ДанныеТекущегоРаботникаОрганизации = ЭлементыФормы.РаботникиОрганизации.ТекущиеДанные;
ЗаполнитьЭмбосированныйТекст = Ложь;
Если ДанныеТекущегоРаботникаОрганизации <> Неопределено Тогда
Если ПустаяСтрока(ДанныеТекущегоРаботникаОрганизации.ЭмбоссированныйТекст1) Тогда
ЗаполнитьЭмбосированныйТекст = Истина;
Иначе
Если мТекущееФизЛицо <> Неопределено Тогда
СрезФИО = РегистрыСведений.ФИОФизЛиц.СрезПоследних(ТекущаяДата(), Новый Структура("ФизЛицо", мТекущееФизЛицо));
Если СрезФИО.Количество() > 0 Тогда
Если (ДанныеТекущегоРаботникаОрганизации.ЭмбоссированныйТекст1 = СрезФИО[ 0 ].Имя)
И (ДанныеТекущегоРаботникаОрганизации.ЭмбоссированныйТекст2 = СрезФИО[ 0 ].Фамилия) Тогда
ЗаполнитьЭмбосированныйТекст = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ЗаполнитьЭмбосированныйТекст Тогда
СрезФИО = РегистрыСведений.ФИОФизЛиц.СрезПоследних(ТекущаяДата(), Новый Структура("ФизЛицо", Элемент.Значение));
Если СрезФИО.Количество() > 0 Тогда
ДанныеТекущегоРаботникаОрганизации.ЭмбоссированныйТекст1 = СрезФИО[ 0 ].Имя;
ДанныеТекущегоРаботникаОрганизации.ЭмбоссированныйТекст2 = СрезФИО[ 0 ].Фамилия;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ
|
|
|