7.7 Программно вставлять картинку в печ форму

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Asttoxa, 19 июн 2013.

  1. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    вроде заработало.
    с wsh.SendKeys("^v"); не пошло никак, картинка появилась с этим wsh.SendKeys("^(V)");

    1.подскажите плиз как разместить 2 картинки рядом, чтото опять не получается. просто чтото делаю не так опять. поправьте плиз.
    wsh=СоздатьОбъект("WScript.Shell");
    Таб = СоздатьОбъект("Таблица");
    Таб.Показать("---", "");
    таб.ТолькоПросмотр(0);
    wsh.SendKeys("^(V)");
    wsh.SendKeys("{RIGHT " + 10 + "}");wsh.SendKeys("^(V)");wsh.SendKeys("^(V)");
    а они все равно друг под другом картинки.
    или не так? и как активировать ячейку? в таблице простой форме.
    2.например если в свойства формы - использовать таблицу - пустую то картинки не появляются (как быть?)
  2. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    выводит 2 картинки но по последнему буферу данных, а как сделать чтоб 2 разных.
    --- Объединение сообщений, 20 июн 2014 ---
    буфер точно меняется, ....наверное.
    Последнее редактирование: 20 июн 2014
  3. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    что то не так отрабатывается, что? почему? или не стоит даже копать?
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    2 буфера? И как вы его интересно заполняете?
  5. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    не 2 буфера, а в начале раз таблица, потом заменяем буфер опять и в таблицу, а получается что выводится только последний. причем даже две таблицы делаю, а выходит что рисунки на одной таблиц
    --- Объединение сообщений, 20 июн 2014 ---
    все это для того что бы в 1С показать картинки в PNG для товара. просто нужно в PNG.
    делаю так.
    Картинки=СоздатьОбъект("GFLAx.GFLAx");
    Картинки.LoadBitmap("b:\1.png"); //беру картинку
    картинки.ExportToClipboard();//кидаю ее в буфер (при этом она там становится BMP)
    wsh=СоздатьОбъект("WScript.Shell");
    Таб = СоздатьОбъект("Таблица");
    Таб.Показать("---", "");
    таб.ТолькоПросмотр(0);
    wsh.SendKeys("^(V)");
    wsh.SendKeys("{RIGHT " + 10 + "}");
    Картинки.LoadBitmap("b:\2.png"); //беру 2 картинку
    картинки.ExportToClipboard();//кидаю ее в буфер (при этом она там становится BMP)
    wsh.SendKeys("^(V)");
    и другую таблицу создавал и в эту же делал, результат:
    выводит 2 картинки друг по другом но из 2го раза что в буфере
    вот что не так?
    --- Объединение сообщений, 20 июн 2014 ---
    не хочу использовать промежуточный файл, неужели нельзя без него?
    Последнее редактирование: 20 июн 2014
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Дааааа.... Мы не ищем легких путей... Ведь есть же файл на диске Чего уж проще подгрузить его ПЕРЕД выводном таблицы через объект "картинка"...
    Кода 5 строчек и всего делов...

    попробуйте перед wsh.SendKeys("{RIGHT " + 10 + "}"); поставить паузу
    Предупреждение("Посмотрим что у нас получилось");
  7. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    не могу файл использовать очень многопользователей, будут смотреть картинки, как бы чего дурного не вышло. на файл перейду если тут ничего не получится.
    предупреждение ставил. картинок вообще нет тогда. как будто 1ска в это окно нажимает кнопки.
    --- Объединение сообщений, 21 июн 2014 ---
    перед wsh.SendKeys("{RIGHT " + 10 + "}"); ставлюу предупреждение()
    результат, появляется таблица пустая, над ней висит предупреждение -> тыкаю ОК вылетает вторая таблица на ней друг над другом картнка из 2 го буфера.
    а где картинка из 1 буфера что был раньше?
    Последнее редактирование: 21 июн 2014
  8. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Процедура вывкартинки(пар)
    К=СоздатьОбъект("GFLAx.GFLAx");
    т=создатьобъект("таблица");
    б=СоздатьОбъект("WScript.Shell");
    к.LoadBitmap("b:\"+пар+".png");
    Ширина=к.Width; Высота=к.Height;
    к.Resize(Окр(Ширина*10/100),Окр(Высота*10/100));
    к.ExportToClipboard();
    т.ТолькоПросмотр(0); т.Область(3, 1);
    б.SendKeys("^(V)"); // wsh.SendKeys("^v"); wsh.SendKeys("{RIGHT " + 1 + "}");
    т.Показать("--0"+пар+"0--", "");
    конецпроцедуры


    Процедура проверка() //вывожу так появляется 2 таблицы но опять картнки во второй таблице друг под другом.
    вывкартинки("1");
    вывкартинки("2");
    конецпроцедуры
    --- Объединение сообщений, 21 июн 2014 ---
    с предумреждением иногда получается что на второй таблице есть последний буфер(картинка2) а на первой таблице тогда пусто.
    предупреждение тут
    вывкартинки("1");
    предупреждение("ок",1);
    вывкартинки("2");
    --- Объединение сообщений, 21 июн 2014 ---
    получается что не переносится буфер в таблицу, а заполняется по новому и потом уже переносится, так что ли?
    Последнее редактирование: 21 июн 2014
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    в вашем коде нет вывода второй таблицы. откуда она взялась?
  10. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    вывкартинки("1");
    вывкартинки("2");
    если по второму коду, а если что раньше писал то может не захватил вывод копированием
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Попробуйте сначала вывести таблицу, а потом уже копировать в буфер и вставлять
  12. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    посмотрите личку плиз
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не думаю что в библиотеке дело. Сделайте как сказал выше
  14. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    как выше сделал результата, все также 2 картинки2.
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ну и геморой.... Попробуйте после wsh.SendKeys("{RIGHT " + 1 + "}");
    Вывести что-либо в ячейку.... wsh.SendKeys("Hello world"); к примеру. Действительно ячейка сменилась?
  16. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    пишу
    wsh.SendKeys("Hello world");//выводится только р5/ /4
    wsh.SendKeys("{ENTER}"); // а то так в ячейке и остается курсор.
    т.е. все меняется двигается.
    ерунда какая то в общем.
    --- Объединение сообщений, 22 июн 2014 ---
    но если выведу буфер, то тогда ничего в таблице написать не могу, т.к. курсор на картинке и с нее никак не получается соскочить в таблицу
    Последнее редактирование: 22 июн 2014
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ну если только таблица в режиме ввода данных. Там можно программно менять область. Других вариантов не вижу
  18. pep
    Offline

    pep

    Регистрация:
    20 июн 2014
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    в режиме ввода данных картинку не вставить.
  19. bestship
    Offline

    bestship

    Регистрация:
    11 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    >Через буфер обмена самое простое. Ctrl-C Ctrl-V<
    Это никогда не работало и не будет работать.
    Только через OLE (Word, Excel)

Поделиться этой страницей