|
|
| ||
Mikhail2014 04.10.16 - 19:33 | Привет! Граждане 1Сники, подскажите, пожалуйста, отчаявшемуся человеку)) Делаю на управляемых формах банальную выгрузку в эксель. Все написал. Все работает. Но! В наркоманском 1С просто сделать это не катит))
Изначально все действия я делал на сервере (ибо на клиенте 1Синка много чего не разрешает, нельзя, вот, и все)))))) Там создал ком-объект эксель, получил для него все данные, сформировал файл и сохранил. Все заработало. Но, пользователи то будут делать его не на сервере... Тогда я перенес свою процедуру на клиент. Ком-объект эксель там создался (о чудо!). Там с сервера отдельными процедурами(ппц...) получил многие данные, заполнил свой файл. Но! Оказывается, 1Сина не в состоянии получить некоторые данные объекта на клиенте, например - есть реквизит Контрагент, а у него свой реквизит - Наименование. Так вот Контарегнта получить моно, а его Наименование - уже нет... На этом мой примитивный мозг разработчика C++, PHP, Javascript, а в прошлом систменого администратора перестал функционировать и я вынужден просить вашей помощи - подскажите, мне, несчастному, как же сдедать эту выгрузку на управляемой форме, чтобы пользователь мог выгрузить нужные ему данные в эксель и сохранить полученный файл... P.S. Если серьезно. Ребят, как вы работаете с этим наркомакнством вообще? У меня контракт 1Сника заканчивается через пару месяцев, я уже молюсь на эту дату.)) | ||
Cyberhawk 1 - 04.10.16 - 19:34 | С клиента вызвать сервер, вот и все | ||
Cyberhawk 2 - 04.10.16 - 19:34 | А что за "контракт 1Сника заканчивается через пару месяцев", ты вахтовик-сисадмин в Норильске что ли? | ||
Mikhail2014 3 - 04.10.16 - 19:37 | (1) Так вызвал же)) И на сервере сначала все сделал, пользователь у себя этот файл сохранить не может)) Он не на сервере работает. На другом компьюетере вообще. | ||
Mikhail2014 4 - 04.10.16 - 19:38 | То есть у меня Workbook.saveas(объект.Путь); делается на сервере, а этот самый путь пользователь указывает на клиенте. | ||
Cyberhawk 5 - 04.10.16 - 19:38 | Указывай общий сетевой каталог, доступный как клиенту, так и серверу | ||
Mort 6 - 04.10.16 - 19:40 | Мой знакомый программист на си++ въехал в 1с и уф за неделю. Дело похоже все-таки не в 1с | ||
Mikhail2014 7 - 04.10.16 - 19:41 | (2) Долгая история. 1сником я изначально работал по временному контракту, когда соглашался, еще не знал, что это такое. Издалека это, скажем так, изделие, какзлось динамичной развивающейся платформой. | ||
SadrArt 8 - 04.10.16 - 19:41 | (0) Сам ты наркоман! Чудак. | ||
Mauser 9 - 04.10.16 - 19:41 | (0) > У меня контракт 1Сника заканчивается через пару месяцев, я уже молюсь на эту дату.))
В конце строки закрывающие скобочки - это руки. | ||
Mikhail2014 10 - 04.10.16 - 19:41 | (6) Въехать можно во все что угодно))) Вопрос, а надо ли? | ||
Gary417 11 - 04.10.16 - 19:45 | <Но! Оказывается, 1Сина не в состоянии получить некоторые данные объекта на клиенте> <На этом мой примитивный мозг разработчика C++, PHP, Javascript, а в прошлом систменого администратора перестал функционировать>Уважаемый, вы в состоянии передать объект в С++ или PHP с сервера на клиент двумя строчками и чтобы все его параметры были слёту доступны и корректны? Вот подумайте, а потом давайте поговорим о "динамично развивающуюся платформу" | ||
Mauser 12 - 04.10.16 - 19:46 | (10) Помочь можно каждому. Вопрос, а надо ли? | ||
Mikhail2014 13 - 04.10.16 - 19:53 | (11) Замечательно в PHP в формате JSON все передается, потом на клиенте сохраняем полученные данные в эксель, прекрасно все работает. | ||
Mikhail2014 14 - 04.10.16 - 19:54 | (13) Запрос, данные, выгрузка в эксель, win. Тривиальная задача. | ||
Gary417 15 - 04.10.16 - 19:55 | (13) ага, только через json передаются данные без поддержки целостности и связности, тупо текстовое представление. а в 1С практически полноценный объект с ссылкой на БД | ||
Gary417 16 - 04.10.16 - 19:56 | (14) на самом деле в 1С эта задача гораздо проще, но гугл вам поможет | ||
iceman2112 17 - 04.10.16 - 20:06 | (0) походу автор клиент от сервера и в php не отличает. 1с оскорбил, как ему пмогать после этого? | ||
Mikhail2014 18 - 04.10.16 - 20:06 | (12) Не, не, смысл не в том, что я не собираюсь разбираться и хочу, чтобы все сделали за меня. Я то как раз очень хочу разобраться и сделать уже. Просто так можно все что угодно списать на программиста - неадекватно переусложненная, негибкая, нуедобная система - НЕТ! Это ТЫ плохой программист, ты не разобрался! ТЫ не понял скрытый смысл! Смешно же) | ||
Mikhail2014 19 - 04.10.16 - 20:07 | (17) В моем примере клиент - это браузер пользователя. | ||
Mikhail2014 20 - 04.10.16 - 20:08 | (17) Связка PHP - Javascript | ||
iceman2112 21 - 04.10.16 - 20:09 | ну вот приташил ты в этот браузер id контрагента как же теперь ты наименование получишь | ||
Mikhail2014 22 - 04.10.16 - 20:09 | (15) Что мешает сделать нужную структуру и передать? Разве проблема? | ||
Mikhail2014 23 - 04.10.16 - 20:10 | (21) На сервере собрал все нужные данные и сразу притащил. | ||
iceman2112 24 - 04.10.16 - 20:10 | ну вот приташил ты в этот браузер ид контрагента как теперь наименование получить в этом наркоманском php? | ||
Mauser 25 - 04.10.16 - 20:11 | ибо на клиенте php много чего не разрешает, нельзя, вот, и все))))) | ||
iceman2112 26 - 04.10.16 - 20:12 | прикинь в 1с также | ||
mistеr 27 - 04.10.16 - 20:16 | (23) Ну, а в 1С ты собрал данные по контрагенту на сервере?
Вызываешь серверный метод, собираешь что нужно запросами и отправляешь. Это как AJAX запрос. | ||
Gary417 28 - 04.10.16 - 20:16 | |||
Mikhail2014 29 - 04.10.16 - 20:19 | (28) Вот у меня это второй час уже делается "само, в фоне, автоматом")) Я от того тут и пишу, что все уже сделалось.))
Не такая уж и куча, есть фреймворки, пожалуйста, очень даже удобные. Ничего сосбенного, собрал файл, передал. Функции везде надо правильно вызывать, в 1С, Java, Php... | ||
Mikhail2014 30 - 04.10.16 - 20:20 | (27) Да я уже и хочу так сделать) Уже и запрос пишу. Рекламное место пустует | ||
Mikhail2014 31 - 04.10.16 - 20:21 | (25) Для начала "на клиенте" php не используется. | ||
Gary417 32 - 04.10.16 - 20:22 | (29) естественно всё есть фреймворки и т.п. но программирование на универсальных языках всёравно требует бОльшего приложения усилий для элементарных операций о которых одинэсники даже не догадываются
И оч смешно смотрятся выпады на то что в 1С плохо работает механизм который в остальных языках тупо отсутствует. (31) да ладно! а js это не "наклиент"? | ||
Gary417 33 - 04.10.16 - 20:23 | и в PHP передача клиент-сервер это какраз самое суровое велосипедство, в отличии от asp и jsp | ||
Mauser 34 - 04.10.16 - 20:24 | (31) как вы работаете с этим наркомакнством вообще? | ||
sikuda 35 - 04.10.16 - 20:30 | ТабличныйДокумент.Записать(ИмяФайла, Тип XLS) может надо думать проще? | ||
Mikhail2014 36 - 04.10.16 - 20:33 | (32) В современных IDE и с своременными фреймворками не на много, уж поверьте. Посмотрите на продукты Microsoft, Embarcadero, Inlellij. 1С сдувает именно у них.
Возможно какие-то механизны в других языках отсутствуют, но зато те, что есть, ничем 1сным механизмам не уступают, и, опять же, повторюсь, с современными IDE работать с ним не сложнее, чем с 1С. Не верите? Скачайте что-нибудь и поробуйте. Embarcadero, особенно. А учитыва все "особенности" 1С, как с управляемыми формами 1С, бдует и быстрее. Так js это не php же! | ||
Mikhail2014 37 - 04.10.16 - 20:34 | (33) Обыкновенные Post-Rest зарпосы, ничего сложного, старая надежная технология. Замечательно работет. | ||
Gary417 38 - 04.10.16 - 20:37 | (36) какая разница что js не php? вы же с клиентом общаетесь както, в 1С на фронте и бэке один и тотже язык. а PHP на фроне обычно js, но логика то одинаковая
И не надо меня учить какие продукты есть, я знаю php, js, java, c#, asp, jsp и 1С, и уж поверьте понимаю о чём говорю. P.S. делфи в 21 веке вспоминать вообще некомильфо помоему | ||
Mikhail2014 39 - 04.10.16 - 20:38 | (37) Get и Post, пардон | ||
Gary417 40 - 04.10.16 - 20:38 | (37) чтобы отправлять post-get надо чтобы сервер и клиент знали что отправляют, а это кучу разных приседаний надо делать
например как текущую дату отправить из РФ в США | ||
Mikhail2014 41 - 04.10.16 - 20:38 | (38) Ну Embarcadero это не только Дельфи) | ||
Mauser 42 - 04.10.16 - 20:40 | (37) Там с сервера отдельными процедурами(ппц...) | ||
H A D G E H O G s 43 - 04.10.16 - 20:41 | (41) А что там еще? | ||
Mikhail2014 44 - 04.10.16 - 20:41 | (42) Не, ну если бы 1С не делала вид, что можно по другому, я бы не возникал)) | ||
Mikhail2014 45 - 04.10.16 - 20:42 | (43) C++, HTML 5, когда-то выпускал Builder для Java, давно. | ||
Mauser 46 - 04.10.16 - 20:43 | (44) ТЫ не понял скрытый смысл! Смешно же) | ||
sikuda 47 - 04.10.16 - 20:43 | Кстати к слову сказать https://github.com/PHPOffice/PHPExcel | ||
H A D G E H O G s 48 - 04.10.16 - 20:45 | (45) С++ (наследник C++ Builder-a), с тем же набором компонент (vcl и прочие) с которыми точно также надо наприседаться чтобы
1) Передать данные на сервер
2) Вызвать метод сервера
3) Написать !сервер! | ||
Mikhail2014 49 - 04.10.16 - 20:45 | (35) Он мне при записи точно такую же структуру экселя сделает, как в макете? 1 в 1? Я печатной формой пробовал сделать, у меня стурктура эксель отличалась здорово. А заказчик хочет и агружать куда-то, помимо всего прочего. | ||
Mauser 50 - 04.10.16 - 20:48 | (49) Не верите? Скачайте что-нибудь и поробуйте. | ||
Mikhail2014 51 - 04.10.16 - 20:54 | (40) Я лучше сделаю все нужные приседания и получу:
1. Хороший скилл в программировании. 2. Хорошие знания передачи данных через HTTP. 3. Буду уверен, что все будет работать именно так, как я написал, бстро и как надо. Что потом применю где угодно. Чем буду ковыряться в очередных заморочках 1С и получу только голоную боль. И желание все это скорее забыть. Почему то все эти "возможности" 1С требуют в разы болше приседаний, чем "сложное" классическое программирование. И толку от этих 1Сных приседаний не будет никакого. Кроме как в самом 1С. | ||
Mikhail2014 52 - 04.10.16 - 20:54 | (48) Ну это обычная клиент-серверная архитектура. | ||
Mauser 53 - 04.10.16 - 21:06 | (51) Посмотрите на продукты Microsoft, Embarcadero, Inlellij. 1С сдувает именно у них. | ||
Torquader 54 - 04.10.16 - 21:11 | А вообще - в чём проблема.
На сервере готовим все данные, которые хотим записать на страницу Excel в виде двумерного массива SafeArray. Потом передаём это всё на клиента (за одну передачу), а потом открываем Excel и вставляем это всё в страницу документа (одной командной). Быстро и просто. | ||
H A D G E H O G s 55 - 04.10.16 - 21:15 | (51) Удачной охоты, сталкер. | ||
H A D G E H O G s 57 - 04.10.16 - 21:20 | (56) Это про то, какие проблемы могут возникать в других ЯП, чего никогда не будет в 1С. | ||
H A D G E H O G s 58 - 04.10.16 - 21:24 | Всем нелюбящим 1С рекомендую ветку
1С - это годная вещь. Вы даже не знаете насколько.
посты с 51 по 89, особенно 69,75. | ||
H A D G E H O G s 59 - 04.10.16 - 21:24 | Чертов T9 | ||
b_ru 60 - 05.10.16 - 15:51 | В терминах web-программирования ты пытаешься в клентском JavaScript'е сформировать экселевский файл, дергая сервер за каждым реквизитом по отдельности.
Не удивительно, что все работает через афедрон. А всего то надо на сервере сформировать табличный документ и сохранить его на клиенте. Рекламное место пустует | ||
Сергиус 61 - 05.10.16 - 15:55 | (0)В чем проблема, на клиенте читаешь файл через Ком-объект эксель, получаешь ДвоичныеДанные, передаешь их на сервер и там "крутишь-мутишь" как тебе надо? | ||
Smallrat 62 - 05.10.16 - 16:15 | &НаКлиенте Процедура СоздатьФайлXLS(ИмяФайла) ТабличныйДокумент = ПолучитьТабличныйДокументССервера(); ТабличныйДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX); КонецПроцедуры не? | ||
Asmody 63 - 05.10.16 - 16:45 | Не, я думаю, рано или поздно 1С решится на этот шаг и выпилит поддержку COM из платформы к епеням. | ||
mistеr 64 - 05.10.16 - 16:49 | (63) Не раньше, чем сменится два-три поколения всяких железок, с которыми иначе не пообщаешься (не будучи матерым системщиком, с соответствующим ценником). | ||
craxx 65 - 05.10.16 - 16:53 | (64) ну напишут кроссплатформенный механизм через те же сокеты... COM это изврат | ||
Torquader 66 - 05.10.16 - 21:22 | COM позволяет прозрачно преодолевать сеть и передавать данные с одной машины на другую.
На самом деле, аналоги COM есть и под другие платформы, но все они разные. | ||
Garykom 67 - 05.10.16 - 21:29 | ТС кто нить сказал что он слегка ограниченный?
Ибо не додумался выкинуть эксель (ну и COM заодно) из своего кода по выгрузке в эксель... | ||
Torquader 68 - 05.10.16 - 21:46 | (67) Ну, Excel нужен только для того, чтобы пользователь посмотрел то, что выгружено. | ||
Garykom 69 - 05.10.16 - 21:53 | (68) А зачем для этого "посмотрел" нужен эксель то? | ||
mistеr 70 - 05.10.16 - 22:10 | |||
Zamestas 71 - 05.10.16 - 22:24 | (0) Сколько, собственно, клиентов Вы автоматизировали без использования платформы 1С? |
|
Список тем форума
|