Универсальные процедуры и функции » История » Версия 35
Всеволод Дорофеев, 17.10.2022 02:06
1 | 1 | Всеволод Дорофеев | h1. Универсальные процедуры и функции |
---|---|---|---|
2 | 1 | Всеволод Дорофеев | |
3 | 29 | Всеволод Дорофеев | {{TOC}} |
4 | 29 | Всеволод Дорофеев | |
5 | 34 | Всеволод Дорофеев | |
6 | 34 | Всеволод Дорофеев | h2. Права и роли |
7 | 34 | Всеволод Дорофеев | |
8 | 34 | Всеволод Дорофеев | <pre> |
9 | 34 | Всеволод Дорофеев | УправлениеДоступом.ЕстьРоль( |
10 | 35 | Всеволод Дорофеев | ЕстьПраво |
11 | 35 | Всеволод Дорофеев | ЧтениеРазрешено |
12 | 35 | Всеволод Дорофеев | ИзменениеРазрешено |
13 | 35 | Всеволод Дорофеев | |
14 | 34 | Всеволод Дорофеев | </pre> |
15 | 34 | Всеволод Дорофеев | |
16 | 34 | Всеволод Дорофеев | h2. Прочее |
17 | 34 | Всеволод Дорофеев | |
18 | 30 | Всеволод Дорофеев | {{collapse(h3. Процедуры и функции общего назначения) |
19 | 30 | Всеволод Дорофеев | |
20 | 23 | Всеволод Дорофеев | h3. Процедуры и функции общего назначения |
21 | 23 | Всеволод Дорофеев | |
22 | 23 | Всеволод Дорофеев | <pre> |
23 | 23 | Всеволод Дорофеев | КонтактноеЛицо = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователи.ТекущийПользователь(), "ФизическоеЛицо"); |
24 | 1 | Всеволод Дорофеев | </pre> |
25 | 30 | Всеволод Дорофеев | }} |
26 | 34 | Всеволод Дорофеев | |
27 | 34 | Всеволод Дорофеев | |
28 | 20 | Всеволод Дорофеев | h3. Проверить, что описание типа состоит из единственного типа значения и совпадает с нужным типом. |
29 | 20 | Всеволод Дорофеев | |
30 | 20 | Всеволод Дорофеев | <pre> |
31 | 20 | Всеволод Дорофеев | // Проверить, что описание типа состоит из единственного типа значения и |
32 | 20 | Всеволод Дорофеев | // совпадает с нужным типом. |
33 | 20 | Всеволод Дорофеев | // |
34 | 20 | Всеволод Дорофеев | // Возвращаемое значение: |
35 | 20 | Всеволод Дорофеев | // Булево - Совпадает или нет |
36 | 20 | Всеволод Дорофеев | // |
37 | 20 | Всеволод Дорофеев | Функция ОписаниеТипаСостоитИзТипа(ОписаниеТипа, ТипЗначения) Экспорт |
38 | 20 | Всеволод Дорофеев | |
39 | 20 | Всеволод Дорофеев | Если ОписаниеТипа.Типы().Количество() = 1 |
40 | 20 | Всеволод Дорофеев | И ОписаниеТипа.Типы().Получить(0) = ТипЗначения Тогда |
41 | 20 | Всеволод Дорофеев | Возврат Истина; |
42 | 20 | Всеволод Дорофеев | КонецЕсли; |
43 | 20 | Всеволод Дорофеев | |
44 | 20 | Всеволод Дорофеев | Возврат Ложь; |
45 | 20 | Всеволод Дорофеев | |
46 | 20 | Всеволод Дорофеев | КонецФункции |
47 | 20 | Всеволод Дорофеев | </pre> |
48 | 21 | Всеволод Дорофеев | УТ11: |
49 | 21 | Всеволод Дорофеев | <pre> |
50 | 21 | Всеволод Дорофеев | ОписаниеСвойства.Булево = ОбщегоНазначения.ОписаниеТипаСостоитИзТипа(ТипЗначенияСвойства, Тип("Булево")); |
51 | 21 | Всеволод Дорофеев | </pre> |
52 | 20 | Всеволод Дорофеев | |
53 | 22 | Всеволод Дорофеев | h3. Функция ЕстьРеквизитОбъекта - проверяет наличие у произвольного объекта реквизита с указанным именем (УТ11.ОбщегоНазначенияУТКлиентСервер) |
54 | 22 | Всеволод Дорофеев | |
55 | 22 | Всеволод Дорофеев | <pre> |
56 | 22 | Всеволод Дорофеев | #Область МетодыРаботыСРеквизитамиОбъектов |
57 | 22 | Всеволод Дорофеев | |
58 | 22 | Всеволод Дорофеев | // Проверяет наличие у произвольного объекта реквизита с указанным именем. |
59 | 22 | Всеволод Дорофеев | // |
60 | 22 | Всеволод Дорофеев | Функция ЕстьРеквизитОбъекта(Объект, ИмяРеквизита) Экспорт |
61 | 22 | Всеволод Дорофеев | |
62 | 22 | Всеволод Дорофеев | КлючУникальности = Новый УникальныйИдентификатор; |
63 | 22 | Всеволод Дорофеев | СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); |
64 | 22 | Всеволод Дорофеев | |
65 | 22 | Всеволод Дорофеев | ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); |
66 | 22 | Всеволод Дорофеев | |
67 | 22 | Всеволод Дорофеев | Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; |
68 | 22 | Всеволод Дорофеев | |
69 | 22 | Всеволод Дорофеев | КонецФункции |
70 | 22 | Всеволод Дорофеев | |
71 | 22 | Всеволод Дорофеев | #КонецОбласти |
72 | 22 | Всеволод Дорофеев | </pre> |
73 | 22 | Всеволод Дорофеев | |
74 | 1 | Всеволод Дорофеев | h3. Проверка битых ссылок |
75 | 1 | Всеволод Дорофеев | |
76 | 1 | Всеволод Дорофеев | <pre> |
77 | 1 | Всеволод Дорофеев | ЭтоБитаяСсылка = не ЗначениеЗаполнено(Ссылка.ВерсияДанных); |
78 | 1 | Всеволод Дорофеев | </pre> |
79 | 1 | Всеволод Дорофеев | |
80 | 2 | Всеволод Дорофеев | h3. МенеджерИсторииРаботыПользователя |
81 | 3 | Всеволод Дорофеев | |
82 | 4 | Всеволод Дорофеев | <pre> |
83 | 4 | Всеволод Дорофеев | // Добавить событие в историю работы пользователя |
84 | 4 | Всеволод Дорофеев | ИсторияРаботыПользователя.Добавить(ПолучитьНавигационнуюСсылку(Объект.Ссылка)); |
85 | 4 | Всеволод Дорофеев | </pre> |
86 | 4 | Всеволод Дорофеев | |
87 | 3 | Всеволод Дорофеев | h3. ОтображениеСостояния |
88 | 5 | Всеволод Дорофеев | |
89 | 5 | Всеволод Дорофеев | h3. Очистка окна сообщений |
90 | 5 | Всеволод Дорофеев | |
91 | 5 | Всеволод Дорофеев | Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. |
92 | 5 | Всеволод Дорофеев | Пример: |
93 | 5 | Всеволод Дорофеев | <pre> |
94 | 5 | Всеволод Дорофеев | ОчиститьСообщения(); |
95 | 5 | Всеволод Дорофеев | </pre> |
96 | 6 | Всеволод Дорофеев | |
97 | 8 | Всеволод Дорофеев | h3. Отбор в таблице значений (табличной части) с помощью построителя запроса |
98 | 6 | Всеволод Дорофеев | |
99 | 6 | Всеволод Дорофеев | <pre> |
100 | 6 | Всеволод Дорофеев | &НаСервере |
101 | 8 | Всеволод Дорофеев | Функция ПолучитьКоличествоПодобраноПоСтрокеНаСервере(ИсходнаяНоменклатура) |
102 | 6 | Всеволод Дорофеев | |
103 | 6 | Всеволод Дорофеев | ПостроительЗапр = Новый ПостроительЗапроса; |
104 | 8 | Всеволод Дорофеев | ПостроительЗапр.ИсточникДанных = Новый ОписаниеИсточникаДанных(Объект.НоваяНоменклатура.Выгрузить()); |
105 | 8 | Всеволод Дорофеев | Отбор = ПостроительЗапр.Отбор.Добавить("ИсходнаяНоменклатура"); |
106 | 8 | Всеволод Дорофеев | Отбор.ВидСравнения = ВидСравнения.Равно; |
107 | 8 | Всеволод Дорофеев | Отбор.Значение = ИсходнаяНоменклатура; |
108 | 8 | Всеволод Дорофеев | Отбор.Использование = Истина; |
109 | 6 | Всеволод Дорофеев | ПостроительЗапр.Выполнить(); |
110 | 8 | Всеволод Дорофеев | ПостроительЗапр.Результат.Выгрузить().Итог("Количество"); |
111 | 6 | Всеволод Дорофеев | |
112 | 8 | Всеволод Дорофеев | КонецФункции |
113 | 6 | Всеволод Дорофеев | </pre> |
114 | 9 | Всеволод Дорофеев | |
115 | 10 | Всеволод Дорофеев | h3. Запись справочника |
116 | 9 | Всеволод Дорофеев | |
117 | 9 | Всеволод Дорофеев | <pre> |
118 | 9 | Всеволод Дорофеев | Функция ЗаписатьСправочник(ТекущийОбъект,Заголовок="",РежимСообщений="Все",РежимЗагрузки=Ложь) Экспорт |
119 | 9 | Всеволод Дорофеев | |
120 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Ложь; |
121 | 9 | Всеволод Дорофеев | |
122 | 9 | Всеволод Дорофеев | ВыводитьОшибки = ?(РежимСообщений="Все" ИЛИ РежимСообщений="Ошибки",Истина,Ложь); |
123 | 9 | Всеволод Дорофеев | ВыводитьИнформацию = ?(РежимСообщений="Все",Истина,Ложь); |
124 | 9 | Всеволод Дорофеев | |
125 | 9 | Всеволод Дорофеев | Попытка |
126 | 9 | Всеволод Дорофеев | Если РежимЗагрузки Тогда |
127 | 9 | Всеволод Дорофеев | ТекущийОбъект.ОбменДанными.Загрузка = Истина; |
128 | 9 | Всеволод Дорофеев | КонецЕсли; |
129 | 9 | Всеволод Дорофеев | ТекущийОбъект.Записать(); |
130 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Истина; |
131 | 9 | Всеволод Дорофеев | Если ВыводитьИнформацию Тогда |
132 | 9 | Всеволод Дорофеев | ТекстСообщения = "Записан справочник """+ТекущийОбъект.Ссылка+""". "; |
133 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Информация); |
134 | 9 | Всеволод Дорофеев | КонецЕсли; |
135 | 9 | Всеволод Дорофеев | Исключение |
136 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Ложь; |
137 | 9 | Всеволод Дорофеев | Если ВыводитьОшибки Тогда |
138 | 9 | Всеволод Дорофеев | ТекстСообщения = "Не удалось записать справочник """+ТекущийОбъект.Ссылка+""". "+ОписаниеОшибки(); |
139 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Важное); |
140 | 9 | Всеволод Дорофеев | КонецЕсли; |
141 | 9 | Всеволод Дорофеев | КонецПопытки; |
142 | 9 | Всеволод Дорофеев | |
143 | 9 | Всеволод Дорофеев | Возврат ДействиеВыполнено; |
144 | 9 | Всеволод Дорофеев | КонецФункции //ЗаписатьПровестиДокумент() |
145 | 9 | Всеволод Дорофеев | </pre> |
146 | 9 | Всеволод Дорофеев | |
147 | 9 | Всеволод Дорофеев | |
148 | 9 | Всеволод Дорофеев | |
149 | 9 | Всеволод Дорофеев | h3. Запись и проведение документа |
150 | 9 | Всеволод Дорофеев | |
151 | 9 | Всеволод Дорофеев | <pre> |
152 | 9 | Всеволод Дорофеев | // Процедура выполняет запись/проведение/отмену проведения документа. |
153 | 9 | Всеволод Дорофеев | // |
154 | 9 | Всеволод Дорофеев | // Параметры: |
155 | 9 | Всеволод Дорофеев | // ТекущийОбъект – ДокументОбъект,СправочникОбъект. |
156 | 9 | Всеволод Дорофеев | // РежимЗаписи - РежимЗаписиДокумента. |
157 | 9 | Всеволод Дорофеев | // Заголовок - Строка. |
158 | 9 | Всеволод Дорофеев | // РежимСообщений - Строка: "Нет","Все","Ошибки". |
159 | 9 | Всеволод Дорофеев | // |
160 | 9 | Всеволод Дорофеев | // Возвращаемое значение: |
161 | 9 | Всеволод Дорофеев | // ДействиеВыполнено – Булево. |
162 | 9 | Всеволод Дорофеев | // |
163 | 9 | Всеволод Дорофеев | Функция ЗаписатьПровестиДокумент(ТекущийОбъект,РежимЗаписи,Заголовок="",РежимСообщений="Все") Экспорт |
164 | 9 | Всеволод Дорофеев | |
165 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Ложь; |
166 | 9 | Всеволод Дорофеев | |
167 | 9 | Всеволод Дорофеев | ВыводитьОшибки = ?(РежимСообщений="Все" ИЛИ РежимСообщений="Ошибки",Истина,Ложь); |
168 | 9 | Всеволод Дорофеев | ВыводитьИнформацию = ?(РежимСообщений="Все",Истина,Ложь); |
169 | 9 | Всеволод Дорофеев | |
170 | 9 | Всеволод Дорофеев | Если РежимЗаписи = РежимЗаписиДокумента.Запись ИЛИ РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда |
171 | 9 | Всеволод Дорофеев | |
172 | 9 | Всеволод Дорофеев | Попытка |
173 | 9 | Всеволод Дорофеев | |
174 | 9 | Всеволод Дорофеев | ТекущийОбъект.Записать(РежимЗаписиДокумента.Запись); |
175 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Истина; |
176 | 9 | Всеволод Дорофеев | Если ВыводитьИнформацию Тогда |
177 | 9 | Всеволод Дорофеев | ТекстСообщения = "Записан документ """+ТекущийОбъект.Ссылка+""". "; |
178 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Информация); |
179 | 9 | Всеволод Дорофеев | КонецЕсли; |
180 | 9 | Всеволод Дорофеев | Исключение |
181 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Ложь; |
182 | 9 | Всеволод Дорофеев | Если ВыводитьОшибки Тогда |
183 | 9 | Всеволод Дорофеев | ТекстСообщения = "Не удалось записать документ """+ТекущийОбъект.Ссылка+""". "+ОписаниеОшибки(); |
184 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Важное); |
185 | 9 | Всеволод Дорофеев | КонецЕсли; |
186 | 9 | Всеволод Дорофеев | КонецПопытки; |
187 | 9 | Всеволод Дорофеев | |
188 | 9 | Всеволод Дорофеев | КонецЕсли; |
189 | 9 | Всеволод Дорофеев | |
190 | 9 | Всеволод Дорофеев | Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда |
191 | 9 | Всеволод Дорофеев | |
192 | 9 | Всеволод Дорофеев | Попытка |
193 | 9 | Всеволод Дорофеев | |
194 | 9 | Всеволод Дорофеев | ТекущийОбъект.Записать(РежимЗаписиДокумента.Проведение); |
195 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Истина; |
196 | 9 | Всеволод Дорофеев | Если ВыводитьИнформацию Тогда |
197 | 9 | Всеволод Дорофеев | ТекстСообщения = "Проведен документ """+ТекущийОбъект.Ссылка+""". "; |
198 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Информация); |
199 | 9 | Всеволод Дорофеев | КонецЕсли; |
200 | 9 | Всеволод Дорофеев | Исключение |
201 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Ложь; |
202 | 9 | Всеволод Дорофеев | Если ВыводитьОшибки Тогда |
203 | 9 | Всеволод Дорофеев | ТекстСообщения = "Не удалось провести документ """+ТекущийОбъект.Ссылка+""". "+ОписаниеОшибки(); |
204 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Важное); |
205 | 9 | Всеволод Дорофеев | КонецЕсли; |
206 | 9 | Всеволод Дорофеев | КонецПопытки; |
207 | 9 | Всеволод Дорофеев | |
208 | 9 | Всеволод Дорофеев | КонецЕсли; |
209 | 9 | Всеволод Дорофеев | |
210 | 9 | Всеволод Дорофеев | Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда |
211 | 9 | Всеволод Дорофеев | |
212 | 9 | Всеволод Дорофеев | Попытка |
213 | 9 | Всеволод Дорофеев | ТекущийОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения); |
214 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Истина; |
215 | 9 | Всеволод Дорофеев | Если ВыводитьИнформацию Тогда |
216 | 9 | Всеволод Дорофеев | ТекстСообщения = "Отменено проведение документа """+ТекущийОбъект.Ссылка+""". "; |
217 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Информация); |
218 | 9 | Всеволод Дорофеев | КонецЕсли; |
219 | 9 | Всеволод Дорофеев | Исключение |
220 | 9 | Всеволод Дорофеев | ДействиеВыполнено = Ложь; |
221 | 9 | Всеволод Дорофеев | Если ВыводитьОшибки Тогда |
222 | 9 | Всеволод Дорофеев | ТекстСообщения = "Не удалось отменить проведение документа """+ТекущийОбъект.Ссылка+""". "+ОписаниеОшибки(); |
223 | 9 | Всеволод Дорофеев | СообщитьОбОшибке(ТекстСообщения,,Заголовок,СтатусСообщения.Важное); |
224 | 9 | Всеволод Дорофеев | КонецЕсли; |
225 | 9 | Всеволод Дорофеев | КонецПопытки; |
226 | 9 | Всеволод Дорофеев | |
227 | 9 | Всеволод Дорофеев | КонецЕсли; |
228 | 9 | Всеволод Дорофеев | |
229 | 9 | Всеволод Дорофеев | Возврат ДействиеВыполнено; |
230 | 9 | Всеволод Дорофеев | КонецФункции // ЗаписатьПровестиДокумент() |
231 | 9 | Всеволод Дорофеев | |
232 | 9 | Всеволод Дорофеев | </pre> |
233 | 11 | Всеволод Дорофеев | |
234 | 11 | Всеволод Дорофеев | h3. Проверка на пустую дату |
235 | 11 | Всеволод Дорофеев | |
236 | 11 | Всеволод Дорофеев | Пустая дата |
237 | 11 | Всеволод Дорофеев | <pre> |
238 | 11 | Всеволод Дорофеев | Дата("00010101"); |
239 | 12 | Всеволод Дорофеев | Дата(1, 1, 1); |
240 | 12 | Всеволод Дорофеев | Дата("00010101000000"); |
241 | 12 | Всеволод Дорофеев | Дата("0001-01-01"); |
242 | 11 | Всеволод Дорофеев | </pre> |
243 | 13 | Всеволод Дорофеев | |
244 | 28 | Всеволод Дорофеев | |
245 | 28 | Всеволод Дорофеев | h3. Создание пустой таблицы значение на основании табличной части Документа |
246 | 28 | Всеволод Дорофеев | |
247 | 28 | Всеволод Дорофеев | <pre> |
248 | 28 | Всеволод Дорофеев | Товары = Документы.ПоступлениеТоваровУслуг.ПустаяСсылка().Товары.ВыгрузитьКолонки(); |
249 | 28 | Всеволод Дорофеев | </pre> |
250 | 28 | Всеволод Дорофеев | |
251 | 14 | Всеволод Дорофеев | h3. Создание структуры со свойствами, как колонки таблицы, переданной строки |
252 | 13 | Всеволод Дорофеев | |
253 | 13 | Всеволод Дорофеев | <pre> |
254 | 13 | Всеволод Дорофеев | // Функция СтрокаТаблицыЗначенийВСтруктуру создает |
255 | 13 | Всеволод Дорофеев | // структуру со свойствами, как колонки таблицы |
256 | 13 | Всеволод Дорофеев | // значений передаваемой строки |
257 | 13 | Всеволод Дорофеев | // и устанавливает этим свойствам значения |
258 | 13 | Всеволод Дорофеев | // из строки таблицы значений. |
259 | 13 | Всеволод Дорофеев | // |
260 | 13 | Всеволод Дорофеев | // Параметры: |
261 | 13 | Всеволод Дорофеев | // СтрокаТаблицыЗначений - СтрокаТаблицыЗначений. |
262 | 13 | Всеволод Дорофеев | // |
263 | 13 | Всеволод Дорофеев | // ВозвращаемоеЗначение: |
264 | 13 | Всеволод Дорофеев | // Структура |
265 | 13 | Всеволод Дорофеев | // |
266 | 13 | Всеволод Дорофеев | Функция СтрокаТаблицыЗначенийВСтруктуру(СтрокаТаблицыЗначений) Экспорт |
267 | 13 | Всеволод Дорофеев | |
268 | 13 | Всеволод Дорофеев | Структура = Новый Структура; |
269 | 13 | Всеволод Дорофеев | Для каждого Колонка Из СтрокаТаблицыЗначений.Владелец().Колонки Цикл |
270 | 13 | Всеволод Дорофеев | Структура.Вставить(Колонка.Имя, СтрокаТаблицыЗначений[Колонка.Имя]); |
271 | 13 | Всеволод Дорофеев | КонецЦикла; |
272 | 13 | Всеволод Дорофеев | |
273 | 13 | Всеволод Дорофеев | Возврат Структура; |
274 | 13 | Всеволод Дорофеев | |
275 | 13 | Всеволод Дорофеев | КонецФункции |
276 | 13 | Всеволод Дорофеев | |
277 | 13 | Всеволод Дорофеев | </pre> |
278 | 15 | Всеволод Дорофеев | |
279 | 15 | Всеволод Дорофеев | h3. Загрузка таблицы/соответствия из макета с помощью построителя отчета |
280 | 15 | Всеволод Дорофеев | |
281 | 15 | Всеволод Дорофеев | <pre> |
282 | 15 | Всеволод Дорофеев | Функция ЗаполнитьСоответствиеИзМакета(ИмяМакета) |
283 | 15 | Всеволод Дорофеев | |
284 | 15 | Всеволод Дорофеев | Макет = ПолучитьМакет(ИмяМакета); |
285 | 15 | Всеволод Дорофеев | ПостроительЗапроса = Новый ПостроительЗапроса; |
286 | 15 | Всеволод Дорофеев | ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(Макет.Область()); |
287 | 15 | Всеволод Дорофеев | ТЗ = ПостроительЗапроса.Результат.Выгрузить(); |
288 | 15 | Всеволод Дорофеев | |
289 | 15 | Всеволод Дорофеев | Результат = Новый Соответствие; |
290 | 15 | Всеволод Дорофеев | Для каждого Стр Из ТЗ Цикл |
291 | 15 | Всеволод Дорофеев | Результат.Вставить(Стр.Колонка1, Стр.Колонка2); |
292 | 15 | Всеволод Дорофеев | КонецЦикла; |
293 | 15 | Всеволод Дорофеев | |
294 | 15 | Всеволод Дорофеев | Возврат Результат; |
295 | 15 | Всеволод Дорофеев | |
296 | 15 | Всеволод Дорофеев | КонецФункции |
297 | 15 | Всеволод Дорофеев | |
298 | 15 | Всеволод Дорофеев | </pre> |
299 | 16 | Всеволод Дорофеев | |
300 | 26 | Всеволод Дорофеев | h3. Получение прописью месяца в родительном падеже |
301 | 26 | Всеволод Дорофеев | |
302 | 26 | Всеволод Дорофеев | <pre> |
303 | 26 | Всеволод Дорофеев | ОбластьТела.Параметры.ДатаУдостоверенияМесяц = Сред(Формат(ДатаУдостоверения, "ДФ=ddMMMM"),3); |
304 | 26 | Всеволод Дорофеев | </pre> |
305 | 26 | Всеволод Дорофеев | |
306 | 27 | Всеволод Дорофеев | |
307 | 27 | Всеволод Дорофеев | h3. Число прописью |
308 | 27 | Всеволод Дорофеев | |
309 | 27 | Всеволод Дорофеев | <pre> |
310 | 27 | Всеволод Дорофеев | // |
311 | 27 | Всеволод Дорофеев | ЧислоПрописью(СтруктураОснований.Сумма, "Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2"); |
312 | 27 | Всеволод Дорофеев | |
313 | 27 | Всеволод Дорофеев | //без дробной части |
314 | 27 | Всеволод Дорофеев | Числопрописью = ЧислоПрописью(ДанныеПечати.МассаБрутто, "Л=ru_RU; НП=Ложь",",,,,,,,,0") |
315 | 27 | Всеволод Дорофеев | </pre> |
316 | 27 | Всеволод Дорофеев | |
317 | 27 | Всеволод Дорофеев | h3. Склонения по падежам |
318 | 27 | Всеволод Дорофеев | |
319 | 27 | Всеволод Дорофеев | https://spb.koderline.ru/expert/programming/article-sklonenie-v-1s/#jakor6 |
320 | 27 | Всеволод Дорофеев | |
321 | 27 | Всеволод Дорофеев | <pre> |
322 | 27 | Всеволод Дорофеев | //Возвращает массив |
323 | 27 | Всеволод Дорофеев | Массив = ПолучитьСклоненияСтрокиПоЧислу("место", ДанныеПечати.ссылка.г_КоличествоМестТН, "", "ЧС=Количественное", "ПД=Именительный") |
324 | 27 | Всеволод Дорофеев | </pre> |
325 | 27 | Всеволод Дорофеев | |
326 | 16 | Всеволод Дорофеев | h3. Варианты преобразования даты из строки (конвертация строки в дату) |
327 | 16 | Всеволод Дорофеев | |
328 | 16 | Всеволод Дорофеев | Проще всего преобразовать строку вида «20151215204222» используя метод «Дата»: |
329 | 16 | Всеволод Дорофеев | |
330 | 16 | Всеволод Дорофеев | Дата(«20151215204222») // 15.12.2015 20:42:22 |
331 | 16 | Всеволод Дорофеев | |
332 | 16 | Всеволод Дорофеев | Со строкой «15.12.2015 20:42:22» также прекрасно справляется типовой метод: |
333 | 16 | Всеволод Дорофеев | |
334 | 16 | Всеволод Дорофеев | Дата(«15.12.2015 20:42:22») //15.12.2015 20:42:22 |
335 | 16 | Всеволод Дорофеев | |
336 | 16 | Всеволод Дорофеев | Второй вариант, если мы знаем отдельные составляющие даты в строковом формате: год, месяц, день и т.д: |
337 | 16 | Всеволод Дорофеев | |
338 | 16 | Всеволод Дорофеев | Дата(«2015″,»12″,»15″,»20″,»42″,»22») // 15.12.2015 20:42:22 |
339 | 16 | Всеволод Дорофеев | |
340 | 16 | Всеволод Дорофеев | Пример преобразования строки вида «2015-12-15 20:42:22»: |
341 | 16 | Всеволод Дорофеев | |
342 | 16 | Всеволод Дорофеев | СтроковаяДата = «2015-12-15 20:42:22»; |
343 | 16 | Всеволод Дорофеев | СтроковаяДата = СтрЗаменить(СтроковаяДата , «-«,»»); |
344 | 16 | Всеволод Дорофеев | СтроковаяДата = СтрЗаменить(СтроковаяДата , «:»,»»); |
345 | 16 | Всеволод Дорофеев | НоваяДата = Дата(СтроковаяДата ); // 15.12.2015 20:42:22 |
346 | 16 | Всеволод Дорофеев | |
347 | 16 | Всеволод Дорофеев | Если дата указан так «20:42:22 2015/12/15» можно преобразовать её следующим образом: |
348 | 16 | Всеволод Дорофеев | |
349 | 16 | Всеволод Дорофеев | СтроковаяДата = «20:42:22 2015/12/15»; |
350 | 16 | Всеволод Дорофеев | СтроковаяДата = СтрЗаменить(СтроковаяДата , «/»,»»); |
351 | 16 | Всеволод Дорофеев | СтроковаяДата = СтрЗаменить(СтроковаяДата , «:»,»»); |
352 | 16 | Всеволод Дорофеев | НоваяДата = Дата(Прав(СтроковаяДата , 8) + Лев(СтроковаяДата ,6)); |
353 | 17 | Всеволод Дорофеев | |
354 | 17 | Всеволод Дорофеев | h3. Генератор случайных чисел |
355 | 17 | Всеволод Дорофеев | |
356 | 17 | Всеволод Дорофеев | <pre> |
357 | 17 | Всеволод Дорофеев | ГСЧ = Новый ГенераторСлучайныхЧисел(); |
358 | 17 | Всеволод Дорофеев | СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 100000); |
359 | 17 | Всеволод Дорофеев | </pre> |
360 | 18 | Всеволод Дорофеев | |
361 | 18 | Всеволод Дорофеев | h3. Пересохранение книги в Эксель (Excel) с отображением листов |
362 | 18 | Всеволод Дорофеев | |
363 | 18 | Всеволод Дорофеев | http://infostart.ru/public/323606/ |
364 | 18 | Всеволод Дорофеев | Код: |
365 | 18 | Всеволод Дорофеев | |
366 | 18 | Всеволод Дорофеев | Для v8: |
367 | 18 | Всеволод Дорофеев | |
368 | 18 | Всеволод Дорофеев | <pre> |
369 | 18 | Всеволод Дорофеев | ТабДокумент.Записать(ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLS); |
370 | 18 | Всеволод Дорофеев | |
371 | 18 | Всеволод Дорофеев | Excel = Новый COMОбъект("Excel.Application"); |
372 | 18 | Всеволод Дорофеев | Excel.WorkBooks.Open(ПолноеИмяФайла); |
373 | 18 | Всеволод Дорофеев | Excel.Visible = 0; |
374 | 18 | Всеволод Дорофеев | |
375 | 18 | Всеволод Дорофеев | Excel.ActiveWindow.DisplayWorkbookTabs = 1; |
376 | 18 | Всеволод Дорофеев | Excel.ActiveWindow.TabRatio = 0.6; |
377 | 18 | Всеволод Дорофеев | |
378 | 18 | Всеволод Дорофеев | FullName = Excel.ActiveWorkbook.FullName; |
379 | 18 | Всеволод Дорофеев | Excel.DisplayAlerts = false; |
380 | 18 | Всеволод Дорофеев | Excel.ActiveWorkbook.SaveAs(FullName, 18); // 18 - xls 97-2003; 51 - xlsx 2007-2013 |
381 | 18 | Всеволод Дорофеев | |
382 | 18 | Всеволод Дорофеев | //Excel.Visible = 1; // если нужно поработать дальше с книгой |
383 | 18 | Всеволод Дорофеев | //Excel.Application.Quit() // если просто выходим |
384 | 18 | Всеволод Дорофеев | </pre> |
385 | 18 | Всеволод Дорофеев | |
386 | 18 | Всеволод Дорофеев | Для v7.7: |
387 | 18 | Всеволод Дорофеев | |
388 | 18 | Всеволод Дорофеев | <pre> |
389 | 18 | Всеволод Дорофеев | |
390 | 18 | Всеволод Дорофеев | ТабДокумент.Записать(ПолноеИмяФайла, "XLS"); |
391 | 18 | Всеволод Дорофеев | |
392 | 18 | Всеволод Дорофеев | Excel = СоздатьОбъект("Excel.Application"); |
393 | 18 | Всеволод Дорофеев | Excel.WorkBooks.Open(ПолноеИмяФайла); |
394 | 18 | Всеволод Дорофеев | Excel.Visible = 0; |
395 | 18 | Всеволод Дорофеев | |
396 | 18 | Всеволод Дорофеев | Excel.ActiveWindow.DisplayWorkbookTabs = 1; |
397 | 18 | Всеволод Дорофеев | Excel.ActiveWindow.TabRatio = 0.6; |
398 | 18 | Всеволод Дорофеев | |
399 | 18 | Всеволод Дорофеев | FullName = Excel.ActiveWorkbook.FullName; |
400 | 18 | Всеволод Дорофеев | Excel.DisplayAlerts = false; |
401 | 18 | Всеволод Дорофеев | Excel.ActiveWorkbook.SaveAs(FullName, 18); // 18 - xls 97-2003; 51 - xlsx 2007-2013 |
402 | 18 | Всеволод Дорофеев | |
403 | 18 | Всеволод Дорофеев | //Excel.Visible = 1; // если нужно поработать дальше с книгой |
404 | 18 | Всеволод Дорофеев | //Excel.Application.Quit() // если просто выходим |
405 | 18 | Всеволод Дорофеев | </pre> |
406 | 24 | Всеволод Дорофеев | |
407 | 24 | Всеволод Дорофеев | h3. Функция ВернутьТолькоЦифры |
408 | 24 | Всеволод Дорофеев | |
409 | 24 | Всеволод Дорофеев | <pre> |
410 | 24 | Всеволод Дорофеев | Функция ВернутьТолькоЦифры(прСтрока) |
411 | 24 | Всеволод Дорофеев | |
412 | 25 | Всеволод Дорофеев | Рез = ""; |
413 | 24 | Всеволод Дорофеев | Для п = 1 По СтрДлина(прСтрока) Цикл |
414 | 24 | Всеволод Дорофеев | Симв = Сред(прСтрока, п, 1); |
415 | 24 | Всеволод Дорофеев | Если Симв>="0" И Симв<="9" Тогда |
416 | 25 | Всеволод Дорофеев | Рез = Рез + Симв; |
417 | 24 | Всеволод Дорофеев | КонецЕсли; |
418 | 24 | Всеволод Дорофеев | КонецЦикла; |
419 | 24 | Всеволод Дорофеев | |
420 | 25 | Всеволод Дорофеев | Возврат Рез; |
421 | 24 | Всеволод Дорофеев | |
422 | 24 | Всеволод Дорофеев | КонецФункции |
423 | 24 | Всеволод Дорофеев | </pre> |
424 | 31 | Всеволод Дорофеев | |
425 | 31 | Всеволод Дорофеев | h3. Установить новую ссылку для еще не записанного объекта. |
426 | 31 | Всеволод Дорофеев | |
427 | 31 | Всеволод Дорофеев | Например, в модуле объекта |
428 | 31 | Всеволод Дорофеев | |
429 | 31 | Всеволод Дорофеев | <pre> |
430 | 31 | Всеволод Дорофеев | |
431 | 31 | Всеволод Дорофеев | Если ЭтоНовый() Тогда |
432 | 31 | Всеволод Дорофеев | |
433 | 31 | Всеволод Дорофеев | СсылкаНаОбъект = ПолучитьСсылкуНового(); |
434 | 31 | Всеволод Дорофеев | |
435 | 31 | Всеволод Дорофеев | Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда |
436 | 31 | Всеволод Дорофеев | |
437 | 31 | Всеволод Дорофеев | СсылкаНаОбъект = Документы.ЗаданиеНаПеревозку.ПолучитьСсылку(); |
438 | 31 | Всеволод Дорофеев | УстановитьСсылкуНового(СсылкаНаОбъект); |
439 | 31 | Всеволод Дорофеев | |
440 | 31 | Всеволод Дорофеев | КонецЕсли; |
441 | 31 | Всеволод Дорофеев | |
442 | 31 | Всеволод Дорофеев | Иначе |
443 | 31 | Всеволод Дорофеев | |
444 | 31 | Всеволод Дорофеев | СсылкаНаОбъект = Ссылка; |
445 | 31 | Всеволод Дорофеев | |
446 | 31 | Всеволод Дорофеев | КонецЕсли; |
447 | 31 | Всеволод Дорофеев | |
448 | 31 | Всеволод Дорофеев | </pre> |
449 | 32 | Всеволод Дорофеев | |
450 | 32 | Всеволод Дорофеев | h3. Получение документа (паспорт) физического лица |
451 | 32 | Всеволод Дорофеев | |
452 | 33 | Всеволод Дорофеев | #Паспорт #УТ11 ФизЛицо #РегистрСведений.ДокументыФизическихЛиц #Паспорт #Удостоверение |
453 | 32 | Всеволод Дорофеев | |
454 | 32 | Всеволод Дорофеев | |
455 | 32 | Всеволод Дорофеев | <pre> |
456 | 32 | Всеволод Дорофеев | ПаспортныеДанные = ?(ЗначениеЗаполнено(РезультатШапкаДокументов.Ссылка.Водитель), |
457 | 32 | Всеволод Дорофеев | ФизическиеЛицаУТ.ПолучитьДокументФизическогоЛицаПоУмолчанию(РезультатШапкаДокументов.Ссылка.Водитель,Справочники.ВидыДокументовФизическихЛиц.ПаспортРФ, РезультатШапкаДокументов.Дата), |
458 | 32 | Всеволод Дорофеев | ""); |
459 | 32 | Всеволод Дорофеев | |
460 | 32 | Всеволод Дорофеев | </pre> |