 |
| Допоможіть з строкою введення |
| Anderson | Дата: Пятница, 05.03.2010, 15:49 | Сообщение # 16 |
 Полковник
Группа: Пользователи
Сообщений: 158
Репутация: 19
Статус: Offline
| посмотрите как реализован механизм единиц измерения в типовых
|
| |
|
| |
| Shlavik | Дата: Пятница, 05.03.2010, 16:07 | Сообщение # 17 |
 Лейтенант
Группа: Пользователи
Сообщений: 55
Репутация: 135
Статус: Offline
| Lighta, прошу прощения, но буду писать на русском. До того как начать заполнение аналогов товара я бы определился со структурой данных. 1. Создал справочник "Аналоги", подчиненный справочнику ТМЦ. 2. У справочника Аналоги обязательно создал бы реквизит вида Справочник.ТМЦ. После этого бы заморачивался способами заполнения справочника Аналоги (программно или интерактивно) и способом его отображения (в виде закладки с таблицей аналогов, списком или по кнопке) Использовать реквизиты типа "строка неограниченной длины" старался бы в последнюю очередь... В качестве примера рекомендую посмотреть конфигурацию ТиС в части справочник Номенклатура + ТипыЦен + Цены. Имея Владельца-Элемент справочника ТМЦ, можно легко выбрать всех подчиненных ему Аналогов.
Bis dat, qui cito dat (сокращение 32-ой сентенции Публия Сируса) -------------------- Кто не читает личные сообщения (ЛС), тот... сам за себя...
|
| |
|
| |
| Lighta | Дата: Среда, 10.03.2010, 10:08 | Сообщение # 18 |
 Лейтенант
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| При відкритті форми Позиції наборів одягу має відображати в ТЗ аналогічні позиції одягу якщо вони є введені в довіднику СЗ(цей довідник ніхто не бачить, він зберігає тільки інфу про аналогічні позиції по коду ТМЦ через ; (тому використовую ИзСтрокиСРазделителем, ы тому КодТМЦ-строка з неогр.) Процедура ПриОткрытии() Перем Рек; Перем а; СпрСЗ=СоздатьОбъект("Справочник.СЗ"); СпрСЗ.ВыбратьЭлементы(); Если ПустоеЗначение(Рек)=1 Тогда Возврат; Иначе Сп=СоздатьОбъект("СписокЗначений"); СпСЗ=СоздатьОбъект("Справочник.СЗ"); СпСЗ.ИспользоватьВладельца(ТекущийЭлемент()); СпСЗ.ВыбратьЭлементы(); Пока СпСЗ.ПолучитьЭлемент() = 1 Цикл Сп.ДобавитьЗначение(СпСЗ.ПолныйКод(),СпСЗ.Наименование); Сп.ДобавитьЗначение(СпСЗ.КодТМЦ,"КодТМЦ"); Сп.ИзСтрокиСРазделителями("КодТМЦ"); РазмерСписка=Сп.РазмерСписка(); СпТМЦ=СоздатьОбъект("Справочник.ТМЦ"); Для а=1 по РазмерСписка Цикл Если СпТМЦ.НайтиПоКоду("КодТМЦ") Тогда;//має замість коду ТМЦ(Код) відображати назву ТМЦ Назв_ТМЦ=СпТМЦ.Наименование; Сп.ДобавитьЗначение("Назв_ТМЦ"); ТабЗнач.Выгрузить(Сп); //в таблицю значень має вигружати список значень у вигляді назв ТМЦ КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; КонецПроцедуры Але нічого нажаль не виводить в табл значень((
Сообщение отредактировал Lighta - Среда, 10.03.2010, 13:01 |
| |
|
| |
| plus | Дата: Среда, 10.03.2010, 14:19 | Сообщение # 19 |
|
Полковник
Группа: Пользователи
Сообщений: 217
Репутация: 151
Статус: Offline
| слишком мало информации, или я ничего не понимаю... давайте с самого начала 1. в диалоге ТЗ есть? название? 2. реквизит типа строка неограниченной длины есть? название? он заполнена? чем заполнена(тип справочника и наименование реквизита)? 3. какие поля нужно отображать в ТЗ? они в строку неограниченной длины попадают?Добавлено (10.03.2010, 14:19) --------------------------------------------- 4. ТЗ нужно будет редактировать? (добавить/удалить элементы)
|
| |
|
| |
| Lighta | Дата: Среда, 10.03.2010, 14:34 | Сообщение # 20 |
 Лейтенант
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| ТЗ є назва - ТабЗнач Строка неогран. - в довіднику СЗ, назва реквізиту КодТМЦ, (заповнене щоб глянути чи відображає в ТЗ) заповнене кодами ТМЦ з довідника ТМЦ В ТЗ потрібно відобразити з довідника СЗ поле КодТМЦ, попередньо з нього "витянути" напр. 234;455;455; коди ТМЦ і записати по цих кодах наименование ТМЦ у вигляді 1строка -Одяг 1, 2строка- Одяг 2 ТЗ треба буде редагувати, видаляти, щоб воно і видаляло з довідника СЗ
Сообщение отредактировал Lighta - Среда, 10.03.2010, 14:36 |
| |
|
| |
| plus | Дата: Среда, 10.03.2010, 15:55 | Сообщение # 21 |
|
Полковник
Группа: Пользователи
Сообщений: 217
Репутация: 151
Статус: Offline
| а в справочнике ТМЦ код строка или число? Добавлено (10.03.2010, 15:55) --------------------------------------------- хотя если нуно будет редактировать... выложу свое решение чуть попозже, пока немного занят
|
| |
|
| |
| Lighta | Дата: Среда, 10.03.2010, 16:07 | Сообщение # 22 |
 Лейтенант
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| в довіднику ТМЦ тип кода - текстовый, але автоматично нумерує цифрами ТЗ розташовано в формі ПозиціїНаборуОдягу
Сообщение отредактировал Lighta - Среда, 10.03.2010, 16:10 |
| |
|
| |
| plus | Дата: Среда, 10.03.2010, 16:20 | Сообщение # 23 |
|
Полковник
Группа: Пользователи
Сообщений: 217
Репутация: 151
Статус: Offline
| ТабЗнач - ТЗ, реквизит диалога, в формуле прописать ИзмТЗ() КодТМЦ - реквизит справочника, тип - строка неогр. длины добавить строку - кнопка, в формуле ТабЗнач.НоваяСтрока() удалить строку - кнопка, в формуле ТабЗнач.УдалитьСтроку(ТабЗнач.ТекущаяСтрока());КодТМЦ=ЗначениеВСтроку(ТабЗнач) в модуле справочника Code Процедура ИзмТЗ() кол=""; Если ВвестиЗначение(кол,"Выбирите","Справочник.ТМЦ")=1 Тогда ТабЗнач.Аналог=кол; КодТМЦ=ЗначениеВСтроку(ТабЗнач); КонецЕсли; КонецПроцедуры в процедуре ПриОткрытии() добавить Code ТабЗнач.Загрузить(ЗначениеИзСтроки(КодТМЦ)); Если ПустоеЗначение(КодТМЦ)=1 Тогда ТабЗнач.НоваяКолонка("Аналог","Справочник.ТМЦ",,,,,,); Иначе Попытка ТабЗнач.УстановитьПараметрыКолонки("Аналог","Справочник.ТМЦ",,,"Аналог",50,); Исключение КонецПопытки; КонецЕсли; Добавлено (10.03.2010, 16:20) --------------------------------------------- а вообще для красоты формулы с кнопок можно перенести в модуль справочника, добавить там проверки, типа действия при удалении строки №0, очистку пустых строк, в процедуре ИзмТЗ() добавить проверку если текущая строка №0
|
| |
|
| |
| Lighta | Дата: Среда, 10.03.2010, 16:29 | Сообщение # 24 |
 Лейтенант
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| ПриОткрытии() добавити кусок до того що я написала? в яку частину саме? КодТМЦ - реквізит довідника СЗ, який не видно взагалі на формі ПозиціїНаборуОдягу, просто з нього витягується інфа в ТЗ
Сообщение отредактировал Lighta - Среда, 10.03.2010, 16:35 |
| |
|
| |
| plus | Дата: Среда, 10.03.2010, 16:55 | Сообщение # 25 |
|
Полковник
Группа: Пользователи
Сообщений: 217
Репутация: 151
Статус: Offline
| я описал что нуно сделать из расчета что в этом справочнике ничего не менялось
|
| |
|
| |
| Lighta | Дата: Среда, 10.03.2010, 16:59 | Сообщение # 26 |
 Лейтенант
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| Тоді в яку частину процедури ПриОткрытии мені вставити Code ТабЗнач.Загрузить(ЗначениеИзСтроки(КодТМЦ)); Если ПустоеЗначение(КодТМЦ)=1 Тогда ТабЗнач.НоваяКолонка("Аналог","Справочник.ТМЦ",,,,,,); Иначе Попытка ТабЗнач.УстановитьПараметрыКолонки("Аналог","Справочник.ТМЦ",,,"Аналог",50,); Исключение КонецПопытки; КонецЕсли; ?
|
| |
|
| |
| plus | Дата: Среда, 10.03.2010, 17:14 | Сообщение # 27 |
|
Полковник
Группа: Пользователи
Сообщений: 217
Репутация: 151
Статус: Offline
| туда, где вам больше нравится - вначале/всредине/вконце - в любом месте процедуры ПриОткрытии() хотя, если расчитываете ограничить доступ пользователям - лучше ставить сразу после ПриОткрытии()Добавлено (10.03.2010, 17:14) --------------------------------------------- надеюсь вы не догадаетесь ее добавить куда-нить всередину проверки или цикла
|
| |
|
| |
| Lighta | Дата: Пятница, 12.03.2010, 16:18 | Сообщение # 28 |
 Лейтенант
Группа: Пользователи
Сообщений: 42
Репутация: 0
Статус: Offline
| Такі догадалась в цикл добавити  Добавлено (12.03.2010, 16:18) ---------------------------------------------
Quote (plus) Code Процедура ИзмТЗ() кол=""; Если ВвестиЗначение(кол,"Выбирите","Справочник.ТМЦ")=1 Тогда ТабЗнач.Аналог=кол; КодТМЦ=ЗначениеВСтроку(ТабЗнач); КонецЕсли; КонецПроцедуры в процедуре ПриОткрытии() добавить Code ТабЗнач.Загрузить(ЗначениеИзСтроки(КодТМЦ)); Если ПустоеЗначение(КодТМЦ)=1 Тогда ТабЗнач.НоваяКолонка("Аналог","Справочник.ТМЦ",,,,,,); Иначе Попытка ТабЗнач.УстановитьПараметрыКолонки("Аналог","Справочник.ТМЦ",,,"Аналог",50,); Исключение КонецПопытки; КонецЕсли; Непрацює - вибирається елемент з довідника ТМЦ але в ТЗ нічого не відображається
Сообщение отредактировал Lighta - Четверг, 11.03.2010, 10:41 |
| |
|
| |
| plus | Дата: Понедельник, 15.03.2010, 09:28 | Сообщение # 29 |
|
Полковник
Группа: Пользователи
Сообщений: 217
Репутация: 151
Статус: Offline
| потому что не добавлена новая строка, т.е. номер текущей строки = 0 я описал как это должно быть - без проверок вам нужно при добавлении новой строки в ТЗ поставить проверку, есть в ней строки или нет?
|
| |
|
|
|
 |
|