Переключение на Главную Страницу Страницы: 1 ... 22 23 [24] 25 26 ... 32 ОтправитьПечать
Очень популярная тема (более 25 ответов) ТП: Прямое редактирование значений (число прочтений - 210529 )
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #345 - 07. Декабря 2008 :: 09:58
Печать  

>kms. Ответ #344 - Вчера :: 20:14
>Ну, если что-то конкретное будет - велкам. ...
Объясни пожалуйста логику работы ИТ+ТП+Прямое редактирование + ИндексИТ при создании новой строки в ИТ.
Так работает:
//******* Обработка сообщения кнпНоваяСтрок
а ********
Процедура кнпСтрокаНовая_Нажатие()
  итПеремещения.НоваяСтрока();
  n=итПеремещения.КоличествоСтрок();
  скчПеремещения=скчПеремещения+1;
  итПеремещения.УстановитьЗначение(n,2," ");
  итПеремещения.УстановитьЗначение(n,3,Формат(0,"Ч10.2"));
  итПеремещения.УстановитьЗначение(n,4,Формат(скчПеремещения,"Ч05"));
  //тпПеремещения.ОбновитьСтроки();
  //n=тпПеремещения.ТекущаяСтрока;
  //col=тпПеремещения.ТекущаяКолонка;
  col=тпПеремещения.Колонки.Получить("Номенклатура");
  тпПеремещения.РедактироватьЗначение(n,col,3," ",80,0,"пвНоменклатура","0x00000024");
  //-- Активизируем элементы диалога для получения номенклатуры
  a_Элемент[03]=1; // - кнпПеремещенияТП_
  a_Элемент[14]=2; // - нпТекущееСостояние
  Сервис.ВнешнееСобытие("кнпПеремещенияТП_"," "," ");
КонецПроцедуры


Так как я себе представляю эту логику, эта процедура не должна работать. n в параметре РедактироватьЗначение имеет явно абсурдное значение.
Индекс на колонке Номенклатура. Новая строка имеет значение индекса " " и в ТП строка на первой позиции, а я задаю последнюю.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Прямое редактирование значений
Ответ #346 - 07. Декабря 2008 :: 10:12
Печать  
Burlak писал(а) 07. Декабря 2008 :: 09:58:
Объясни пожалуйста логику работы ИТ+ТП+Прямое редактирование + ИндексИТ при создании новой строки в ИТ.
Так как я себе представляю эту логику, эта процедура не должна работать. n в параметре РедактироватьЗначение имеет явно абсурдное значение.
Индекс на колонке Номенклатура. Новая строка имеет значение индекса " " и в ТП строка на первой позиции, а я задаю последнюю.

Позиционирование идет по номеру строки, т.е. ты в данном случае будешь редактировать последнюю строку.
Точно также, ТП::ТекущаяСтрока = n активизирует последнюю строку.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #347 - 07. Декабря 2008 :: 14:35
Печать  
>kms. Ответ #346 - Сегодня :: 13:12
>Позиционирование идет по номеру строки ...
Какая строка имеется ввиду? Строка ИТ или ТП. На ИТ наложен фильтр и последняя строка в ИТ по фильтру должна быть первой в ТП.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Прямое редактирование значений
Ответ #348 - 07. Декабря 2008 :: 19:59
Печать  
Burlak писал(а) 07. Декабря 2008 :: 14:35:
Какая строка имеется ввиду? Строка ИТ или ТП. На ИТ наложен фильтр и последняя строка в ИТ по фильтру должна быть первой в ТП.

ИТ, конечно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #349 - 08. Декабря 2008 :: 05:36
Печать  
>kms. Ответ #348 - Вчера :: 22:59
Если я правильно понял, Вы утверждаете, что команда
тпПеремещения.РедактироватьЗначение(n,col,3," ",80,0,"пвНоменклатура","0x00000024");
редактирует информацию в поле строки ИТ ?
Или может быть при вводе новой строки в ИТ блокируется работа индекса?
Меня интересует как аккуратно реализовать схему ввода новой строки в ИТ и прямое редактирование её полей в ТП.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Прямое редактирование значений
Ответ #350 - 08. Декабря 2008 :: 08:25
Печать  
Burlak писал(а) 08. Декабря 2008 :: 05:36:
Если я правильно понял, Вы утверждаете, что команда
тпПеремещения.РедактироватьЗначение(n,col,3," ",80,0,"пвНоменклатура","0x00000024");
редактирует информацию в поле строки ИТ ?
Или может быть при вводе новой строки в ИТ блокируется работа индекса?

