:: Вопросы по 1С
83 из под VFP-9
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Эксперементирую с 83 из под фокса.
Вызываю так:
IF VARTYPE(goV83)!="O"
WAIT 'Идет соединение с 1С' NOWAIT WINDOW
goV83=CREATEOBJECT("V83.Application")
IF TYPE("goV83")#"O"
WAIT WINDOW "! Не удалось создать Объект Программы 1С версии 8.2" NOWAIT
RELEASE goV83
RETURN .F.
ENDIF
ENDIF
IF !Con1s
cCon='File="E:\1С\8.3";Usr=;Pwd=;'
Con1s = goV83.Connect(cCon)
IF !Con1s
MESSAGEBOX('Ошибка подключения к БД 1С 8.3',16)
goV83.Exit()
RELEASE goV83
RETURN .F.
ENDIF
ENDIF
qq= goV83.Справочники.Номенклатура.ПолучитьФормуВыбора()
ee=qq.ОткрытьМодально()
IF VARTYPE(ee)="O"
?ee.Код
?ee.Наименование
ENDIF
Все работает, все отбирается.
Одна маленькая неприятность.
При первом обращении, на строке Con1s = goV83.Connect(cCon) открывается экземпляр 1С, то бишь со всем интерфйесом.
А он не нужен.
Закрываю его, далее все нормально, больше не дергает.
Можно от этого как то избавиться?

Цель, попробовать работать из фокса, сразу с 1С, и даже с их формами и логикой.


------------------




Исправлено 1 раз(а). Последнее : Аспид, 20.02.15 08:47
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
ну мало ли что там на стороне 1це прописано. для этого нуна посмотреть на код процедуры ПриНачалеРаботыСистемы() в модуле внешнего соединения. к примеру:
Процедура ПриНачалеРаботыСистемы()
Если ДеньГода(ТекущаяДата())=1 Тогда // выходной день
ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;
КонецПроцедуры

функция ПолучитьФормуВыбора() пашет только на толстом клиенте. так что странно что приведенный код вообще у тя работает
хотя могу и ошибаться, так как с 8.3 не работаю, но вот в 8.2 это наверняка не заработает


------------------
Мойте ноги, моя ноги вы моете и руки
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Канат, первую такую попытку, делал давно, и именно на 82.
Поверь - работало)))
Я тот же текст оставил. (так кажется, голову на отсечение не дам)
Меня что тогда и поразило, прямо из фокса, доступно окно 1С.

А у меня куча синхронизаций с 1С. Возникает в голове, несколько иная архитектура.
Вот, пришло время, попробовать что то.

Насчет толстого клиента... просто и не знаю. Визуально, все та же управляемая форма.
Я увы... совсем мало знаком с 1С.
Как то по форме можно догадаться, толтый это или...?
Но мне кажется нет.
ОТкрывется форма быстро, как в 1с. Т.е. не тянет, как раньше, всю бд.

А наш 1С-ник, сам в процессе познания новых 8рок)))
На 77 пока сидим. Постепенно хотим перевести.


------------------
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
тож кучу понаписывал синхронизаторов... но никогда не юзал формы для ентого дела. нафига оне?
обычно рисовал таким образом: прога-экспортер либо выгружала данные (оч.редко такое) или предоставляла доступ к данным, а 1це импортировала
ps на инфостарте есть вагон этих синхронизаторов уже готовых либо как заготовка для напильника, но как обычно без коментариев по телу прог. такие дела


------------------
Мойте ноги, моя ноги вы моете и руки
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Чужие синхронизаторы... мне на фиг не уперлись)))
Что надо сделано. Что появляется новое... приходится думать. Но это быстрее, чем искать, и разбираться в чужом.
Но это все про 77.
А 8ка, позволяет вызвать сразу форму 1С.
Это ж позволяет... в перспективе, оставить у себя, только самые критичные, и тормознутые в 1С вещи.
Пока это только мысли + эксперименты)))

И пока речь только о справочниках.
Но полагаю и документы, можно сразу создавать в 1С.
Пусть и из своих форм.

Вот доп вопрос, перечитал кучу))) Запутался.
Есть справочник номенклатура.
В нем папки (Асфальт, Бетон и т.д.)
Ни как не могу понять, как открыть форму, что бы у нее, в зависимости от параметра, был список из папки "Асфальт" например.


------------------
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Аспид
Вот доп вопрос, перечитал кучу))) Запутался.
Есть справочник номенклатура.
В нем папки (Асфальт, Бетон и т.д.)
Ни как не могу понять, как открыть форму, что бы у нее, в зависимости от параметра, был список из папки "Асфальт" например.
Какие формы/режим запуска предприятия? Обычные или управляемые? Версия платформы? Конфига и её версия?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
Цитата:
как открыть форму, что бы у нее, в зависимости от параметра, был список из папки "Асфальт" например
оч.просто
устанавливаешь отбор и/или делаешь текущим элементом любой из элементов текущей папки
Цитата:
Какие формы/режим запуска предприятия? Обычные или управляемые? Версия платформы? Конфига и её версия?
ну ты прям как гугланалитикс

