goshanecr
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Цитата: Создаем обработку, создаем основную управляемую форму. В простом случае, можно будет все закинуть в процедуру ПриСозданииНаСервере. Если случай более сложный, то уже нужно будет разделять код на клиентскую и серверную часть. Часть методов и функций нельзя выполнить на сервере, а часть, на клиенте. По поводу "где почитать": в гугле без проблем найдете, либо задавайте конкретные вопросы. Синтаксис почти идентичный, есть небольшие изменения, например, при обращении к реквизитам обработки. | А можно за какую-то адекватную сумму попросить мою обработку оформить как управляемую? А то 1С программирование это вообще далеко не моя специализация, и лучше как-то сделать это правильно. Текущую обработку выкладываю ниже. Требования такие: * Из командной строки передаются параметры, которые используются в обработке. * Надо чтобы обработка выполнялась и 1С закрывалась. * И чтобы окошки никакие не мешали её выполнению. * Код чтобы остался в таком "ламерски простом" виде, чтобы я уже при необходимости добавить новые выгрузки данных, их просто в свою часть кода добавлял и вся "управляемость" оставалась нетронутой. * Всё это работает на файловой 1С 8.2, 8.3 Код: Процедура ЗаписатьДанныеВXML(ОбЪектДанных, ПутьКФайлу, Ключ1С, ТипДанных) Если ОбъектДанных.Количество()>0 Тогда МойXML = Новый ЗаписьXML; ПарXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь); МойXML.ОткрытьФайл(ПутьКФайлу, ПарXML); МойXML.ЗаписатьОбъявлениеXML(); МойXML.ЗаписатьБезОбработки("<data><key><value>"+Ключ1С+"</value></key><type><value>"+ТипДанных+"</value></type></data>"); Объект = СериализаторXDTO.ЗаписатьXDTO(ОбъектДанных); ФабрикаXDTO.ЗаписатьXML(МойXML, Объект); МойXML.Закрыть(); КонецЕсли; КонецПроцедуры Функция СтрРазделить82(Строка, Разделитель) Строки = СтрЗаменить(Строка, Разделитель, Символы.ПС); Возврат Строки; КонецФункции; //Получаем необходимые параметры запуска Строки = СтрРазделить82(ПараметрЗапуска, "$#DELIMITER#$"); Ключ1С = СтрПолучитьСтроку(Строки, 1); ПутьКФайлу = СтрПолучитьСтроку(Строки, 2); ИмяФайла = Новый УникальныйИдентификатор(); //Контрагенты Запрос = Новый Запрос; Запрос.Текст="ВЫБРАТЬ | Контрагенты.Код КАК КОД, | Контрагенты.ЭтоГруппа КАК ГРУППА, | Контрагенты.ЮрФизЛицо КАК ЮРЛИЦО, | Контрагенты.ИНН КАК ИНН, | Контрагенты.Наименование КАК ИМЯ |ИЗ | Справочник.Контрагенты КАК Контрагенты"; Данные = Запрос.Выполнить().Выгрузить(); ЗаписатьДанныеВXML(Данные, ПутьКФайлу+"\1."+ИмяФайла+".xml", Ключ1С, "contragent"); //Договора контрагентов Запрос = Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ДоговорыКонтрагентов.Код, | ДоговорыКонтрагентов.ПометкаУдаления, | ДоговорыКонтрагентов.ЭтоГруппа, | ДоговорыКонтрагентов.Наименование, | ДоговорыКонтрагентов.ВалютаВзаиморасчетов.Наименование, | ДоговорыКонтрагентов.Организация.ИНН, | ДоговорыКонтрагентов.Организация.ОГРН, | ДоговорыКонтрагентов.Дата, | ДоговорыКонтрагентов.Номер, | ДоговорыКонтрагентов.СрокДействия, | ДоговорыКонтрагентов.Владелец.Код |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов"; Данные = Запрос.Выполнить().Выгрузить(); ЗаписатьДанныеВXML(Данные, ПутьКФайлу+"\2."+ИмяФайла+".xml", Ключ1С, "dogovor"); //Платежи Запрос = Новый Запрос; Запрос.Текст="ВЫБРАТЬ | БанковскиеВыписки.Дата, | БанковскиеВыписки.ПометкаУдаления, | БанковскиеВыписки.Номер, | БанковскиеВыписки.Организация.Код, | БанковскиеВыписки.Организация.ИНН, | БанковскиеВыписки.БанковскийСчет.Код, | БанковскиеВыписки.БанковскийСчет.НомерСчета, | БанковскиеВыписки.БанковскийСчет.ТекстКорреспондента, | БанковскиеВыписки.БанковскийСчет.ТекстНазначения, | БанковскиеВыписки.Поступило, | БанковскиеВыписки.Списано, | БанковскиеВыписки.Контрагент.Код, | БанковскиеВыписки.Контрагент.ИНН, | БанковскиеВыписки.Ссылка.ДоговорКонтрагента.Код, | БанковскиеВыписки.ДатаВходящегоДокумента, | БанковскиеВыписки.НомерВходящегоДокумента, | БанковскиеВыписки.НазначениеПлатежа, | БанковскиеВыписки.Комментарий |ИЗ | ЖурналДокументов.БанковскиеВыписки КАК БанковскиеВыписки"; Данные = Запрос.Выполнить().Выгрузить(); ЗаписатьДанныеВXML(Данные, ПутьКФайлу+"\3."+ИмяФайла+".xml", Ключ1С, "pays"); |
| Всего записей: 156 | Зарегистр. 11-03-2007 | Отправлено: 17:20 10-04-2017 | Исправлено: goshanecr, 17:54 10-04-2017 |
|