Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Окно выбора элемента справочника прячется за основным окном. , Подскажите как победить глюк          
miha74 Подменю пользователя
сообщение 28.08.09, 8:22
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0

Всем привет! Пишу обработку для переноса цен из ПУБа в ПУБ. Платформа 7.70.027. На форме есть таблица значений, клацаю на конкретной колонке должно показаться окошко выбора из справочника, а оно падлюка прячется под основное окно, помогает ALT+TAB но неудобно же. Справочник базы подключен через OLE.
Процедура ПриДвойномЩелчке()
    
    Если (тзТМЦ.ТекущаяКолонка() = "Метка") ИЛИ (тзТМЦ.ТекущаяКолонка() = "ТМЦИсточник") Тогда    
        тзТМЦ.Метка = ?(тзТМЦ.Метка=2, 1, 2);
    ИначеЕсли тзТМЦ.ТекущаяКолонка() = "ТМЦПриемник" Тогда
        Если СпрТМЦОле.Выбрать("Выберите соответствие в базе-приемнике", "ФормаСписка") = 1 Тогда
            тзТМЦ.ТМЦПриемник = СпрТМЦОле.ТекущийЭлемент().Наименование;    
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

У кого есть ПУБ проверьте, клацайте по самой правой колонке. [необходимо зарегистрироваться для просмотра ссылки]

miha74 Подменю пользователя
сообщение 31.08.09, 9:01
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0

up

MATEVI Подменю пользователя
сообщение 31.08.09, 10:33
Сообщение #3

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

Цитата(miha74 @ 31.08.09, 11:01) *
up

Так бы и сразу smile.gif Уже б забыл.



ИначеЕсли тзТМЦ.ТекущаяКолонка() = "ТМЦПриемник" Тогда
Если ВвестиЗначение(сп,"Выберите соответствие","Справочник."+СпрТМЦОле.Вид())=1 Тогда
//Если СпрТМЦОле.Выбрать("Выберите соответствие в базе-приемнике","ФормаСписка") = 1 Тогда
тзТМЦ.ТМЦПриемник = сп.ТекущийЭлемент().Наименование;//СпрТМЦОле.ТекущийЭлемент().Наименование;
КонецЕсли;
КонецЕсли;


сорри. еще надо объявить переменную сп.

Спасибо сказали: miha74,

MATEVI Подменю пользователя
сообщение 31.08.09, 10:50
Сообщение #4

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

и если честно не очень это удобно. постоянно клацать для соответствия. не лучше ли просто заполнять совпадающие справочники используя код или другой какой то реквизит?

miha74 Подменю пользователя
сообщение 31.08.09, 12:57
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0

Цитата(MATEVI @ 31.08.09, 11:50) *
и если честно не очень это удобно. постоянно клацать для соответствия. не лучше ли просто заполнять совпадающие справочники используя код или другой какой то реквизит?

Ну это так, на всякий случай на будущее(для единичных случаев несоответствий, например после ввода новой номенклатуры). Справочник ТМЦ будет приводится в порядок во всех базах. Для поиска соотв. я использую реквизит Наименование.
К сожалению Ваш метод ВвестиЗначение() открывает Выбор из справочника текущей базы, а надо открытой по ОЛЕ... 64000000.gif

Спасибо сказали: MATEVI,

MATEVI Подменю пользователя
сообщение 31.08.09, 13:46
Сообщение #6

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

Цитата(miha74 @ 31.08.09, 14:57) *
Ну это так, на всякий случай на будущее(для единичных случаев несоответствий, например после ввода новой номенклатуры). Справочник ТМЦ будет приводится в порядок во всех базах. Для поиска соотв. я использую реквизит Наименование.
К сожалению Ваш метод ВвестиЗначение() открывает Выбор из справочника текущей базы, а надо открытой по ОЛЕ... 64000000.gif

Да загнал... Покраснел smile.gif Признаю ошибку. Это в корне не правильно. Например
V7=СОЗДАТЬОБЪЕКТ("V77.APPLICATION");
...
БухИт = V7.СОЗДАТЬОБЪЕКТ("БухгалтерскиеИтоги");
Но ввести значение тогда не работает

miha74 Подменю пользователя
сообщение 31.08.09, 13:51
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0

Угу... 51000000.gif

MATEVI Подменю пользователя
сообщение 31.08.09, 15:48
Сообщение #8

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

Тогда остается наверно один вариант делать еще таблицу значений. грузить в нее из подключенной базы справочники клацать по ней и синхронизировать таким образом. Либо "альт+табать" все время.