------------------
Мойте ноги, моя ноги вы моете и руки




Исправлено 1 раз(а). Последнее : Foxtrot, 24.02.15 20:50
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Формы управляемые.
Платформа 8.3.5.1248
Бухгалтерия предприятия, редакция 3.0 (3.0.36.21)
Управляемое приложение


------------------
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Foxtrot
оч.просто
устанавливаешь отбор и/или делаешь текущим элементом любой из элементов текущей папки
Даже ни разу не сомневаюсь, что очень просто)))
Вот не примите за полного иждивенца)))
Читаю, ищу, но... много, не все сразу)))
Все же... довольно своеобразная логика у 1С.
Надо в нее въехать, преодолеть языковой барьер)
Вот как встать на какой то элемент, при открытии?
То бишь, сделать его текущим?


------------------
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
//ищем случайный элемент из справочника Контрагенты,
//это только для демонстрации, в реальности нужна лишь ссылка
Орлы = Справочники.Контрагенты.Выбрать();
Орел = Неопределено;
Итератор = 0;
Пока Орлы.Следующий() И Итератор <= Секунда(ТекущаяДата()) Цикл
Орел = Орлы.Ссылка;
Итератор = Итератор + 1;
КонецЦикла;
Если Орел=Неопределено Тогда
Предупреждение("Чёт лыжи не едут");
Иначе
// пробуем открыть форму
Форма = Справочники.Контрагенты.ПолучитьФормуСписка();
Форма.Открыть();
//перебираем все элементы формы = ищем список, если заранее объект не известен
Для ТекЭлемент=0 По Форма.ЭлементыФормы.Количество()-1 Цикл
//текущим элементом должен стать результат нашего поиска
Если ТипЗнч(Форма.ЭлементыФормы.Получить(ТекЭлемент))=Тип("ТабличноеПоле") И Форма.ЭлементыФормы.ПолучитьТекЭлемент).Данные="СправочникСписок" Тогда
Форма.ЭлементыФормы.Получить(ТекЭлемент).ТекущаяСтрока = Орел;
Прервать;
КонецЕсли;
КонецЦикла;
Предупреждение(Орел);
КонецЕсли;
во вложении обработка с этим же кодом, тока удали расширение лишнее. пришлось добавить чтоб обойти ограничение


------------------
Мойте ноги, моя ноги вы моете и руки




Исправлено 1 раз(а). Последнее : Foxtrot, 26.02.15 23:14
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Канат, а теперь внимательно читаем
Цитата:
Бухгалтерия предприятия, редакция 3.0 (3.0.36.21)
Управляемое приложение
и сопоставляем это с
Цитата:
ЭлементыФормы


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
ну нет у меня под рукой трешки
и так уже до кодирования в браузере как Королев опустилсо, а тут еще ты со своими ... шутками
лана, ежели завтра вспомню на пашне - уделю малость


------------------
Мойте ноги, моя ноги вы моете и руки
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Аспид
Вот доп вопрос, перечитал кучу))) Запутался.
Есть справочник номенклатура.
В нем папки (Асфальт, Бетон и т.д.)
Ни как не могу понять, как открыть форму, что бы у нее, в зависимости от параметра, был список из папки "Асфальт" например.
Есть несколько способов содрать шкуру с кошки...
Есть несколько способов открыть форму с установленным отбором... При чем есть способы вообще без кодирования. Выбор способа определяется конкретной задачей.
Если подробнее опишешь задачу, то попробую на своей БП 3.0 сваять подходящий под твою задачу пример.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Имеется некое рабочее место, диспетчер.
Реализовано на VFP-9.
Диспетчер, работает, с каким то типом "Номенклатуры"
То, что на рисунке, как папки.
[attachment 21136 ]

Сейчас, выбирая номенклатуру, открывается именно та папка с которой работают в данный момент (на самом деле из БД получается выборка, содержащая, только номенклатуру этой группы)
[attachment 21137 ]
Хотелось бы, так же с 1с.
Т.е. передав некий параметр,определяющий группу, в открытие формы, она открылось бы, как на 2м. рисунке.
Можно даже без названия группы. Не имеет значения.

На сегодня, я умею открывать формы из фокса)
Получаю выбранный элемент.
Если еще, открыть так, как привычно юзерам, то вполне можно заменить, кучу логики своей, на логику 1С.
(все равно все там реализовано)

Еще добавлю.
Первый рисунок - про него диспетчерская и не знает. Более того, у них и не все папки-группы используются.
Он не просто непривычен будет, он еще и с толку будет сбивать, не говоря уж, о лишних нажатиях)))
А мы там за секунды боремся. Служба, определяющая производительность всего предприятия.

Возможно что то не ясно, отвечу что смогу.


------------------
Ratings: 0 negative/0 positive
Re: 83 из под VFP-9
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Кусочек доки


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 4 (Гостей: 4)

© 2000-2024 Fox Club 
Яндекс.Метрика