Нет, я просто пытаюсь объяснить, что наличие индексов вообще не влияет на механизм позиционирования в ТП.
Тебе надо разобраться с тем, как ТП позиционируется на строку.
Смотри в документации свойство ТП::ТекущаяСтрока и описание поставщика ИТ, там все есть.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #351 - 08. Декабря 2008 :: 11:29
Печать  
>kms. Ответ #350 - Сегодня :: 11:25
>Нет, я просто пытаюсь объяснить ...
Спасибо. Похоже дошло. И это мне понравилось.
  
Наверх
 
IP записан
 
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #352 - 09. Декабря 2008 :: 08:04
Печать  
kms, и опять к Вам с вопросом. Имею:
итПеремещения=СоздатьОбъект("ИндексированнаяТаблица");
  итПеремещения.НоваяКолонка("id_Номенклатура");
  итПеремещения.НоваяКолонка("Номенклатура");
  итПеремещения.НоваяКолонка("Количество");
  итПеремещения.ДобавитьИндекс("idx_Номенклатура","Номенклатура");
  итПеремещения.ДобавитьИндекс("idx_Количество","Количество");

Загружаю SELECT ... ORDER BY ... значения из базы:
Боковина PARA 5 62.5 вишня                                 16.00
Боковина PARA 5 62.5 груша                                   9.00
Боковина PARA 5 62.5 серый дуб                           20.00
Боковина PARA 5 62.5 серый шёлк                         22.00
Боковина PARA 5 72.5 zebrano (28622) черный     100.00
Дверь PARA 72.5 ива                                             48.00

Включаю индекс по номенклатуре, и имею:
Дверь PARA 72.5 ива                                             48.00
Боковина PARA 5 72.5 zebrano (28622) черный     100.00
Боковина PARA 5 62.5 серый шёлк                         22.00
Боковина PARA 5 62.5 серый дуб                           20.00
Боковина PARA 5 62.5 груша                                   9.00
Боковина PARA 5 62.5 вишня                                 16.00

где-то туплю, но сортировка в обратном порядке.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Прямое редактирование значений
Ответ #353 - 09. Декабря 2008 :: 08:14
Печать  
Burlak

Имеет смысл адресовать вопрос к общей аудитории, лучше в отдельной ветке.
Мне пока непонятно, откуда такая сортировка, нужны пояснения или тесты.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #354 - 09. Декабря 2008 :: 08:30
Печать  
Продолжение  #352 .
Если включаю индекс по Номенклатуре после загрузки и пытаюсь ввести новую строку с номенклатурой Каркас (к примеру), то имею на первых порах отображение многократного повторения дух последних строчек:
Боковина PARA 5 62.5 вишня                                 16.00
Каркас                                                                    0.00    

которое впоследствии пропадает и остаётся одна строка Каркас, но последней строкой в ТП.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Прямое редактирование значений
Ответ #355 - 09. Декабря 2008 :: 08:38
Печать  
Burlak писал(а) 09. Декабря 2008 :: 08:30:
Если включаю индекс по Номенклатуре после загрузки и пытаюсь ввести новую строку с номенклатурой

Если сделаешь тест, будет легче понять.
Тест - это обработк или микробаза с описанием того,
- что делал
- что получил
- что хотел получить
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #356 - 09. Декабря 2008 :: 10:12
Печать  
>kms. Ответ #355 - Сегодня :: 11:38
С обработкой вопросов нет, куда залить?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТП: Прямое редактирование значений
Ответ #357 - 09. Декабря 2008 :: 11:20
Печать  
Burlak писал(а) 09. Декабря 2008 :: 10:12:
>kms. Ответ #355 - Сегодня :: 11:38
С обработкой вопросов нет, куда залить?

Сюда.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Прямое редактирование значений
Ответ #358 - 09. Декабря 2008 :: 11:26
Печать  
vip писал(а) 09. Декабря 2008 :: 11:20:
Burlak писал(а) 09. Декабря 2008 :: 10:12:
>kms. Ответ #355 - Сегодня :: 11:38
С обработкой вопросов нет, куда залить?

Сюда.

Нет, не сюда. Burlak, у тебя ж вопросы не по прямому редактированию. Создай отдельную ветку, там тебе все с радостью помогут.
  
Наверх
 
IP записан
 
Burlak
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 65
Зарегистрирован: 28. Апреля 2008
Re: ТП: Прямое редактирование значений
Ответ #359 - 10. Декабря 2008 :: 06:34
Печать  
>vip
>Сюда.
Я и не знал, что из документа автоматом нельзя сделать обработку. Пришлось ручками. Но обработка оперирует данными используя прямые запросы к DBF. Поэтому, даст ли она что-то дополнительно к выше написанному?
  

_______________________________.rar ( 16 KB | Загрузки )
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 22 23 [24] 25 26 ... 32
ОтправитьПечать