Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопросы по запросам :)  (Прочитано 31264 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
schnibbl
Гость
« : 14-03-2005 10:48 » 

Пора уже рубрики открывать обучающие азам Улыбаюсь
Вот теперь несколько вопросов по запросам.

Ваяем простенький запрос:

Код:
ПериодическийРеквизит = СоздатьОбъект("Периодический");

Табличка=СоздатьОбъект("Таблица");
Табличка.ИсходнаяТаблица("Таблоид");

запросик=СоздатьОбъект("Запрос");
ТекстЗапроса=
"
|ТекущийОС=справочник.ОсновныеСредства.ТекущийЭлемент;
|ТекущийПлощадь=справочник.ОсновныеСредства.Площадь;
|Условие ((ТекущийПлощадь>10) и (ТекущийПлощадь<200));
|Группировка ТекущийОС упорядочить по ТекущийОС.Наименование;
|
|"
;

Если запросик.Выполнить(ТекстЗапроса) = 0 тогда Предупреждение("Запрос содержит ошибки.");
иначе Пока Запросик.Группировка("ТекущийОС")=1 Цикл
   счетчик=счетчик+1;
   ПериодическийРеквизит.ИспользоватьОбъект("Площадь", запросик.ТекущийОС);
       Табличка.ВывестиСекцию("ВыводОС");
    //Секция содержит несколько переменных - равносильно нижеследующему:
//Сообщить(Запросик.ТекущийОС+"  "+ Запросик.ТекущийПлощадь + "  " + Запросик.ТекущийОС.Площадь);

  КонецЦикла;
   Табличка.Показать("Элементы ОС");
   Сообщить("Всего элементов: "+счетчик,"!!");
конецЕсли;

Сразу следует сказать, что реквизит Площадь у справочника Основные средства - переодический.

Первы вопрос - "почему": как мы видим условия вывода по площади, почему в выходной таблице присутствуют элементы площадь которых равна "0" ? все они имена групп, но при этом выводятся названия не всех групп которые есть в справочнике Не понял

Второй вопрос - "почему": если меняем условие запроса на следующее: |Условие ((ТекущийОС.код>10) и (ТекущийОС.код<12)); выводит элемент (и опять имя группы с нулевыми реквизитами) теперь если  |Условие (ТекущийОС.код=11); то наша 1С ничего ненаходит Не понял

Третий вопрос - "как": Строчка в цикле пробегающемся по элементам запроса: ПериодическийРеквизит.ИспользоватьОбъект("Площадь", запросик.ТекущийОС); не работает - пишет "Площадь не является константой или периодическим реквизитом", на обращение Запросик.ТекущийОС.Площадь говорит что неизвестный объект. Как грамотно работать с периодическими реквизитами в условиях Запроса Не понял

Четвертый вопрос - "почему":   Почему неработает такая переменная в запросе группа=справочник.ОсновныеСредства.ПолноеНаименование. и/или же неработает такое обращение запросик.ТекущийОС.ПолноеНаименование ? как тогда узнавать иерархию в справочнике найденых элементов Не понял
« Последнее редактирование: 14-03-2005 10:56 от schnibbl » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 14-03-2005 16:38 » 

Цитата
Первы вопрос - "почему"...
Нужно: Группировка ТекущийОС упорядочить по ТекущийОС.Наименование без групп;
Цитата
Второй вопрос - "почему"...
Возможно, Тип кода - строковый, тогда 11<>"11". Попробуй привести код к числу
Цитата
Третий вопрос - "как"...
Возможно - ругается именно на группах? Добавить проверку:
Код:
Если запросик.ТекущийОС.ЭтоГруппа()=0 Тогда ... КонецЕсли;
Цитата
Четвертый вопрос - "почему"...
А если так: запросик.ТекущийОС.ПолноеНаименование() ?
Записан
Reskator
Гость
« Ответ #2 : 14-03-2005 22:21 » 

(Пояснения к 1 вопросу) Думаю следует пояснить, что у тебя должны выводиться только те группы, в которых есть элементы, удовлетворяющие условию запроса. А уважаемый Kivals абсолютно прав.
(Пояснения к 4 вопросу) Думаю, что такой финт ушами не пройдет. А иерархию можно узнавать атрибутами "Родитель".
Записан
schnibbl
Гость
« Ответ #3 : 15-03-2005 06:56 » 

по поводу первого, действительно выводятся названия групп в которых найдены элементы.

по поводу второго не очень понятно (код действительно строковый), веть 1С вроде как бы сама переделывает тип переменной если он не подходит, и почему тогда строку переведя в число она понимает что она больше 10 и меньше 12 но не понимает что она равна 11 вам это не кажется странным Не понял

по поводу четвертого, вродебы в запросе вообще у стандартных функций по работе не должно быть скобок - ругается тогда (например текущийЭлемент без скобок пишется ? хотя в нормальном коде скобки необходимы). в общем щас попробую..

по поводу третьего вопроса обработка вылетает в процессе выполнения запроса, значит проверку надо делать в самом запросе.

Следующий вопрос Улыбаюсь не могли бы вы скинуть ссылочку на какое нить очень подробное пособие по тому как запросы писать в описании встроенного языка че то я не въехал с первого раза, как-то пишу всё на интуитивном уровне, а хотелось бы правил побольше почитать...
Записан
Reskator
Гость
« Ответ #4 : 15-03-2005 07:53 » 

А на 1С вообще пишется больше по инуиции. Я по запросам сам искал какую-нибудь ссылочку, все мимо. Жаль
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 15-03-2005 08:58 » 

Со ссылочкой туго Жаль
Я разбирался сам, используя встроенный Помошник создания запросов и стандартную документацию 1С.
По поводу строковых типов - не кажется, т.к. в случае "<", ">" 1С приводит строку в число, а в случае "=" - число к строке.  Неравенство получается потому, что строки "11", " 11", "11 " не равны. Т.е. если у тея в конфигураторе длина кода больше 2 (например: 4), то тебе надо сравнивать не Код="11", а Код="  11"
Третий вопрос: не понял, как кострукцию типа ПериодическийРеквизит.ИспользоватьОбъект("Площадь", запросик.ТекущийОС) ты используешь в запросе?

Reskator
Спасибо за пояснение про группы! Почему-то упустил его, хотя и собирался написать Улыбаюсь
« Последнее редактирование: 15-03-2005 09:00 от Kivals » Записан
schnibbl
Гость
« Ответ #6 : 15-03-2005 12:24 » 

Конструкцию я использую не в самом запросе а в том что это запрос вернул, в моем понимании когда говорят "используеш в запросе" реч идет о том что пишется в "ТекстЗапроса =...." и вот если в ТекстЗАпроса поставить ТекущийОС=....ТекущийЭлемент() именно со скобками, то по непонятной причине 1С скажет что это ошибка. и говоря "в процессе выполнения запроса" я имел ввиду что ошибка возникает в момент запросик.Выполнить(ТекстЗапроса) а то что там дальше копаешся после того как эта штука "1" вернула, то это уж если руки есть и запрос правильно написан, что нужно то и получиш, а если как в моем случае то результаты оставляют желать лудшего Улыбаюсь
Записан
schnibbl
Гость
« Ответ #7 : 15-03-2005 12:30 » 

второй раз слышу про иерархию, узнаваемую с помощью метода "Родитель" приведите пожалуйста пример очень коротенький, который бы вытаскивал элемент справочника и данным методом передавал некой переменной значение всех групп в которые он входит (имеет ввиду аналог ПолноеНаименование ). если не сложно.
« Последнее редактирование: 15-03-2005 12:32 от schnibbl » Записан
schnibbl
Гость
« Ответ #8 : 16-03-2005 08:30 » 

вопросик вот какой у всех так: после выполнения запроса если мы выводим на экран переменную запроса, то всё что ыводитсья после неё уходит в небытиё.
Сос=СоздатьОбъект("Справочник.Основныесредства");
в обычной программе при Сообщить(Сос +" | " + "Сос.Наименование") выведет все (вместо СОС выведет сос.Наименование)
если же вывести переменную запроса таким макаром "    |ТекущийДоговор=справочник.Договоры.ТекущийЭлемент;"
Сообщить(запросик.ТекущийДоговор +" | "+СтрДлина(запросик.ТекущийДоговор.Наименование));
выведет только саму запросик.ТекущийДоговор.Наименование а символ  "|" и значение длинны съест.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 16-03-2005 09:40 » 

1. Так я тебе и писал, как это использовать в последующем цикле выборки результатов запроса:
Код:
Если запросик.Выполнить(ТекстЗапроса) = 0 тогда Предупреждение("Запрос содержит ошибки.");
иначе Пока Запросик.Группировка("ТекущийОС")=1 Цикл
   счетчик=счетчик+1;
   Если запросик.ТекущийОС.ЭтоГруппа()=0 Тогда
      ПериодическийРеквизит.ИспользоватьОбъект("Площадь", запросик.ТекущийОС);
      Табличка.ВывестиСекцию("ВыводОС");
   КонецЕсли;
  КонецЦикла;
   Табличка.Показать("Элементы ОС");
   Сообщить("Всего элементов: "+счетчик,"!!");
конецЕсли;

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

3. Приводи все переменные к типу Строка или используй форматирование вывода (см. с справке функции Формат() и Шаблон() )
Пример 1 (к строке): Сообщить(Строка(запросик.ТекущийДоговор)+" | "+СтрДлина(запросик.ТекущийДоговор.Наименование));
Пример 2 (Шаблон): Сообщить(Шаблон("[запросик.ТекущийДоговор]|[СтрДлина(запросик.ТекущийДоговор.Наименование)]"));
Записан
easily
Участник

ru
Offline Offline

« Ответ #10 : 04-08-2006 07:47 » 

Пробовала сделать как описано выше... видимо что-то упустила..
Проблема таже, как получить периодический реквизит справочника через запрос? В периодическом реквизите всего  2-а значение "ТрудовойДоговор" и "ТрудовыеОтношения". Пожалуйста ПОМОГИТЕ Жаль
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 04-08-2006 08:12 » 

в запросе есть строка
Код:
Период с НачДата по КонДата;
Периодический реквизит справочника берется на КонДата
Записан
easily
Участник

ru
Offline Offline

« Ответ #12 : 04-08-2006 08:26 » 

Процедура Сформировать() 
Перем Запрос, ТекстЗапроса;
   
Справ = СоздатьОбъект("Справочник.Сотрудники");
ПериодическийРеквизит = СоздатьОбъект("Периодический");

   //Создание объекта типа Запрос
   Запросик = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с НачДата по КонДата;
   |ХарактерРаботы = Справочник.Сотрудники.ХарактерРаботы;
   |Группировка ХарактерРаботы;
   |Условие(ХарактерРаботы = Перечисление.ХарактерРаботы.ТрудовойДоговор);
   |"//}}ЗАПРОС
   ;
Если запросик.Выполнить(ТекстЗапроса) = 0 тогда
   Предупреждение("Запрос содержит ошибки.");
иначе
  пр =     Запросик.ХарактерРаботы;
     Сообщить(пр);
КонецЕсли;


КонецПроцедуры
Записан
easily
Участник

ru
Offline Offline

« Ответ #13 : 04-08-2006 08:27 » 

он выдает пустую строчку
Записан
easily
Участник

ru
Offline Offline

« Ответ #14 : 04-08-2006 08:37 » 

,ой забыла, он не только периодический но и перечисление
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 04-08-2006 08:37 » 

Попробуй так:
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с НачДата по КонДата;
   |ТекущийЭлемент = Справочник.Сотрудники.ТекущийЭлемент;
   |ХарактерРаботы = Справочник.Сотрудники.ХарактерРаботы;
   |Группировка ТекущийЭлемент;
   |Условие(ХарактерРаботы = Перечисление.ХарактерРаботы.ТрудовойДоговор);
   |"//}}ЗАПРОС
   ;
Записан
easily
Участник

ru
Offline Offline

« Ответ #16 : 04-08-2006 08:53 » 

Спасибо все получилось
Записан
vSurfer
Гость
« Ответ #17 : 21-04-2009 11:21 » 

Добрый день!
Есть проблема с обработкой группировок в запросе
1С Предприятие 7.70.027. Конфигурация "Бухгалтерски"
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #18 : 21-04-2009 11:24 » 

vSurfer А можно не скромный вопрос. В чем все таки заключается проблема "с обработкой группировок в запросе". Или народ должен сам догадываться?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
vSurfer
Гость
« Ответ #19 : 21-04-2009 11:31 » 

Добрый день!
Есть проблема с обработкой группировок в запросе
1С Предприятие 7.70.027. Конфигурация "Бухгалтерский учет" для Украины 7.70.254. Формат БД *.dbf
Процедура АнализЧлВзносов()
   Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(АнализЧлВзносов)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ОбрабатыватьДокументы Все;
   |ОбрабатыватьОперации все;
   |Обрабатывать Все;
   |СчетДт = Операция.Дебет.Счет;
   |СчетКт = Операция.Кредит.Счет;
   |НаименованиеКонтрКт = Операция.Кредит.Контрагенты.Наименование;
   |ВидКонтрагентаКт = Операция.Кредит.Контрагенты.ВидКонтрагента;
   |СубконтоКтКонтр = Операция.Субконто.Контрагенты.Наименование;
   |СубконтоКтВидКонтр = Операция.Субконто.Контрагенты.ВидКонтрагента;
   |ДатаОперации = Операция.ДатаОперации;
   |СуммаПроводки = Операция.Сумма;
   |Группировка СчетКт;
   |Группировка ВидКонтрагентаКт;
   |Группировка НаименованиеКонтрКт;
   |Группировка Месяц все ВошедшиеВЗапрос;
   |Группировка СуммаПроводки все ВошедшиеВЗапрос;
   |Условие(СчетКт = 481);
   |Условие(ВидКонтрагентаКт = ВыбВидыКонтрагентов);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("АнализЧлВзносов");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 1, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл //сразу не выполняется условие!!!
         // Заполнение полей СчетКт
         Таб.ВывестиСекцию("СчетКт");
      Пока Запрос.Группировка(2) = 1 Цикл
         // Заполнение полей ВидКонтрагентаКт
         Таб.ВывестиСекцию("ВидКонтрагентаКт");
         Пока Запрос.Группировка(3) = 1 Цикл
            // Заполнение полей НаименованиеКонтрКт
            Таб.ВывестиСекцию("НаименованиеКонтрКт");
            Пока Запрос.Группировка(4) = 1 Цикл
               // Заполнение полей Месяц
               Таб.ВывестиСекцию("Месяц");
               Пока Запрос.Группировка(5) = 1 Цикл
                  // Заполнение полей СуммаПроводки
                  Таб.ВывестиСекцию("СуммаПроводки");
               КонецЦикла;   
            КонецЦикла;
         КонецЦикла;
      КонецЦикла;
   КонецЦикла;
в цикле "Пока Запрос.Группировка(1) = 1 Цикл" сразу же "ложь" и выход из цикла. Хотя очень много проводок с кредитным счетом 481.
Может, не правильно ставлю условие?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 21-04-2009 19:24 » 

Условие(СчетКт = 481);
нужно или
Условие(СчетКт.Код = ""481"");
или
Условие(СчетКт = СчетПоКоду(""481""));

Второй вариант предпочтительней
Записан
vSurfer
Гость
« Ответ #21 : 22-04-2009 06:16 » 

К сожалению ни первый ни второй вариант результата не дали.
Может, в обработке группировки чего не так?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #22 : 22-04-2009 09:36 » 

Прежде чем пенять на группировку - убери все условия и попробуй сформировать
Записан
vSurfer
Гость
« Ответ #23 : 22-04-2009 17:00 » new

Убрал и тоже самое Не понял
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #24 : 24-04-2009 05:53 » 

Еще раз измененный текст запроса сюда
Записан
vSurfer
Гость
« Ответ #25 : 24-04-2009 07:25 » 

Процедура АнализЧлВзносов()
   Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(АнализЧлВзносов)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ОбрабатыватьДокументы Все;
   |ОбрабатыватьОперации все;
   |Обрабатывать Все;
   |СчетДт = Операция.Дебет.Счет;
   |СчетКт = Операция.Кредит.Счет;
   |НаименованиеКонтрКт = Операция.Кредит.Контрагенты.Наименование;
   |ВидКонтрагентаКт = Операция.Кредит.Контрагенты.ВидКонтрагента;
   |СубконтоКтКонтр = Операция.Субконто.Контрагенты.Наименование;
   |СубконтоКтВидКонтр = Операция.Субконто.Контрагенты.ВидКонтрагента;
   |ДатаОперации = Операция.ДатаОперации;
   |СуммаПроводки = Операция.Сумма;
   |Группировка СчетКт;
   |Группировка ВидКонтрагентаКт;
   |Группировка НаименованиеКонтрКт;
   |Группировка Месяц все ВошедшиеВЗапрос;
   |Группировка СуммаПроводки все ВошедшиеВЗапрос;
   |Условие(СчетКт = СчетПоКоду(""481""));
//   |Условие(СчетКт.Код = ""481"");
   |Условие(ВидКонтрагентаКт = ВыбВидыКонтрагентов);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("АнализЧлВзносов");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 1, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл
         // Заполнение полей СчетКт
         Таб.ВывестиСекцию("СчетКт");
      Пока Запрос.Группировка(2) = 1 Цикл
         // Заполнение полей ВидКонтрагентаКт
         Таб.ВывестиСекцию("ВидКонтрагентаКт");
         Пока Запрос.Группировка(3) = 1 Цикл
            // Заполнение полей НаименованиеКонтрКт
            Таб.ВывестиСекцию("НаименованиеКонтрКт");
            Пока Запрос.Группировка(4) = 1 Цикл
               // Заполнение полей Месяц
               Таб.ВывестиСекцию("Месяц");
               Пока Запрос.Группировка(5) = 1 Цикл
                  // Заполнение полей СуммаПроводки
                  Таб.ВывестиСекцию("СуммаПроводки");
               КонецЦикла;   
            КонецЦикла;
         КонецЦикла;
      КонецЦикла;
   КонецЦикла;
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #26 : 27-04-2009 15:18 » 

Вот правильный запрос (жирным выделил что я изменил):
   ТекстЗапроса =
   "//{{ЗАПРОС(АнализЧлВзносов)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ОбрабатыватьДокументы Все;
   |ОбрабатыватьОперации все;
   |Обрабатывать Все;
   |СчетДт = Операция.Дебет.Счет;
   |СчетКт = Операция.Кредит.Счет;
   |НаименованиеКонтрКт = Операция.Кредит.Контрагенты.Наименование;
   |ВидКонтрагентаКт = Операция.Кредит.Контрагенты.ВидКонтрагента;
   |СубконтоКтКонтр = Операция.Субконто.Контрагенты.Наименование;
   |СубконтоКтВидКонтр = Операция.Субконто.Контрагенты.ВидКонтрагента;
   |ДатаОперации = Операция.ДатаОперации;
   |_СуммаПроводки = Операция.Сумма;
   |Группировка СчетКт;
   |Группировка ВидКонтрагентаКт;
   |Группировка НаименованиеКонтрКт;
   |Группировка Месяц все ВошедшиеВЗапрос;
   |Функция СуммаПроводки = КО(_СуммаПроводки);
   |Условие(СчетКт = СчетПоКоду(""481""));
//   |Условие(СчетКт.Код = ""481"");
   |Условие(ВидКонтрагентаКт = ВыбВидыКонтрагентов);
   |"//}}ЗАПРОС
   ;

т.е.  атрибут СуммаПроводки нужно вычилять как функцию КО(), а не группировать по нему. В принципе в запросе пара лишних группировок:
ВидКонтрагентаКт (==СубконтоКтВидКонтр) и НаименованиеКонтрКт - эти значения можно получить в цикле группировки по СубконтоКтКонтр через Запрос.СубконтоКтКонтр.Наименование (Запрос.СубконтоКтКонтр.ВидКонтрагента)
Записан
vSurfer
Гость
« Ответ #27 : 28-04-2009 18:37 » 

Спасибо большое! Уже намного лучше! Понял я одно, что ничего не понимаю.
Можете ли подсказать, есть ли доходчивая литература по программированию 1С?
(родные книги от конфигурации туго что-то доходит)
С чего лучше начинать?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #28 : 28-04-2009 20:51 » 

Изучая "семерку" я пользовался родными книжками и стандартными конфигурациями: просто брал и смотрел в тексте программы как сделано то, что мне нужно.
Ну и после этого экспериментировал и задавал вопросы на форумах (на первых этапах даже глупые Улыбаюсь )
Изучая "восьмерку" в прошлом году (и сейчас) пользуюсь поиском по гуглу - находится приличное количество данных.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines