8.х АвтоПодборТекса во ВнешнейОбработке для поля

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Kostya, 10 мар 2010.

  1. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Вот так пойдет

    Код:
    функция ПодборЦвета(Текст)
    
    Длина = СтрДлина(Текст);
    
    Если длина>=5 и Длина<10 Тогда
    Возврат(webцвета.желтый);
    КонецЕсли;
    Если Длина=10 Тогда
    стр=Сред(Текст,6,СтрДлина(Текст)-5);
    СписокШК.Добавить(стр);
    
    Возврат(webЦвета.СветлоЗеленый);	
    КонецЕсли;
    
    Возврат(webцвета.Розовый);       	
    
    КонецФункции
    
  2. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Спасибо!!!
  3. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Код:
    функция ПодборЦвета(Текст)
    Длина = СтрДлина(Текст);
    
    Если длина>=5 и Длина<10 Тогда
    Возврат(webцвета.желтый);
    КонецЕсли;
    Если Длина=10 Тогда
    Если стр=Сред(Текст,6,СтрДлина(Текст)-5) Тогда
    если	стр=неопределено   тогда
    СписокШК.НайтиПоЗначению(стр);
    Иначе
    Возврат(webЦвета.СветлоЗеленый);
    
    Возврат(webцвета.Розовый);
    КонецЕсли;
    КонецФункции
    

    Помогите доделать)) А еще лучше скажите,что надо сделать и я сам додумаю...
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    А что именно доделать?

    Не пойму что это за условие
    Если стр=Сред(Текст,6,СтрДлина(Текст)-5) Тогда

    ыше него стр нигде не учавствует. Оно ложь будет
  5. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Вообщем мне нужно сделать так,чтобы в список добавлялись только уникальные значения, только с помощью "НайтиПоЗначению". Если можешь обьясни как пожалуйста. Чтобы я сам мог разобраться.
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Вот пред тем ка добавить проверяешь есть ли в списке такое значение

    Код:
    функция ПодборЦвета(Текст)		
    Длина = СтрДлина(Текст);		       		
    Если длина>=5 и Длина<10 Тогда
    Возврат(webцвета.желтый);
    КонецЕсли;
    Если Длина=10 <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">Тогда	</span>
    стр=Сред(Текст,6,СтрДлина(Текст)-5);
    Если СписокШК.НайтиПоЗначению(стр)=Неопределенно Тогда
    СписокШК.Добавить(стр);
    Иначе
    Сообщить("В списке такое значение имеется");
    КонецЕсли; 
    Возврат(webЦвета.СветлоЗеленый);
    КонецЕсли;
    Возврат(webцвета.Розовый);
    КонецФункции
    
  7. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Подскажите, что нужно прочитать в синтаксис помшнике, для того,чтобы то что добавляется в СписокШК добавлялось и в таблицу.
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    НУ вот в процедуру кнопки на форме добавил

    Код:
    Процедура ДалееНажатие(Элемент)
    ТЗ=Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("НомерСтроки");
    ТЗ.Колонки.Добавить("ШК1");
    ТЗ.Колонки.Добавить("ШК2");
    ТЗ.Колонки.Добавить("ШК3");
    ТЗ.Колонки.Добавить("ШК4");
    ТЗ.Колонки.Добавить("ШК5");
    ТЗ.Колонки.Добавить("ШК6");
    стрТЗ=тз.Добавить();
    стрТЗ.Установить(0,1); //номер строки
    Для каждого стр из СписокШК Цикл
    стрТЗ.Установить(СписокШК.Индекс(стр)+1,стр.Значение); 
    КонецЦикла; 
    ТабличнаяЧасть.Загрузить(тз);
    КонецПроцедуры
    
  9. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Вот смотри.
    Код:
    функция ПодборЦвета(Текст)
    Длина = СтрДлина(Текст);
    
    Если длина>=5 и Длина<10 Тогда
    Возврат(webцвета.желтый);
    КонецЕсли;
    
    Если Длина=10 Тогда
    стр=Сред(Текст,6,СтрДлина(Текст)-5);
    Если СписокШК.НайтиПоЗначению(стр)=неопределено <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">тогда	</span>
    СписокШК.Добавить(стр);
    Иначе 
    сообщить("Есть уже такое");
    КонецЕсли;
    Если ТабличнаяЧасть(СтрокаТабличнойЧасти)=Добавить() тогда
    СтрокаТабличнойЧасти.ТабличнаяЧастьШК1=СписокШК;
    КонецЕсли;
    
    
    Возврат(webЦвета.СветлоЗеленый);
    КонецЕсли;
    
    Возврат(webцвета.Розовый);
    
    КонецФункции
    
    Вроде правиьлно сделал, но чето оно мне выбивает ошибку, ожидается ключевое слово "КонецЕсли".
    Если есть ошибка скажите где.
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Если ТабличнаяЧасть(СтрокаТабличнойЧасти)=Добавить() Вот это что за условие? что такое ТабличнаяЧасть(СтрокаТабличнойЧасти)
  11. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Это я пытаюсь Таблицу добавить то,что добавляется в СписокШК.
  12. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Или должно быть так
    Если СтокаТабличнойЧасти=ТабличнаяЧасть.Добавить();
    СтрокаТабличнойЧасти. "????"="??????????????"
  13. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Если вы хотите сразу при добавлении в список еще и в таблицу добавять, то вам надо перед этим создать втаблице пустую строку и заполнять ее параметры, в зависимости от индекса, но дело в том что именно у табличной части нет метода Установить.
  14. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Ну можно же просто добавить строку в списке,добавить строку в таблице?
  15. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Код:
    функция ПодборЦвета(Текст)
    Длина = СтрДлина(Текст);
    
    Если длина>=5 и Длина<10 Тогда
    Возврат(webцвета.желтый);
    КонецЕсли;
    
    Если Длина=10 Тогда
    стр=Сред(Текст,6,СтрДлина(Текст)-5);
    Если СписокШК.НайтиПоЗначению(стр)=неопределено <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">тогда	</span>
    СписокШК.Добавить(стр);
    НоваяСтрока=ТабличнаяЧасть.Добавить();
    НоваяСтрока.ШтрихКод=.ШтрихКод;
    НоваяСтрока.Двойная=.Двойная;
    НоваяСтрока.Процент=.Процент;
    НоваяСтрока.Квадрат=Квадрат;
    Иначе 
    сообщить("Дурик смотри внимательнее что вводиш");
    
    КонецЕсли;
    Возврат(webЦвета.СветлоЗеленый);
    КонецЕсли;
    
    Возврат(webцвета.Розовый);
    
    
    КонецФункции
    
    
    Подскажите пожалуйста, немогу понять там где я добавляю Новые строки какая переменная должна быть?
  16. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Все я разобрался) Сорри если когото лишний раз побеспокоил.
  17. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Код:
    функция ПодборЦвета(Текст)
    Длина = СтрДлина(Текст);
    
    Если длина>=5 и Длина<10 Тогда
    Возврат(webцвета.желтый);
    КонецЕсли;
    
    Если Длина=10 Тогда
    стр=Сред(Текст,6,СтрДлина(Текст)-4);
    Если СписокШК.НайтиПоЗначению(стр)=неопределено <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">тогда	</span>
    СписокШК.Добавить(стр);
    НоваяСтрока=ТабличнаяЧасть.Добавить();
    НоваяСтрока.ШтрихКод=стр;
    НоваяСтрока.Двойная=стр*2;
    НоваяСтрока.Процент=стр*20/100;
    НоваяСтрока.Квадрат=стр*стр;
    
    Иначе 
    сообщить("Дурик смотри внимательнее что вводиш");
    
    КонецЕсли;
    Возврат(webЦвета.СветлоЗеленый);
    КонецЕсли;
    
    Возврат(webцвета.Розовый);
    
    
    
    КонецФункции
    
    

    Код:
    Если Длина=10 Тогда
    стр=Сред(Текст,6,СтрДлина(Текст)-4);
    
    Как мне сделать так,чтобы отбирались числа с 6й по 9ю?
  18. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Код:
    стр=Сред(Текст,6,4);
    
    Третий параметр - это количество символов, а не номер последнего выбираемого символа.
  19. TopicStarter Overlay
    Kostya
    Offline

    Kostya

    Регистрация:
    22 фев 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Народ кто сможет помочь разобраться с этой задачей:
    1. Сделать дополнительную(внешнюю) печатную форму для (бухгалтерия 8): расходная накладная с логотипом.

    2. Очистить регистр сведений штрих-коды

    3. Построить отчет по продажам услуг (на базе документов Реализация товаров и услуг), отсортировать по сумме продаж


    За ранее спасибо.
  20. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Заходите в соответсвующий раздел, читайте потом что не ясно пишите там, поможем. Все довольно просто и все обсуждалось

    2. Очистить регистр сведений штрих-коды

    Создань набор записей регстра сведений штрих кодов. Очистить (метод такой есть) и записать.

    3 Построить отчет по продажам услуг (на базе документов Реализация товаров и услуг), отсортировать по сумме продаж

    Строить отчет лучше по регистру который двигает данный документ. простой запрос к нему и сортировка и все.

Поделиться этой страницей