Спасибо сказали: miha74,

miha74 Подменю пользователя
сообщение 01.09.09, 8:17
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0

MATEVI, это все хорошо, меня интересует еще у Вас тоже окошко выбора из справочника теряет фокус? Вы запускали мою чудо-обработку? smile.gif

MATEVI Подменю пользователя
сообщение 01.09.09, 9:24
Сообщение #10

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

Цитата(miha74 @ 01.09.09, 10:17) *
MATEVI, это все хорошо, меня интересует еще у Вас тоже окошко выбора из справочника теряет фокус? Вы запускали мою чудо-обработку? smile.gif

[необходимо зарегистрироваться для просмотра ссылки]
Не совсем понял. Если это. то никак. У себя делал так
[необходимо зарегистрироваться для просмотра ссылки]
Если не разворачивать то все в одну ширину. При развороте размер остается. Расширил по максмуму. И убрал в свойствах формы "Изменять размер"

miha74 Подменю пользователя
сообщение 01.09.09, 10:19
Сообщение #11

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0

Э-э-э.... Надо открыть обработку именно в ПУБе, выбираем базу приемник тоже ПУБ, нажимаем Подключиться к базе, ТЗ на форме заполнятся значениями сдвух баз, клацаем двойным щелчком на самой правой колонке - должнопоказаться окошко выбора элемента соответсвующего справочника базы приемника ОЛЕ. Так вот оно может один раз показаться а может и нет, следующие разы не показывается точно, типа альтаб ктото нажал и фокус окна переместился на основное окно 1С, а окно выбора под ним. На других конфах не запустится, справочники не такие.Фух.

MATEVI Подменю пользователя
сообщение 01.09.09, 11:00
Сообщение #12

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

Цитата(miha74 @ 01.09.09, 12:19) *
Э-э-э.... Надо открыть обработку именно в ПУБе, выбираем базу приемник тоже ПУБ, нажимаем Подключиться к базе, ТЗ на форме заполнятся значениями сдвух баз, клацаем двойным щелчком на самой правой колонке - должнопоказаться окошко выбора элемента соответсвующего справочника базы приемника ОЛЕ. Так вот оно может один раз показаться а может и нет, следующие разы не показывается точно, типа альтаб ктото нажал и фокус окна переместился на основное окно 1С, а окно выбора под ним. На других конфах не запустится, справочники не такие.Фух.

Та не вроде отрабатывает. Ну конечно после альт таба. Если долго не "табать" вылазит окно сервер занят... Так же стандартный глюк ОЛЕ неподдержка русскоязычных названий каталогов и пробелов в них. Тренировался на на 2-х копиях Демо-Пуба.

MATEVI Подменю пользователя
сообщение 01.09.09, 11:37
Сообщение #13

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

И как вариант вот попробуй может подойдет


Процедура ПриДвойномЩелчке()
Если (тзТМЦ.ТекущаяКолонка() = "Метка") ИЛИ (тзТМЦ.ТекущаяКолонка() = "ТМЦИсточник") Тогда
тзТМЦ.Метка = ?(тзТМЦ.Метка=2, 1, 2);
ИначеЕсли тзТМЦ.ТекущаяКолонка() = "ТМЦПриемник" Тогда

//Если СпрТМЦОле.Выбрать("Выберите соответствие в базе-приемнике","ФормаСписка") = 1 Тогда
// тзТМЦ.ТМЦПриемник = сп.ТекущийЭлемент().Наименование;

//Поиск всеже лучше организовать по коду или по уникальному реквизиту
//но его тогда надо добавить в таблицу значений
Если СпрТМЦОле.НайтиПоНаименованию(тзТМЦ.ТМЦИсточник,0,1)=1 Тогда
тзТМЦ.ТМЦПриемник = СпрТМЦОле.ТекущийЭлемент().Наименование;
Иначе
Предупреждение("Нет такого справочника в базе приемнике!",1);
КонецЕсли;
КонецЕсли;

КонецПроцедуры


Ну и проверка на удаленные и группы тоже будет не лишняя.
ЗЫ Исправил грмматическую ошибку.
ЗЫЫ Так же вместо предупреждения возможно и создание (копирование) справочника из одной базы.

miha74 Подменю пользователя
сообщение 01.09.09, 13:17
Сообщение #14

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0

Спасибо за проверку. Значит это глюк платформы.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 04.06.24, 8:13
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!