Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
wiki:1c:coding [2019/03/22 13:21] anton |
wiki:1c:coding [2024/05/08 02:04] (текущий) anton |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ==== Кодинг ==== | ==== Кодинг ==== | ||
| + | === Методика тестирования внешних обработок (дополнительные отчеты и обработки) === | ||
| + | < | ||
| + | # | ||
| + | |||
| + | // Процедура - Запуск отладки | ||
| + | // | ||
| + | // Параметры: | ||
| + | // АдресОбработки - " | ||
| + | // | ||
| + | Процедура ЗапускОтладки(АдресОбработки, | ||
| + | |||
| + | Если АдресОбработки <> ЭтотОбъект.ИспользуемоеИмяФайла Тогда | ||
| + | Обр = ВнешниеОбработки.Создать(АдресОбработки); | ||
| + | Обр.Печать(МассивОбъектов, | ||
| + | КонецЕсли; | ||
| + | |||
| + | КонецПроцедуры | ||
| + | |||
| + | # | ||
| + | |||
| + | # | ||
| + | |||
| + | Процедура Печать(МассивОбъектов, | ||
| + | |||
| + | // Отладка | ||
| + | // | ||
| + | КонецПроцедуры | ||
| + | # | ||
| + | </ | ||
| + | === Вывод ТЗ в печ форму === | ||
| + | < | ||
| + | // Возвращает табличный документ на основании таблицы значений | ||
| + | // | ||
| + | // Параметры: | ||
| + | // ДанныеВТабличныйДокумент - ТаблицаЗначений | ||
| + | // | ||
| + | & | ||
| + | Функция ДанныеТаблицыЗначенийВТабличныйДокумент(ДанныеВТабличныйДокумент) | ||
| + | |||
| + | ТабличныйДокумент = Новый ТабличныйДокумент; | ||
| + | Построитель = Новый ПостроительОтчета; | ||
| + | Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДанныеВТабличныйДокумент); | ||
| + | Построитель.Вывести(ТабличныйДокумент); | ||
| + | |||
| + | Возврат ТабличныйДокумент; | ||
| + | |||
| + | КонецФункции // ДанныеТаблицыЗначенийВТабличныйДокумент() | ||
| + | </ | ||
| === Изменение имени переменной в цикле === | === Изменение имени переменной в цикле === | ||
| Строка 58: | Строка 106: | ||
| === Прибавляет Нужное количество рабочих дней к дате === | === Прибавляет Нужное количество рабочих дней к дате === | ||
| - | [[https:// | + | [[https:// |
| < | < | ||
| | | ||
| - | | + | //Перем РабочихДней, |
| - | РабочихДней = 0; ОбычныхДней = 0; | + | РабочихДней = 0; |
| - | Пока РабочихДней < Число(КолвоДней) Цикл | + | ОбычныхДней = 0; |
| - | ОбычныхДней = ОбычныхДней+ 1; | + | Пока РабочихДней <= Число(КолвоДней) Цикл |
| - | | + | ОбычныхДней = ОбычныхДней+ 1; |
| - | ДеньНедели=ДеньНедели(НачДата+(ОбычныхДней*86400)); | + | // определим день недели |
| - | | + | ДеньНедели=ДеньНедели(НачДата+(ОбычныхДней*86400)); |
| - | Если ДеньНедели < 6 Тогда | + | // если не выходной, |
| - | РабочихДней=РабочихДней+1; | + | Если ДеньНедели < 6 Тогда |
| - | КонецЕсли; | + | РабочихДней=РабочихДней+1; |
| - | КонецЦикла; | + | КонецЕсли; |
| - | + | КонецЦикла; | |
| - | Возврат (НачДата + (РабочихДней*86400)); | + | |
| + | Возврат (НачДата + (ОбычныхДней*86400)); | ||
| КонецФункции | КонецФункции | ||
| + | </ | ||
| + | === Читает текст с разделителями в ТЗ === | ||
| + | Разделитель в данном случае - ";" | ||
| + | < | ||
| + | | ||
| + | Реализации = Новый ТаблицаЗначений; | ||
| + | Реализации.Колонки.Добавить(" | ||
| + | Реализации.Колонки.Добавить(" | ||
| + | Реализации.Колонки.Добавить(" | ||
| + | Реализации.Колонки.Добавить(" | ||
| + | // загрузим текст | ||
| + | Текст = Новый ТекстовыйДокумент; | ||
| + | Текст.Прочитать(ПутьКФайлу+" | ||
| + | КоличествоСтрок = Текст.КоличествоСтрок(); | ||
| + | Инд = 1; | ||
| + | Пока Инд <= КоличествоСтрок Цикл | ||
| + | Стр = СтрЗаменить(Текст.ПолучитьСтроку(Инд),";", | ||
| + | СтрТЗ = Реализации.Добавить(); | ||
| + | СтрТЗ.Номер = СокрЛП(СтрПолучитьСтроку(Стр, | ||
| + | СтрТЗ.Дата = СтрПолучитьСтроку(Стр, | ||
| + | СтрТЗ.Сумма = СтрПолучитьСтроку(Стр, | ||
| + | СтрТЗ.ИНН = СтрПолучитьСтроку(Стр, | ||
| + | Инд = Инд + 1; | ||
| + | КонецЦикла; | ||
| + | Возврат Реализации // возвращаем ТЗ | ||
| + | | ||
| + | </ | ||
| + | |||
| + | === Журналирование (Логирование) работы обработки в *.txt === | ||
| + | В имени файла слова должны идти через " | ||
| + | < | ||
| + | | ||
| + | Путь = ПутьКФайлу+" | ||
| + | Журнал = Новый ТекстовыйДокумент; | ||
| + | Журнал.ДобавитьСтроку(" | ||
| + | Журнал.Записать(Путь); | ||
| + | Возврат Журнал | ||
| + | | ||
| + | </ | ||
| + | === Генерация корректной ТЗ для запроса === | ||
| + | В имени файла слова должны идти через " | ||
| + | < | ||
| + | | ||
| + | // описание типов в тз | ||
| + | КС50 = Новый КвалификаторыСтроки(50); | ||
| + | КС100 = Новый КвалификаторыСтроки(100); | ||
| + | КЧ = Новый КвалификаторыЧисла(3, | ||
| + | Массив = Новый Массив; | ||
| + | Массив.Добавить(Тип(" | ||
| + | ОписаниеТиповС50 = Новый ОписаниеТипов(Массив, | ||
| + | Массив.Очистить(); | ||
| + | Массив.Добавить(Тип(" | ||
| + | ОписаниеТиповС100 = Новый ОписаниеТипов(Массив, | ||
| + | Массив.Очистить(); | ||
| + | Массив.Добавить(Тип(" | ||
| + | ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, | ||
| + | Товар = Новый ТаблицаЗначений; | ||
| + | Товар.Колонки.Добавить(" | ||
| + | Товар.Колонки.Добавить(" | ||
| + | Товар.Колонки.Добавить(" | ||
| + | Товар.Колонки.Добавить(" | ||
| + | Товар.Колонки.Добавить(" | ||
| + | Возврат Товар | ||
| + | | ||
| + | </ | ||
| + | |||
| + | === Код модуля обработки/ | ||
| + | Тестировалось на УТ 11.1 платформа 8.3. Нужно добавить код в модуль отчета/ | ||
| + | < | ||
| + | | ||
| + | |||
| + | ПараметрыРегистрации = Новый Структура; | ||
| + | МассивНазначений = Новый Массив; | ||
| + | МассивНазначений.Добавить("" | ||
| + | |||
| + | ИмяОтчета = Метаданные().Представление(); | ||
| + | |||
| + | ПараметрыРегистрации.Вставить(" | ||
| + | ПараметрыРегистрации.Вставить(" | ||
| + | ПараметрыРегистрации.Вставить(" | ||
| + | ПараметрыРегистрации.Вставить(" | ||
| + | ПараметрыРегистрации.Вставить(" | ||
| + | ПараметрыРегистрации.Вставить(" | ||
| + | |||
| + | ТаблицаКоманд = ПолучитьТаблицуКоманд(); | ||
| + | |||
| + | ДобавитьКоманду(ТаблицаКоманд, | ||
| + | |||
| + | ПараметрыРегистрации.Вставить(" | ||
| + | |||
| + | Возврат ПараметрыРегистрации; | ||
| + | КонецФункции | ||
| + | |||
| + | Функция ПолучитьТаблицуКоманд() | ||
| + | Команды = Новый ТаблицаЗначений; | ||
| + | Команды.Колонки.Добавить(" | ||
| + | Команды.Колонки.Добавить(" | ||
| + | Команды.Колонки.Добавить(" | ||
| + | Команды.Колонки.Добавить(" | ||
| + | Команды.Колонки.Добавить(" | ||
| + | Возврат Команды; | ||
| + | КонецФункции | ||
| + | |||
| + | Процедура ДобавитьКоманду(ТаблицаКоманд, | ||
| + | НоваяКоманда = ТаблицаКоманд.Добавить(); | ||
| + | НоваяКоманда.Представление = Представление; | ||
| + | НоваяКоманда.Идентификатор = Идентификатор; | ||
| + | НоваяКоманда.Использование = Использование; | ||
| + | НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; | ||
| + | НоваяКоманда.Модификатор = Модификатор; | ||
| + | КонецПроцедуры | ||
| + | |||
| + | </ | ||
| + | === Вывод в Word === | ||
| + | |||
| + | ПутьКФайлуМакетаНаКлиенте - путь к файлу Word для заполнения | ||
| + | РеквизитыДляПечати - структура, | ||
| + | < | ||
| + | |||
| + | & | ||
| + | Функция ПодготовкаПечати(ВидДоговораДляПечати) | ||
| + | |||
| + | РеквизитыДляПечати = РеквизитФормыВЗначение(" | ||
| + | |||
| + | Возврат | ||
| + | |||
| + | КонецФункции | ||
| + | |||
| + | & | ||
| + | Процедура Печать(Команда) | ||
| + | РеквизитыДляПечати = ПодготовкаПечати(ВидДоговора); | ||
| + | // Выводим Договор ИТС | ||
| + | ДвоичныеДанные = ПолучитьИзВременногоХранилища(РеквизитыДляПечати.Договор_ИТС); | ||
| + | ПутьКФайлуМакетаНаКлиенте = КаталогВременныхФайлов()+" | ||
| + | ДвоичныеДанные.Записать(ПутьКФайлуМакетаНаКлиенте); | ||
| + | ПечатьПФ_DOC(ПутьКФайлуМакетаНаКлиенте, | ||
| + | КонецПроцедуры | ||
| + | |||
| + | & | ||
| + | Процедура ПечатьПФ_DOC(ПутьКФайлуМакетаНаКлиенте, | ||
| + | Попытка | ||
| + | ОбъектВорд = Новый COMОбъект(" | ||
| + | |||
| + | ОбъектВорд.Documents.Open(ПутьКФайлуМакетаНаКлиенте); | ||
| + | Док = ОбъектВорд.Application.Documents(1); | ||
| + | Док.Activate(); | ||
| + | |||
| + | Для каждого Закладка Из Док.Bookmarks Цикл | ||
| + | | ||
| + | Док.Bookmarks(Закладка.Name).Select(); | ||
| + | Док.Application.Selection.TypeText(Значение); | ||
| + | |||
| + | КонецЦикла; | ||
| + | ОбъектВорд.Application.Visible = Истина; | ||
| + | ОбъектВорд.Activate(); | ||
| + | |||
| + | Исключение | ||
| + | Док.Application.Quit(); | ||
| + | КонецПопытки; | ||
| + | КонецПроцедуры | ||
| + | </ | ||
| + | |||
| + | Код в модуле обработки: | ||
| + | < | ||
| + | & | ||
| + | Функция ПолучитьМакетыИРеквизитыДоговора(ФормаОбр, | ||
| + | РеквизитыДляПечати = Новый Структура; | ||
| + | Если ВидДоговора = " | ||
| + | ПодготовитьДанныеДоговора(РеквизитыДляПечати, | ||
| + | ПолучитьМакеты(ВидДоговора, | ||
| + | ЗаполнитьДанныеПоПриложению(РеквизитыДляПечати.ДанныеНаПечать, | ||
| + | КонецЕсли; | ||
| + | КонецФункции; | ||
| + | |||
| + | & | ||
| + | Процедура ПолучитьМакеты(ВидДоговора, | ||
| + | Если ВидДоговора = " | ||
| + | // Получаем макет Договора ИТС | ||
| + | ИмяМакета = " | ||
| + | ИмяШаблона = " | ||
| + | АдресМакетаВХранилище = ПолучитьАдресМакетаВХранилище(ИмяМакета, | ||
| + | РеквизитыДляПечати.Вставить(" | ||
| + | |||
| + | // Получаем макет Приложения 1 | ||
| + | ИмяМакета = " | ||
| + | ИмяШаблона = " | ||
| + | АдресМакетаВХранилище = ПолучитьАдресМакетаВХранилище(ИмяМакета, | ||
| + | РеквизитыДляПечати.Вставить(" | ||
| + | КонецПроцедуры | ||
| + | |||
| + | # | ||
| + | |||
| + | // Функция - Получить адрес макета в хранилище | ||
| + | // | ||
| + | // Параметры: | ||
| + | // ИмяМакета - Имя макета, | ||
| + | // | ||
| + | // Возвращаемое значение: | ||
| + | // данных во временном хранилище | ||
| + | // | ||
| + | & | ||
| + | Функция ПолучитьАдресМакетаВХранилище(ИмяМакета, | ||
| + | МакетДанные = ЭтотОбъект.ПолучитьМакет(ИмяМакета); | ||
| + | Имя = КаталогВременныхФайлов()+ИмяШаблона; | ||
| + | МакетДанные.Записать(Имя); | ||
| + | ДвоичДанные = Новый ДвоичныеДанные(Имя); | ||
| + | АдресМакетаВХранилище = ПоместитьВоВременноеХранилище(ДвоичДанные); | ||
| + | Возврат АдресМакетаВХранилище | ||
| + | КонецФункции | ||
| + | |||
| + | |||
| + | & | ||
| + | Функция Склонение(СтрокаФИО, | ||
| + | |||
| + | Если ПолКонтактногоЛица = Перечисления.ПолФизическогоЛица.Мужской Тогда | ||
| + | РезультатСклонения = NameDecl.Просклонять(СтрокаФИО, | ||
| + | ИначеЕсли ПолКонтактногоЛица = Перечисления.ПолФизическогоЛица.Женский Тогда | ||
| + | РезультатСклонения = NameDecl.Просклонять(СтрокаФИО, | ||
| + | Иначе | ||
| + | РезультатСклонения = NameDecl.Просклонять(СтрокаФИО, | ||
| + | КонецЕсли; | ||
| + | |||
| + | Возврат РезультатСклонения | ||
| + | КонецФункции | ||
| + | |||
| + | // Процедура - Получить Объект NameDecl | ||
| + | // Получает NameDecl.dll - библиотека склонения из макета | ||
| + | & | ||
| + | Функция ПолучитьNameDecl() | ||
| + | Данные = ЭтотОбъект.ПолучитьМакет(" | ||
| + | АдресNameDecl = ПоместитьВоВременноеХранилище(Данные); | ||
| + | Попытка | ||
| + | // Загружаем внешнюю компоненту | ||
| + | ПодключитьВнешнююКомпоненту(АдресNameDecl, | ||
| + | NameDecl = Новый(" | ||
| + | Исключение | ||
| + | // Не удалось выполнить операции с внешней компонентой | ||
| + | Сообщить(" | ||
| + | КонецПопытки; | ||
| + | |||
| + | Возврат | ||
| + | |||
| + | КонецФункции | ||
| + | |||
| + | // Формирует фамилию и инициалы либо по переданным строкам. | ||
| + | // | ||
| + | // Параметры: | ||
| + | // ФИОСтрокой - Строка - если указан это параметр, | ||
| + | // Фамилия - Строка - фамилия физического лица. | ||
| + | // Имя - Строка - имя физического лица. | ||
| + | // Отчество - Строка - отчество физического лица. | ||
| + | // | ||
| + | // Возвращаемое значение: | ||
| + | // Строка - фамилия и инициалы одной строкой. | ||
| + | // В параметрах Фамилия, | ||
| + | // | ||
| + | // Пример: | ||
| + | // Результат = ФамилияИнициалыФизЛица(" | ||
| + | // | ||
| + | Функция ФамилияИнициалыФизЛица(ФИОСтрокой = "", | ||
| + | |||
| + | ТипОбъекта = ТипЗнч(ФИОСтрокой); | ||
| + | Если ТипОбъекта = Тип(" | ||
| + | ФИО = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СокрЛП(ФИОСтрокой), | ||
| + | |||
| + | Иначе | ||
| + | // Используем возможно переданные отдельные строки. | ||
| + | Возврат ?(Не ПустаяСтрока(Фамилия), | ||
| + | Фамилия + ?(Не ПустаяСтрока(Имя), | ||
| + | "" | ||
| + | КонецЕсли; | ||
| + | |||
| + | КоличествоПодстрок = ФИО.Количество(); | ||
| + | Фамилия | ||
| + | Имя | ||
| + | Отчество | ||
| + | |||
| + | Если КоличествоПодстрок > 3 Тогда | ||
| + | ДополнительныеЧастиОтчества = Новый Массив; | ||
| + | ДополнительныеЧастиОтчества.Добавить(НСтр(" | ||
| + | ДополнительныеЧастиОтчества.Добавить(НСтр(" | ||
| + | ДополнительныеЧастиОтчества.Добавить(НСтр(" | ||
| + | ДополнительныеЧастиОтчества.Добавить(НСтр(" | ||
| + | ДополнительныеЧастиОтчества.Добавить(НСтр(" | ||
| + | |||
| + | Если ДополнительныеЧастиОтчества.Найти(НРег(ФИО[3])) <> Неопределено Тогда | ||
| + | Отчество = Отчество + " " + ФИО[3]; | ||
| + | КонецЕсли; | ||
| + | КонецЕсли; | ||
| + | |||
| + | Возврат ?(Не ПустаяСтрока(Фамилия), | ||
| + | Фамилия + ?(Не ПустаяСтрока(Имя), | ||
| + | "" | ||
| + | |||
| + | КонецФункции | ||
| + | |||
| + | // Получение адреса отработка ошибок | ||
| + | // | ||
| + | // Возвращаемое значение: | ||
| + | // | ||
| + | // 1 - юридический | ||
| + | // 2 - фактический | ||
| + | Функция ПолучитьпредставлениеАдреса(ВидАдреса, | ||
| + | |||
| + | МассивКонтрагентов = Новый Массив; | ||
| + | МассивКонтрагентов.Добавить(Контрагент); | ||
| + | |||
| + | МассивАдресов = Новый Массив; | ||
| + | Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; | ||
| + | // вид адреса | ||
| + | Если ВидАдреса = 1 Тогда | ||
| + | Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; | ||
| + | |||
| + | ИначеЕсли ВидАдреса = 2 Тогда | ||
| + | Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; | ||
| + | КонецЕсли; | ||
| + | |||
| + | МассивАдресов = КонтактнаяИнформацияУНФ.КонтактнаяИнформацияОбъектов(МассивКонтрагентов, | ||
| + | |||
| + | Если МассивАдресов.Количество()> | ||
| + | ПредставлениеАдреса = МассивАдресов[0].Представление; | ||
| + | Иначе | ||
| + | ПредставлениеАдреса = ""; | ||
| + | КонецЕсли; | ||
| + | |||
| + | |||
| + | Возврат ПредставлениеАдреса | ||
| + | КонецФункции | ||
| + | |||
| + | |||
| + | # | ||
| + | |||
| + | </ | ||
| + | |||
| + | === Изменение движений проведенного документа | ||
| + | < | ||
| + | & | ||
| + | Процедура Команда1НаСервере() | ||
| + | Запрос = Новый Запрос; | ||
| + | Запрос.Текст = | ||
| + | " | ||
| + | | ОперацияБух.Ссылка КАК Ссылка, | ||
| + | | ОперацияБух.Номер КАК Номер, | ||
| + | | ОперацияБух.Дата КАК Дата, | ||
| + | | ОперацияБух.Организация КАК Организация, | ||
| + | | ОперацияБух.Содержание КАК Содержание, | ||
| + | | ОперацияБух.ТиповаяОперация КАК ТиповаяОперация, | ||
| + | | ОперацияБух.СпособЗаполнения КАК СпособЗаполнения | ||
| + | |ИЗ | ||
| + | | Документ.ОперацияБух КАК ОперацияБух | ||
| + | |ГДЕ | ||
| + | | ОперацияБух.Дата МЕЖДУ & | ||
| + | |||
| + | Запрос.УстановитьПараметр(" | ||
| + | Запрос.УстановитьПараметр(" | ||
| + | |||
| + | РезультатЗапроса = Запрос.Выполнить(); | ||
| + | |||
| + | ВыборкаД = РезультатЗапроса.Выбрать(); | ||
| + | |||
| + | Пока ВыборкаД.Следующий() Цикл | ||
| + | // проверим что перед нами поступление | ||
| + | Если СтрНайти(ВыборкаД.Содержание," | ||
| + | Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); | ||
| + | Набор.Отбор.Регистратор.Установить(выборкаД.Ссылка); | ||
| + | Набор.Прочитать(); | ||
| + | Инд = 0; | ||
| + | Для Каждого ДВ ИЗ Набор Цикл | ||
| + | Если ДВ.СчетКт = ПланыСчетов.Хозрасчетный.ТорговаяНаценкаНТТ Тогда | ||
| + | Набор.Удалить(Инд); | ||
| + | Набор.Записать(истина); | ||
| + | Сообщить(ДВ); | ||
| + | КонецЕсли; | ||
| + | Инд = Инд + 1; | ||
| + | КонецЦикла; | ||
| + | Иначе | ||
| + | Продолжить | ||
| + | КонецЕсли; | ||
| + | |||
| + | КонецЦикла; | ||
| + | |||
| + | |||
| + | |||
| + | КонецПроцедуры | ||
| + | |||
| + | & | ||
| + | Процедура Команда1(Команда) | ||
| + | Команда1НаСервере(); | ||
| + | КонецПроцедуры | ||
| + | |||
| + | </ | ||
| + | |||
| + | === Вывод реквизитов документа на форму | ||
| + | < | ||
| + | | ||
| + | // Страница Заказ с сайта | ||
| + | ДобавитьЭлементНаФорму(ЭтаФорма.Элементы," | ||
| + | | ||
| + | ТЗ_РеквизитовОбъекта = Новый ТаблицаЗначений; | ||
| + | ТЗ_РеквизитовОбъекта.Колонки.Добавить(" | ||
| + | ТЗ_РеквизитовОбъекта.Колонки.Добавить(" | ||
| + | ТЗ_РеквизитовОбъекта.Колонки.Добавить(" | ||
| + | |||
| + | Стр = ТЗ_РеквизитовОбъекта.Добавить(); | ||
| + | Стр.Имя = " | ||
| + | Стр.Путь = " | ||
| + | Стр.Заголовок = " | ||
| + | |||
| + | Стр = ТЗ_РеквизитовОбъекта.Добавить(); | ||
| + | Стр.Имя = " | ||
| + | Стр.Путь = " | ||
| + | Стр.Заголовок = " | ||
| + | |||
| + | Для Каждого Реквизит Из ТЗ_РеквизитовОбъекта Цикл | ||
| + | ДобавитьЭлементНаФорму(ЭтаФорма.Элементы, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | КонецЦикла; | ||
| + | // начинаем вывод реквизитов формы (не созданы в конфигураторе как реквизиты объекта) | ||
| + | ДобавитьРеквизит(" | ||
| + | ПолучитьОписаниеТипа(Тип(" | ||
| + | " | ||
| + | ДобавитьРеквизит(" | ||
| + | ПолучитьОписаниеТипа(Тип(" | ||
| + | " | ||
| + | ДобавитьРеквизит(" | ||
| + | ПолучитьОписаниеТипа(Тип(" | ||
| + | " | ||
| + | ДобавитьРеквизит(" | ||
| + | ПолучитьОписаниеТипа(Тип(" | ||
| + | " | ||
| + | ДобавитьРеквизит(" | ||
| + | ПолучитьОписаниеТипа(Тип(" | ||
| + | " | ||
| + | ДобавитьРеквизит(" | ||
| + | ПолучитьОписаниеТипа(Тип(" | ||
| + | " | ||
| + | ЭтаФорма.ИзменитьРеквизиты(нРеквизиты); | ||
| + | Для Каждого Реквизит Из нРеквизиты Цикл | ||
| + | ДобавитьЭлементНаФорму(ЭтаФорма.Элементы, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | КонецЦикла; | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | === Таблица значений в структуру | ||
| + | < | ||
| + | & | ||
| + | Процедура Команда1НаСервере() | ||
| + | ТЗ = Новый ТаблицаЗначений; | ||
| + | ТЗ.Колонки.Добавить(" | ||
| + | ТЗ.Колонки.Добавить(" | ||
| + | ТЗ.Колонки.Добавить(" | ||
| + | ТЗ.Колонки.Добавить(" | ||
| + | Стр = ТЗ.Добавить(); | ||
| + | Стр.А = " | ||
| + | Стр.Б = " | ||
| + | Стр.В = " | ||
| + | Стр.Г = " | ||
| + | ТестСтруктура = Новый Структура; | ||
| + | Для Каждого Кол Из ТЗ.Колонки Цикл | ||
| + | ТестСтруктура.Вставить(Кол.Имя, | ||
| + | КонецЦикла; | ||
| + | КонецПроцедуры | ||
| </ | </ | ||