hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« : 29-09-2010 04:39 » |
|
Я только начинаю обучаться программированию в 1с. Но так и не смог найти самый простешеи отчет, всегда попадались с наворотами, откуда новичку трудно выявить алгоритм построения. А хотелось бы начать с травиального и постепенно переходить на более сложные конструкци.
Помогите создать небольшой отчетик: по нажатию кнопки "сформировать" выводилась таблица с ФИО сотрудников + нужно, чтобы можно было сделать выборку по полу.
И, если не трудно, то еще объясните конструкцию модуля(т.е какое действие что делает)...Я немного алгоритм понимать начал, но еще раз закрепить не помешает...
|
|
« Последнее редактирование: 29-09-2010 05:02 от Алексей1153++ »
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #1 : 29-09-2010 04:58 » |
|
В плане структуры программы 1С 7.7 построена несколько не логично. Вот несколько вспомнившихся фактов: - реквизиты, добавленные на форму, доступны в модуле просто по идентификатору. При этом если в модуле есть еще и переменная с таким именем - ошибки это не вызовет, но работа будет трудно предсказуема
- обработка событий формы происходит процедурами с задаными названиями (предопределенными процедурами), в то время как события реквизитов формы (только одно, какое именно - зависит от типа) прописываются в свойствах реквизита.
- методы объектов разных типов, выполняющих одно и то же действие, называются по-разному
В этом плане 8.Х построена намного лучше. Внимание вопрос: о какой платформе ты говоришь?
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #2 : 29-09-2010 05:01 » |
|
7.7
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #3 : 29-09-2010 05:42 » |
|
Пойдем по порядку: Удалось создать отчет? Удалось разместить реквизит для выбора пола на форме?
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #4 : 29-09-2010 05:49 » |
|
до риквизита особо дело не дошло...я никак не создам модуль...не разобрался еще точно что за чем идет...когда в ход идет создание секций...
Добавлено через 8 минут и 32 секунды: Прецедура Сформировать()
сотр = СоздатьОбъект("Справочник.Сотрудники");
Таб = СоздатьОбъект(ТаблицаЗначений);
Таб.НоаваяКолонка("ФИО"); Таб.НоваяКолонка("Должность"); Таб.НоваяКолонка("Подразделение"); Таб.НоваяКолонка("Код");
//-------------------- Таб.Код=сотр.Код; Таб.Фио=сотр.Наименование; Таб.Подразделение=сотр.Подразделение.Получить(); Таб.Должность=сотр.Должность.Получть();
дальше я пока запнулся
|
|
« Последнее редактирование: 29-09-2010 05:58 от hiller »
|
Записан
|
|
|
|
kiser
Участник
Offline
|
|
« Ответ #5 : 29-09-2010 07:02 » |
|
Прецедура Сформировать() сотр = СоздатьОбъект("Справочник.Сотрудники"); Таб = СоздатьОбъект(ТаблицаЗначений); Таб.НоаваяКолонка("ФИО"); Таб.НоваяКолонка("Должность"); Таб.НоваяКолонка("Подразделение"); Таб.НоваяКолонка("Код"); //-------------------- Таб.Код=сотр.Код; Таб.Фио=сотр.Наименование; Таб.Подразделение=сотр.Подразделение.Получить(); Таб.Должность=сотр.Должность.Получть(); дальше я пока запнулся
вроде так ты ничего не выбрал чтоб почитать всех сотрудников из справочника нужно так: Прецедура Сформировать() Таб = СоздатьОбъект("ТаблицаЗначений"); //не забываем указывать тип и размерность Таб.НоаваяКолонка("ФИО,"Строка",50,0); Таб.НоваяКолонка("Должность","Строка",15,0); Таб.НоваяКолонка("Подразделение","Спрвочник.Подразделение"); Таб.НоваяКолонка("Код","Число",5,0);
сотр = СоздатьОбъект("Справочник.Сотрудники"); сотр.ВыбратьЭлементы(); //выбираем всех из справочника Пока сотр.ПолучитьЭлемент()=1 Цикл //читаем по одному //проверка Если Сотр.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли;
//Теперь добавление в таблицу значений Таб.НоваяСтрока(); //не забываем про это Таб.Код=сотр.Код; Таб.Фио=сотр.Наименование; //далее периодические реквизиты получаем по дате, //где ДатаДок – можно указать на форме отчета или создать переменную. Таб.Подразделение=сотр.Подразделение.Получить(ДатаДок); Таб.Должность=сотр.Должность.Получить(ДатаДок); КонецЦикла;
КонецПроцедуры;
|
|
« Последнее редактирование: 29-09-2010 07:05 от kiser »
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #6 : 29-09-2010 07:29 » |
|
с этим, вроде, разобрался, а как теперь правильно передать значение из этой ТаблицыЗначений в таблицу отчета, которая будет открываться после нажатия кнопки "Сформировать"?
Добавлено через 6 минут и 46 секунд: нужно ли как-то объявлять имя и поля этой таблицы и когда объявлять секции?
|
|
« Последнее редактирование: 29-09-2010 07:36 от hiller »
|
Записан
|
|
|
|
kiser
Участник
Offline
|
|
« Ответ #7 : 29-09-2010 07:54 » |
|
да нужно, но тут лучше смотреть на примерах в готовых отчетах или документах. В таблицах глянь как они оформляются и выделяются секции, а в модуле смотри как формируется таблица в коде ищи Таб=СоздатьОбъект("Таблица");
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #8 : 29-09-2010 09:42 » |
|
выводит ошибку почему-то:
Таб.НоваяКолонка("ФИО", "Строка", 50,1); {Отчет.новый4.Форма.Модуль(6)}: после агрегатного объекта не обнаружено(НоваяКолонка)
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #9 : 29-09-2010 09:48 » |
|
В твоем случае должно быть Таб = СоздатьОбъект("ТаблицаЗначений"); вместо Таб = СоздатьОбъект(ТаблицаЗначений); Попробуй сделать отчет с использованием запроса, а сам запрос - с помощью конструктора запроса (Меню: Конструкторы - Запрос...). Он тебе нарисует и запрос, и обход по нему, и вывод на экран - а после почитаешь текст и задашь вопросы.
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #10 : 30-09-2010 09:57 » |
|
большое спасибо, немного стал разбираться....решил попробывать оформить выбор пола через радиокнопки....как выглядит программный код, чтобы при флажке на радио кнопке 1 выводились все женщины...
я отчет делал через запрос....предполагаю, что код будет выглядеть примерно так:
Если ВыбПол = 1 Тогда ТекстЗапроса = ТекстЗапроса + РазделительСтрок + "Условие ( )" ; КонецЕсли;
Добавлено через 44 секунды: что в скобках долно быть?
|
|
« Последнее редактирование: 30-09-2010 09:58 от hiller »
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #11 : 30-09-2010 13:32 » |
|
Во-первых в кавычках должна быть ";" после скобок, во-вторых с радиокнопками лучше разбирайся позже (они достаточно плохо реализованы в 7.7) ну и лучше выбор пола задай тем же типом, что у тебя реквизит в справочнике (скорее всего - перечисление) Тогда (если ты реквизит назовешь ВыбПол) то код будет такой: Если ВыбПол.Выбран()=1 Тогда ТекстЗапроса = ТекстЗапроса + " Условие(Пол=ВыбПол);"; // РазделительСтрок на выполнение не влияет КонецЕсли; И вообще - опубликуй свой запрос (легче будет пояснять на живом коде)
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #12 : 01-10-2010 07:27 » |
|
Процедура Сотрудники()
Перем Запрос, ТекстЗапроса, Таб; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сотрудники) |Сотрудники = Справочник.Сотрудники.ТекущийЭлемент; |Пол = Справочник.Сотрудники.Пол; |Подразделение= Справочник.Сотрудники.Подразделение; |Группировка Сотрудники упорядочить по Сотрудники.Код, Сотрудники.Наименование, Сотрудники.Должность, Сотрудники.Подразделение; |Условие(Пол = ВыбПол); |Условие(Подразделение = ВыбПодразделение); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли;
// Если ВыбПол1 = 1 Тогда // ТекстЗапроса = ТекстЗапроса + РазделительСтрок + "Условие (Пол=2);"; // КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сотрудники"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Сотрудники Таб.ВывестиСекцию("Сотрудники"); КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сотрудники", "");
КонецПроцедуры //выводит только пол из справочника ОКИН Процедура ПриНачалеВыбораЗначения(Элемент,ФлагОбработки) Если Элемент="ВыбПол" Тогда ФлагОбработки = 0; МодальныйРежим=Форма.МодальныйРежим(); Если МодальныйРежим = 0 тогда ОткрытьПодбор("Справочник.ОКИН","ДляВыбораПоФасету","01",0,ВыбПол); Иначе ВыбранноеЗначение = "01"; ОткрытьФорму("Справочник.ОКИН.ДляВыбораПоФасету", ВыбранноеЗначение); Если ПустоеЗначение(ВыбранноеЗначение) = 0 тогда ВыбПол = ВыбранноеЗначение; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры Добавлено через 3 минуты и 54 секунды:теперь думаю как можно в конце таблицы вывести поле ИТОГО с колличеством найденых сотрудников и создать флажок, чтобы если флажок=1 выводились все сотрудники(штатные, физлица, уволенные), а если флажок=0, то выводились только штатные как это реализовать в том случае, если создается ТаблицаЗначений, я нашел....а вот как это сделать обойдясь одними запросами? такое вообще можно реализовать? Добавлено через 2 дня, 23 часа, 39 минут и 28 секунд:с ИТОГО тоже разобрался, осталось с флажком уволенных
|
|
« Последнее редактирование: 04-10-2010 09:53 от hiller »
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #13 : 04-10-2010 14:44 » |
|
hiller, А какой признак уволенности сотрудника? Установлена Дата увольнения или что-то другое?
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #14 : 05-10-2010 05:16 » |
|
hiller, А какой признак уволенности сотрудника? Установлена Дата увольнения или что-то другое?
в справочнике "Сотрудники" есть колонка "Состояние" (забивается в сотрудники/места работы) ...там и прописывается какой он: штатный, физлицо, внешний или уволенный пишется так: Штатный сотрудник с 00.00.2000 или Сотрудник уволен 00.00.2000 Добавлено через 26 минут и 26 секунд:хотя зачем такие сложности?, как сделать чтобы он просто выводил всех штатных сотрудников по умолчанию, без каких либо флажковых кнопок? я так понимаю, что это как-то связано с " Справочник.Сотрдудники.СостояниеФизЛица" Добавлено через 1 час, 23 минуты и 42 секунды:и вот еще: если из языка компьютера на наш родной язык перевести: ПустоеЗначение(сотр.СостояниеФизЛица.Получить(ДатаА))<>1 что получится?
|
|
« Последнее редактирование: 05-10-2010 07:09 от hiller »
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #15 : 05-10-2010 08:17 » |
|
и вот еще: если из языка компьютера на наш родной язык перевести:
ПустоеЗначение(сотр.СостояниеФизЛица.Получить(ДатаА))<>1
что получится?
"Заполнено состояние на дату ДатаА" С периодическими реквизитами в запросах сложности
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #16 : 05-10-2010 12:01 » |
|
я смотрю, можно списки нужныхколонок можно оформить с помощью элемента диалга "Список"
хочу попробывать создать два списка: в одном множество колонок, а в другом те, которые я выберу из первого...
первое на чем встрял: Как заполнить первый список интерисующими меня параметрами?
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #17 : 05-10-2010 13:39 » |
|
Смотри в синтакс-помощнике методы работы со значениями типа СписокЗначений. Заполнять в предопределенной процедуре ПриОткрытии() - см. там же
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #18 : 06-10-2010 09:44 » |
|
спасибо, разобрался, правда на примере, т.к. работаю на портейбол версси, а там нет такого помощника....а есть такой помощник, чтобы он отдельно работал, как хелп какой-нть?
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #19 : 06-10-2010 09:59 » |
|
hiller, тяжело тебе без синтакс-помощника придется... С portable версиями не работал - а что значит "нет"? Синтакс-помощник - это набор файлов *.als в каталогах программы / базы. Можешь где-то установить обычную версию и скопировать оттуда эти файлы в каталог базы, на которой ты тренируешься. Дальше вызывается по Ctrl+F1
|
|
|
Записан
|
|
|
|
hiller
Интересующийся
Offline
Пол:
жить тоже опасно, говорят это смертельно
|
|
« Ответ #20 : 07-10-2010 05:19 » |
|
а ЖКК не тоже самое будет?, такую я нашел Добавлено через 3 часа, 40 минут и 31 секунду:а как реализовать такое: нажав на кнопку"Цеха" открывается справочник цеха(лежит он тут: Справочники.ИК_Цеха)? Добавлено через 20 часов, 16 минут и 24 секунды:все, спасибо, не надо, сделал Добавлено через 1 час, 6 минут и 13 секунд:новай проблема:хочу, чтобы выбранные элементы из справочника попадали в список "Цеха"...пытаюсь через ОбработкаПодбора,но, пока, ничего не выходит...как это сделать правильно? Добавлено через 14 минут и 5 секунд:все сделал...вошебный форум(мучаешься-мучаешься, заходишь в тупик - отписываешься сдесь и все сразу получается) Добавлено через 3 дня, 3 часа, 1 минуту и 40 секунд:еще такой вопрос: хочу, чтобы при нажатии первой кнопки открывался список с цехами(справочник.ИК_Цеха), из которого я добавляю нужные цеха в первый список(с идентификатором "подбор") при нажатии второй кнопки должен открываться список с профессиями(справочник.Должности), из которого я добавляю нужные долности в другой список(с идентификатором "долности") у меня пока только получается, что какой бы из двух справочников я не открыл, все выбранные из него поля добавляются в первый список, либо во все два одновременно. В чем моя ошибка? Процедура Подбор();
ОткрытьПодбор("Справочник.ИК_Цеха", "ИК_Цеха"); КонецПроцедуры //************************************************** Процедура Подбор2();
ОткрытьПодбор("Справочник.Должности", "Должности"); КонецПроцедуры
//************************************************** Процедура ОбработкаПодбора(Элемент,КонтФормы) Если ПустоеЗначение(Элемент)=0 Тогда Если Элемент.ЭтоГруппа()=0 Тогда Если ИК_Цеха.НайтиЗначение(Элемент)=0 Тогда ИК_Цеха.ДобавитьЗначение(Элемент,""+Элемент+?(Элемент.Наименование = Элемент,""," ")); Иначе Предупреждение("Цех уже выбран в списке!",10); КонецЕсли; КонецЕсли; КонецЕсли; //Если ПустоеЗначение(Элемент)=0 Тогда // Если Элемент.ЭтоГруппа()=0 Тогда // Если Должности.НайтиЗначение(Элемент)=0 Тогда // Должности.ДобавитьЗначение(Элемент,""+Элемент+?(Элемент.Наименование = Элемент,""," ")); // Иначе // Предупреждение("Профессия уже выбрана в списке!",10); // КонецЕсли; // КонецЕсли; // КонецЕсли; // таким образом добавляется в оба списка// КонецПроцедуры // ОбработкаПодбора
//**************************************************
Процедура ОбработкаПодбора2(ЭЛ,Конт)
Если ПустоеЗначение(ЭЛ)=0 Тогда Если ЭЛ.ЭтоГруппа()=0 Тогда Если Должности.НайтиЗначение(ЭЛ)=0 Тогда Должности.ДобавитьЗначение(ЭЛ.Наименование,"ЭЛ" ); Иначе Предупреждение("Профессия уже выбрана в списке!",10); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры //а так только в первый
|
|
« Последнее редактирование: 11-10-2010 09:38 от hiller »
|
Записан
|
|
|
|
KolyaVasya
Участник
Offline
|
|
« Ответ #21 : 06-05-2011 10:36 » |
|
Приветы форумчанам. Последую наблюдениям предшествинника отпишусь а форуме .... авось и я разберусь ) В программировании 1с новичек, но имею сильное желание вкурить этот язык. ТЗ следующего рода: необходимо написать отчет, в котором бы была возможность выбирать перемещения товара из оптовой точки в розничную. Таки есть нужда отследить чего мы, кому и в каких колличествах отправляем ) Решил учиЦо сразу на ТЗ но чуть чуть его упростить, попытался сделать выборку по дате, Склад, СкладКуда (Делал через конструктор) вот что получилось, точнее НЕ получилось. МБ просветлённые гуру подскажут, в чем я не прав ? Заранее признателен ) 1с 7.7 скуль 2к на w2k3 //******************************************* // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Перемещение = Документ.Перемещение.ТекущийДокумент; |Склад = Документ.Перемещение.Склад; |СкладКуда = Документ.Перемещение.СкладКуда; |Группировка Перемещение упорядочить по Перемещение.Склад, Перемещение.СкладКуда, Перемещение.НомерДок, Перемещение.Фирма, Перемещение.Выгружен, Перемещение.Товар, Перемещение.Цена, Перемещение.Сумма; |Условие(Склад = ВыбСклад); |Условие(СкладКуда = ВыбСкладКуда); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Перемещение Таб.ВывестиСекцию("Перемещение"); КонецЦикла; // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры
|
|
|
Записан
|
|
|
|
Kivals
|
|
« Ответ #22 : 06-05-2011 14:09 » |
|
KolyaVasya, на первый взляд все Ок - что не так?
|
|
|
Записан
|
|
|
|
KolyaVasya
Участник
Offline
|
|
« Ответ #23 : 07-05-2011 09:04 » |
|
Привет, форум и правда волшебный .... все запахало разобрался.... Стопанулся на том что не умею работать со СписокЗначений. Как написать код чтобы в список значений по нажатию кнопки добавить открывался список товаров, из которого бы можно было добавить товар из Справочники.Номенклатура Можно описать народ ? Помогите новичку Наваял следующее: Процедура КнДобавить () Список = СоздатьОбъект("СписокЗначений"); Товар = ОткрытьФорму("Справочник.Номенклатура.Наименование",,); // ОткрытьФорму("Справочник.Склады","Наши"); ВыбТовар.ДобавитьЗначение(Товар); КонецПроцедуры Но в список добавляются единицы "1"
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #24 : 07-05-2011 09:54 » |
|
KolyaVasya, не все так считают. Кто сам выполняет работу и только прочит помощи разобраться - тому хорошо, кто хочет халявы - уходит разочарованным.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
KolyaVasya
Участник
Offline
|
|
« Ответ #25 : 07-05-2011 10:33 » |
|
KolyaVasya, не все так считают. Кто сам выполняет работу и только прочит помощи разобраться - тому хорошо, кто хочет халявы - уходит разочарованным.
Так с кнопкой и списком значений то не подскажешь ?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #26 : 07-05-2011 17:21 » |
|
Не - 1С не моя стезя. Могу только сказать, что 1С и не-1С - примерно одно и тоже, но одно на русском, а другое на английском. Короче, документацию надо смотреть: объекты, их свойства и методы.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sla
|
|
« Ответ #27 : 09-05-2011 20:25 » |
|
KolyaVasya,
Процедура КнДобавить () Список = СоздатьОбъект("СписокЗначений"); Товар = ОткрытьФорму("Справочник.Номенклатура.Наименование",,); // ОткрытьФорму("Справочник.Склады","Наши"); ВыбТовар.ДобавитьЗначение(Товар); КонецПроцедуры
Но в список добавляются единицы "1"
Ты можешь объяснить, что здесь написано... Я читаю, и не понимаю Список = СоздатьОбъект("СписокЗначений"); Создал Список Товар = ОткрытьФорму("Справочник.Номенклатура.Наименование",,); Это из формы я получил (назовем так ссылку на товар и его свойства) ВыбТовар.ДобавитьЗначение(Товар); Стоп... стоп.... Что мы здесь делаем. Куда добавляем?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Kivals
|
|
« Ответ #28 : 10-05-2011 05:12 » |
|
KolyaVasya, ага, ты точно перемудрил... Похоже у тебя ВыбТовар - это список на форме? тогда "Список = СоздатьОбъект("СписокЗначений");" - не нужно. А "1" добавляется потому, что ОткрытьФорму() "Возвращает: 1 - если действие выполнено, 0 - иначе." В твоем случае можно использовать либо либо Спр = СоздатьОбъект("Справочник.Номенклатура"); Спр.Выбрать(); Можно, конечно, и через ОткрытьФорму(), но тогда нужно использовать предопределенную процедуру ОбработкаПодбора()
|
|
|
Записан
|
|
|
|
KolyaVasya
Участник
Offline
|
|
« Ответ #29 : 11-05-2011 05:14 » |
|
ребят спсб коЭшн )) но форум и правда волшбный, и я давно разобралСо с кнопками сам )
|
|
|
Записан
|
|
|
|
|