Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0
Всем привет! Пишу обработку для переноса цен из ПУБа в ПУБ. Платформа 7.70.027. На форме есть таблица значений, клацаю на конкретной колонке должно показаться окошко выбора из справочника, а оно падлюка прячется под основное окно, помогает ALT+TAB но неудобно же. Справочник базы подключен через OLE.
Процедура ПриДвойномЩелчке()
Если (тзТМЦ.ТекущаяКолонка() = "Метка") ИЛИ (тзТМЦ.ТекущаяКолонка() = "ТМЦИсточник") Тогда тзТМЦ.Метка = ?(тзТМЦ.Метка=2, 1, 2); ИначеЕсли тзТМЦ.ТекущаяКолонка() = "ТМЦПриемник" Тогда Если СпрТМЦОле.Выбрать("Выберите соответствие в базе-приемнике", "ФормаСписка") = 1 Тогда тзТМЦ.ТМЦПриемник = СпрТМЦОле.ТекущийЭлемент().Наименование; КонецЕсли; КонецЕсли;
КонецПроцедуры
У кого есть ПУБ проверьте, клацайте по самой правой колонке. [необходимо зарегистрироваться для просмотра ссылки]
ИначеЕсли тзТМЦ.ТекущаяКолонка() = "ТМЦПриемник" Тогда Если ВвестиЗначение(сп,"Выберите соответствие","Справочник."+СпрТМЦОле.Вид())=1 Тогда //Если СпрТМЦОле.Выбрать("Выберите соответствие в базе-приемнике","ФормаСписка") = 1 Тогда тзТМЦ.ТМЦПриемник = сп.ТекущийЭлемент().Наименование;//СпрТМЦОле.ТекущийЭлемент().Наименование; КонецЕсли; КонецЕсли;
и если честно не очень это удобно. постоянно клацать для соответствия. не лучше ли просто заполнять совпадающие справочники используя код или другой какой то реквизит?
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0
Цитата(MATEVI @ 31.08.09, 11:50)
и если честно не очень это удобно. постоянно клацать для соответствия. не лучше ли просто заполнять совпадающие справочники используя код или другой какой то реквизит?
Ну это так, на всякий случай на будущее(для единичных случаев несоответствий, например после ввода новой номенклатуры). Справочник ТМЦ будет приводится в порядок во всех базах. Для поиска соотв. я использую реквизит Наименование. К сожалению Ваш метод ВвестиЗначение() открывает Выбор из справочника текущей базы, а надо открытой по ОЛЕ...
Ну это так, на всякий случай на будущее(для единичных случаев несоответствий, например после ввода новой номенклатуры). Справочник ТМЦ будет приводится в порядок во всех базах. Для поиска соотв. я использую реквизит Наименование. К сожалению Ваш метод ВвестиЗначение() открывает Выбор из справочника текущей базы, а надо открытой по ОЛЕ...
Да загнал... Покраснел Признаю ошибку. Это в корне не правильно. Например V7=СОЗДАТЬОБЪЕКТ("V77.APPLICATION"); ... БухИт = V7.СОЗДАТЬОБЪЕКТ("БухгалтерскиеИтоги"); Но ввести значение тогда не работает
Тогда остается наверно один вариант делать еще таблицу значений. грузить в нее из подключенной базы справочники клацать по ней и синхронизировать таким образом. Либо "альт+табать" все время.
MATEVI, это все хорошо, меня интересует еще у Вас тоже окошко выбора из справочника теряет фокус? Вы запускали мою чудо-обработку?
[необходимо зарегистрироваться для просмотра ссылки] Не совсем понял. Если это. то никак. У себя делал так [необходимо зарегистрироваться для просмотра ссылки] Если не разворачивать то все в одну ширину. При развороте размер остается. Расширил по максмуму. И убрал в свойствах формы "Изменять размер"
Группа: Местный
Сообщений: 153
Спасибо сказали: 81 раз
Рейтинг: 0
Э-э-э.... Надо открыть обработку именно в ПУБе, выбираем базу приемник тоже ПУБ, нажимаем Подключиться к базе, ТЗ на форме заполнятся значениями сдвух баз, клацаем двойным щелчком на самой правой колонке - должнопоказаться окошко выбора элемента соответсвующего справочника базы приемника ОЛЕ. Так вот оно может один раз показаться а может и нет, следующие разы не показывается точно, типа альтаб ктото нажал и фокус окна переместился на основное окно 1С, а окно выбора под ним. На других конфах не запустится, справочники не такие.Фух.
Э-э-э.... Надо открыть обработку именно в ПУБе, выбираем базу приемник тоже ПУБ, нажимаем Подключиться к базе, ТЗ на форме заполнятся значениями сдвух баз, клацаем двойным щелчком на самой правой колонке - должнопоказаться окошко выбора элемента соответсвующего справочника базы приемника ОЛЕ. Так вот оно может один раз показаться а может и нет, следующие разы не показывается точно, типа альтаб ктото нажал и фокус окна переместился на основное окно 1С, а окно выбора под ним. На других конфах не запустится, справочники не такие.Фух.
Та не вроде отрабатывает. Ну конечно после альт таба. Если долго не "табать" вылазит окно сервер занят... Так же стандартный глюк ОЛЕ неподдержка русскоязычных названий каталогов и пробелов в них. Тренировался на на 2-х копиях Демо-Пуба.
Процедура ПриДвойномЩелчке() Если (тзТМЦ.ТекущаяКолонка() = "Метка") ИЛИ (тзТМЦ.ТекущаяКолонка() = "ТМЦИсточник") Тогда тзТМЦ.Метка = ?(тзТМЦ.Метка=2, 1, 2); ИначеЕсли тзТМЦ.ТекущаяКолонка() = "ТМЦПриемник" Тогда
//Если СпрТМЦОле.Выбрать("Выберите соответствие в базе-приемнике","ФормаСписка") = 1 Тогда // тзТМЦ.ТМЦПриемник = сп.ТекущийЭлемент().Наименование;
//Поиск всеже лучше организовать по коду или по уникальному реквизиту //но его тогда надо добавить в таблицу значений Если СпрТМЦОле.НайтиПоНаименованию(тзТМЦ.ТМЦИсточник,0,1)=1 Тогда тзТМЦ.ТМЦПриемник = СпрТМЦОле.ТекущийЭлемент().Наименование; Иначе Предупреждение("Нет такого справочника в базе приемнике!",1); КонецЕсли; КонецЕсли;
КонецПроцедуры
Ну и проверка на удаленные и группы тоже будет не лишняя. ЗЫ Исправил грмматическую ошибку. ЗЫЫ Так же вместо предупреждения возможно и создание (копирование) справочника из одной базы.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!