|   |   | 
| 
 | Обращение к ЕдиницаИзмеренияМест | ☑ | ||
|---|---|---|---|---|
| 0
    
        zzzLEXzzz 27.02.14✎ 15:34 | 
        Здравствуйте, 1С 8.2. Комплексная, Создал печатную форму с помощью конструктора, мне надо чтобы параметр "поддоны" заполнялись таким образом. Количество делить на коэффициент с наименованием "Под", я сделал так, знаю не правильный вариант, как правильно обратиться к  ЕдиницаИзмеренияМест с наименованием "Под". Заранее спасибо.
 Для Каждого ТекСтрокаТовары Из Товары Цикл ОбластьТовары.Параметры.поддоны = ТекСтрокаТОвары.Количество / ТекСтрокаТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент; ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); ТабДок.Вывести(ОбластьТовары); КонецЦикла; | |||
| 1
    
        salvator 27.02.14✎ 15:38 | 
        Метод Заполнить() делай ДО явной установки параметров.     | |||
| 2
    
        zzzLEXzzz 27.02.14✎ 15:45 | 
        (1) А можно пожалуйста по подробнее, я просто начинающий     | |||
| 3
    
        salvator 27.02.14✎ 15:49 | 
        (2) Сначала
 ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); а потом уже ОбластьТовары.Параметры.поддоны = ... Это просто общее замечание. Если к примеру в строке ТЧ есть реквизит "Поддоны", то в твоем случае метод Заполнить() затрет значение, которое ты выше рассчитал. Поэтому все расчеты параметров лучше делать после него. | |||
| 4
    
        zzzLEXzzz 27.02.14✎ 15:55 | 
        (3) В моём случае в ТЧ нет реквизита "Поддоны", хорошо я сделаю после, но всё же как обратиться к ЕдиницаИзмеренияМест с наименованием "Под"?     | |||
| 5
    
        salvator 27.02.14✎ 15:57 | 
        (4) Какой тип у ЕдиницаИзмеренияМест?     | |||
| 6
    
        zzzLEXzzz 27.02.14✎ 16:02 | 
        (5) СправочникСсылка.ЕдиницыИзмерения     | |||
| 7
    
        salvator 27.02.14✎ 16:06 | 
        (6) Ну так и ищи в этом справочнике по наименованию и вытягивай потом из этой ссылки коэффициент.     | |||
| 8
    
        zzzLEXzzz 27.02.14✎ 16:08 | 
        (7) в этом и проблема я не знаю как это правильно реализовать )))) туплю ещё ))     | |||
| 9
    
        salvator 27.02.14✎ 16:10 | 
        (8) В синтаксис-помощнике забанили?     | |||
| 10
    
        zzzLEXzzz 27.02.14✎ 16:15 | 
        (9) Нет ещё ))) ладно буду мучится, спасибо за помощь     | |||
| 11
    
        salvator 27.02.14✎ 16:21 | 
        (10) Че мучиться-то?
 Для Каждого ТекСтрокаТовары Из Товары Цикл ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); ЕдИзм = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("Под",Истина); Если ЕдИзм.Пустая() Тогда КоэфПоддоны = 0; Иначе КоэфПоддоны = ТекСтрокаТОвары.Количество/ЕдИзм.Коэффициент; // тут еще по-хорошему сделать проверку что к-т не равен 0 КонецЕсли; ОбластьТовары.Параметры.поддоны = Поддоны; ТабДок.Вывести(ОбластьТовары); КонецЦикла; | |||
| 12
    
        salvator 27.02.14✎ 16:21 | 
        +(11) не
 ОбластьТовары.Параметры.поддоны = Поддоны; а ОбластьТовары.Параметры.поддоны = КоэфПоддоны; | |||
| 13
    
        salvator 27.02.14✎ 16:26 | 
        И конечно же не в цикле искать. Погорячился второпях )
 Вот так надо: ЕдИзм = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("Под",Истина); Если ЕдИзм.Пустая() Тогда КоэфПоддоны = 0; Иначе КоэфПоддоны = ТекСтрокаТОвары.Количество/ЕдИзм.Коэффициент; // тут еще по-хорошему сделать проверку что к-т не равен 0 КонецЕсли; Для Каждого ТекСтрокаТовары Из Товары Цикл ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); ОбластьТовары.Параметры.поддоны = КоэфПоддоны; ТабДок.Вывести(ОбластьТовары); КонецЦикла; | |||
| 14
    
        zzzLEXzzz 27.02.14✎ 16:38 | 
        (12) тогда ж  КоэфПоддоны = ТекСтрокаТОвары.... будет выдавать ошибку     | |||
| 15
    
        salvator 27.02.14✎ 16:39 | 
        (14) Чо?     | |||
| 16
    
        zzzLEXzzz 27.02.14✎ 16:40 | 
        (15) Если из цикла выводить поиск тогда выйдет токая ошибка 
 {Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(4973,21)}: Переменная не определена (ТекСтрокаТОвары) КоэфПоддоны = <<?>>ТекСтрокаТОвары.Количество/ЕдИзм.Коэффициент; // тут еще по-хорошему сделать проверку что к-т не равен 0 (Проверка: Толстый клиент (обычное приложение)) | |||
| 17
    
        mikecool 27.02.14✎ 16:41 | 
        делаем параметр или константу, заполняем единицей из классификатора поддон
 далее в расчете получаем единицу у номенклатуры, у которой значение классификатора из константы и делим на ее коэффициент и все! | |||
| 18
    
        mikecool 27.02.14✎ 16:41 | 
        +17 не забывая проверять - есть ли такая единица     | |||
| 19
    
        salvator 27.02.14✎ 16:44 | 
        (16) Ну да. Сделай тогда до цикла расчет коэффициента из элемента справочника.
 А в цикле уже дели на него, с проверкой на "не 0" | |||
| 20
    
        mikecool 27.02.14✎ 16:44 | 
        у меня таких единиц было две - ящик и поддон, в обе приходилось пересчитывать     | |||
| 21
    
        zzzLEXzzz 27.02.14✎ 16:50 | 
        (19) Выводить стало, но не правильно, видимо что-то не то сделал, должно выходить значение 10, а выходит 126
 ЕдИзм = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("под",Истина); Для Каждого ТекСтрокаТовары Из Товары Цикл ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); КоэфПоддоны = ТекСтрокаТОвары.Количество/ЕдИзм.Коэффициент; ОбластьТовары.Параметры.поддоны = КоэфПоддоны; ТабДок.Вывести(ОбластьТовары); КонецЦикла; | |||
| 22
    
        zzzLEXzzz 27.02.14✎ 16:54 | 
        (17) Для меня это как китайская кириллица ))     | |||
| 23
    
        mikecool 27.02.14✎ 16:57 | 
        (22) вон из профессии )     | |||
| 24
    
        zzzLEXzzz 27.02.14✎ 16:59 | 
        (23) ну я ж пытаюсь разобраться ))) даже курсы прошёл, но иногда просто не могу разобраться и всё ((((     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |