Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Выборка группы контрагенов в документ , База 1с ТИС 7.7          
inna.innainna84 Подменю пользователя
сообщение 01.06.16, 11:09
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Помогите исправить ошибки
1.ОткрытьПодбор("Справочник.Контрагенты",,Конт); Нужно выбирать группу клиентов

Процедура ИзменениеСпРДМ1(зн) 
    Если зн=1 тогда  
        Конт = "";
        ОткрытьПодбор("Справочник.Контрагенты",,Конт);    
        
    ИначеЕсли зн=2 тогда
            Стр = ВыбРДМ1.ТекущаяСтрока();
            Если стр>0 тогда  
                ВыбРДМ1.УдалитьЗначение(Стр);
            КонецЕсли;    
    ИначеЕсли зн=3 тогда
            ВыбРДМ1.УдалитьВсе();  
    КонецЕсли;
КонецПроцедуры


2.ВыбРДМ1.ДобавитьЗначение(Эл.ТекущийЭлемент(), +"Группа "+Эл.ТекущийЭлемент().Наименование); название этой группы клиентов

Процедура ОбработкаПодбора1(Эл,Кон)         
    Если Эл.Вид()="Контрагенты" Тогда
        Если ВыбРДМ1.Принадлежит(Эл.ТекущийЭлемент()) = 1 Тогда
            Сообщить("уже присутствует в списке");      
            СтатусВозврата(0);
            Возврат;
        КонецЕсли;
        ВыбРДМ1.ДобавитьЗначение(Эл.ТекущийЭлемент(), +"Группа "+Эл.ТекущийЭлемент().Наименование);       
//        СписокКлиент.Установить(""+Эл,Эл.ТекущийЭлемент());
    КонецЕсли;
КонецПроцедуры

//*******************************************
Процедура ИзменениеСпРДМ1(зн)
    Если зн=1 тогда  
        Конт = "";
        ОткрытьПодбор("Справочник.Контрагенты",,Конт);    
        
    ИначеЕсли зн=2 тогда
            Стр = ВыбРДМ1.ТекущаяСтрока();
            Если стр>0 тогда  
                ВыбРДМ1.УдалитьЗначение(Стр);
            КонецЕсли;    
    ИначеЕсли зн=3 тогда
            ВыбРДМ1.УдалитьВсе();  
    КонецЕсли;
КонецПроцедуры
//*******************************************
Процедура ОбработкаПодбора1(Эл,Кон)        
    Если Эл.Вид()="Контрагенты" Тогда
        Если ВыбРДМ1.Принадлежит(Эл.ТекущийЭлемент()) = 1 Тогда
            Сообщить("уже присутствует в списке");      
            СтатусВозврата(0);
            Возврат;
        КонецЕсли;
        ВыбРДМ1.ДобавитьЗначение(Эл.ТекущийЭлемент(), +"Группа "+Эл.ТекущийЭлемент().Наименование);       
//        СписокКлиент.Установить(""+Эл,Эл.ТекущийЭлемент());
    КонецЕсли;
КонецПроцедуры

   Процедура ВыбратьКонтрагентов()
       
    Если КоличествоСтрок()<>0 Тогда
        Если Вопрос("Табличная часть документа не пустая, вы уверены в перезаполнении?",1)= 2 Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;
                
       УдалитьСтроки();        
       Запрос=СоздатьОбъект("Запрос");       
       ТекстЗапроса="
  
       |Контрагент = Справочник.Контрагенты.ТекущийЭлемент;
       |Группировка Контрагент без групп упорядочить по Контрагент.Наименование;
        |Условие(Контрагент в ВыбРДМ1);
       |";  
       
       СписокКонтрагентов = СоздатьОбъект("СписокЗначений");       
        
       Если глФильтрПоСправочнику("Контрагенты",0,0,ВыбКатегорияКонтрагентов,0,0,СписокКонтрагентов,ТекстЗапроса,0,0,"Контрагент,,,СписокКонтрагентов,,,,,")=0 Тогда
           Возврат;
       КонецЕсли;
       
         Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;        
    
    
    Пока Запрос.Группировка("Контрагент")=1 Цикл  
        НоваяСтрока();
        Клиент =Запрос.Контрагент;                     
        Деньги = 0;
        Тонаж=0;
        СуммаРД=0;           
        Доход  = 0;           
        ВидПосещения=Перечисление.ВидКонтактовСКлиентами.ПоГрафику;           
        НомерЗаявкиТА="НЕТ"+"-"+(Запрос.Контрагент.КодСоответствия+ДатаДок);
        ОрганизационоеВремя=Константа.ВремяНаЗаявку;           
        
        Если ПустоеЗначение(Клиент.ДатаЗакр)=0 Тогда  
            Если ДатаДок>=Клиент.ДатаЗакр Тогда                    
                УдалитьСтроку();
            КонецЕсли;    
        КонецЕсли;             
    КонецЦикла;    
    РасчитатьКолвоКлиентов();
КонецПроцедуры    // ВыбратьЗаявки



 ! 

Когда вы уже научитесь по людски код выделять?
 


Сообщение отредактировал Vofka - 01.06.16, 13:28

nysysimara Подменю пользователя
сообщение 01.06.16, 12:45
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

Цитата(inna.innainna84 @ 01.06.16, 11:09) *
ВыбРДМ1.ДобавитьЗначение(Эл.ТекущийЭлемент(), +"Группа "+Эл.ТекущийЭлемент().Наименование);

плюс перед "Группа" лишний


Сообщение отредактировал nysysimara - 01.06.16, 12:47


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

inna.innainna84 Подменю пользователя
сообщение 01.06.16, 13:32
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

nysysimara @ Сегодня, 13:45 *,
хорошо это я убрала изменений нет не добавляет в список

inna.innainna84 Подменю пользователя
сообщение 01.06.16, 18:19
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Или же как вариант оставить только процедуру ВыбратьКонтрагентов()
и указать что ВыбРДМ1 это выбор справочника контрагенты с возможностью выбирать группу или одного клиента. Сейчас выбирает только одного контрагента

Karabasoff Подменю пользователя
сообщение 01.06.16, 23:01
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 15
Спасибо сказали: 10 раз
Рейтинг: 0

inna.innainna84 @ Сегодня, 12:09 *,

Процедура ИзменениеСпРДМ1(зн)
Если зн=1 тогда
Конт = "";
ОткрытьПодбор("Справочник.Контрагенты",,Конт);
// добавьте строку
Конт.ВыборГруппы(1);

inna.innainna84 Подменю пользователя
сообщение 02.06.16, 9:13
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Karabasoff @ Сегодня, 0:01 *,

Спасибо. А не подскажите, что сделать с Процедура ОбработкаПодбора1(Эл,Кон) чтобы эту выбранную группу клиентов вытягивало в список "ВыбРДМ1"

nysysimara Подменю пользователя
сообщение 02.06.16, 13:46
Сообщение #7

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

а почему ваша процедура называется ОткрытьПодбора1?
Цитата
Процедура ОбработкаПодбора(<?>,)
КонецПроцедуры
Синтаксис:
ОбработкаПодбора(<Элемент>,<КонтФормы>)
Назначение:
Предопределенная процедура обработки подбора значения при нажатия кнопки Выбрать в Форме Подбора значения.


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

inna.innainna84 Подменю пользователя
сообщение 02.06.16, 14:24
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

nysysimara @ Сегодня, 14:46 *,
"ОткрытьПодбора1" в этом документе хранится две обработки подбора поэтому я поставила 1. Это не верно?

Sharzem Подменю пользователя
сообщение 02.06.16, 14:41
Сообщение #9

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

inna.innainna84 @ Сегодня, 9:13 *,
Процедура ОбработкаПодбора(Эл,Кон)         
    Если Эл.Вид()="Контрагенты" Тогда
        Если Эл.ЭтоГруппа() = 1 Тогда
               лпКонтрагенты = СоздатьОбъект("Справочник.Контрагенты");
               лпКонтрагенты.ИспользоватьРодителя(Эл);
               лпКонтрагенты.ВыбратьЭлементы();
               Пока лпКонтрагенты.ПолучитьЭлемент() = 1 Цикл
                     Если ВыбРДМ1.Принадлежит(Эл.ТекущийЭлемент()) = 0 Тогда
                           ВыбРДМ1.ДобавитьЗначение(Эл.ТекущийЭлемент(), +"Группа "+Эл.ТекущийЭлемент().Наименование);
                      КонецЕсли;
               КонецЦикла;
         ИначеЕсли ВыбРДМ1.Принадлежит(Эл.ТекущийЭлемент()) = 1 Тогда
            Сообщить("уже присутствует в списке");
            ВыбРДМ1.ДобавитьЗначение(Эл.ТекущийЭлемент(), +"Группа "+Эл.ТекущийЭлемент().Наименование);
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


Бред, бред, бред !

Выборка группы контрагентов в документ ? Че за новости такие ...?

Нет, не туда.
Опять те же грабли ! diablo.gif
Зачем список значений в документе ?!
Вам нужна отдельная Форма Обработки для подбора всей Вашей инфы в табличную часть документа.
Вы че творите ? faceoff.gif

Сообщение отредактировал Sharzem - 02.06.16, 14:31


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Спасибо сказали: inna.innainna84,

inna.innainna84 Подменю пользователя
сообщение 02.06.16, 14:53
Сообщение #10

Завсегдатай
****
Группа: Пользователи
Сообщений: 108
Спасибо сказали: 2 раз
Рейтинг: 0

Sharzem @ Сегодня, 15:41 *,
у меня есть клиенты у них по дням недели закреплены категории "пн.,вт,среда,чет,пт" и тд. Нужно их отфильтровать и загрузить в этот документ в табличную часть.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.05.24, 2:55
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!