Версия для печати темы (https://pro1c.org.ua/index.php?s=d75c3b59f1e4a608da9f102eed9c248e&showtopic=24182)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Показать таблицу в форму отрытой модально

Автор: Sede 20.07.15, 9:54

Доброго дня.

При открытии внешней обработки модально: во внешней обработке есть таблица, при вызове таблицы (Таблица. Показать()) таблица появляется под формой внешней обработки, Посмотреть таблицу можно только перемещая саму форму внешней обработки, но фокус на табличную часть не передать пока не закрыть форму внешней обработки. Насколько я понял форма открытая модально является основной, все остальные окна/формы/таблицы отображаются в фоновом режиме.

Как правильно отобразить Таблицу поверх формы обработки открытой модально?

Обработка должна быть открыта модально, поскольку ожидается возврат результата.

Автор: sava1 20.07.15, 10:53

Вариант 1. Открыть форму немодально через ОткрытьПодбор
Вариант 2. Положить таблицу на форму (см. Йоксель)

Автор: Sharzem 20.07.15, 16:01

Варриант 3: Использовать вместо Таблицы, Таблицу значений расположенную на модальной форме обработки.

Цитата(Sede @ 20.07.15, 10:54) *
Обработка должна быть открыта модально, поскольку ожидается возврат результата.


Под результатом имеется ввиду Расшифровка ?

ЗЫ: Просто интересно где можно применить модально открытую форму которая сформирует таблицу и еще при этом что-то вернет туда откуда ее вызвали ?

Опытом поделитесь че Вы там такое делаете, что и впрям такая открытая форма уж очень так нужна ? Если честно, я такого еще нигде не встречал. Подход может заслуживать на звание "Ноу-хау".

Автор: Sede 21.07.15, 8:20

Цитата(Sharzem @ 20.07.15, 17:01) *
ЗЫ: Просто интересно где можно применить модально открытую форму которая сформирует таблицу и еще при этом что-то вернет туда откуда ее вызвали ?

Опытом поделитесь че Вы там такое делаете, что и впрям такая открытая форма уж очень так нужна ? Если честно, я такого еще нигде не встречал. Подход может заслуживать на звание "Ноу-хау".


Да нет, что Вы, "Ноу-хау" это не назвать - скорее отсутствие опыта в 1с. Начал изучать всего пару месяцев назад, поэтому это скорее отсутствие опыта и знаний нежели Ноу-хау.

А делаю я обработку, которая на основе Расходной накладной поставщика (документ Excel) загружает Приходную накладную в 1с.
Задача поставлена так, чтобы оператор-менеджер "Легким движением руки" загружал в Приходную нужные товары, при этом совершая минимум "движений".
Знаю что в интернет есть готовые решения(искал, находил) по ним как бы и делал свою.
Если кратко описать: Берется расходная накладная контрагента (Excel документ), производится поиск оглавлений таблицы (Наименование, количество, цена, сума) далее поиск товара по коду контрагента, на основании кода - выбирается товар из собственного справочника ТМЦ. Результаты обработки заносятся в таблицу и потом с таблицы обработки результат передается в табличную часть Приходной накладной (Как раз на эту таблицу и хочется посмотреть - что же мы передаем в приходную)
Вот как бы и все. Но это пока тока в идее потихоньку занимаясь реализаций приходится подстраиваться под возможности 1с потому как задумка это одно а вот практическая реализация другое.

Одна из проблем - невозможность передать Через "Параметр" вызова функции "ОткрытьФормуМодально" таблицу значений (максимум - список значений) поэтому приходится выкручиваться всякими вычурными и странными методами, да и местами полностью менять части обработки.

Вам спасибо за совет, скорее всего добавлю слой, куда запихну таблицу чтобы еще больше не усложнять ситуацию.

Автор: Vofka 21.07.15, 8:37

Цитата(Sede @ 21.07.15, 9:20) *
Одна из проблем - невозможность передать Через "Параметр" вызова функции "ОткрытьФормуМодально" таблицу значений (максимум - список значений)

Но в список значений можно запихнуть, например, массив. В результате потом из "списка массивов" можно собрать таблицу значений. Это просто к слову.

Автор: vadim007 21.07.15, 9:32

Sede, а зачем еще слой добавлять, когда можно в одном слое расположить и элементы формы, и таблицу значений.
Так менеджеру понятней будет.
И правильно Vofka сказал - обмен с формой вести через список значений. Это универсальный механизм.

Автор: Sede 21.07.15, 9:48

Цитата(Vofka @ 21.07.15, 9:37) http://pro1c.org.ua/index.php?act=findpost&pid=101042
Sede, а зачем еще слой добавлять, когда можно в одном слое расположить и элементы формы, и таблицу значений.
Так менеджеру понятней будет.


Спасибо, тоже подумав - наверно все на один слой закину, а то неудобно получится по слоям бегать, а так все вместе.

Автор: igmig65 21.07.15, 10:36

и модально совсем не нужно, тогда форму можно развернуть и таблицу значений можно увидеть нагляднее

Автор: Домовик 21.07.15, 10:38

цепочка не понятна..
из чего, откуда запускается обработка?
Зачем нужно видеть содержание этой таблицы? Его менеджер может корректировать? перед тем как создать приходную?
промежуточное вот это зачем?, в приходную сразу нельзя загрузить?


еще. таблица ввода данных - не?

Автор: igmig65 21.07.15, 10:39

+++

Автор: Sede 21.07.15, 11:01

Цитата(Домовик @ 21.07.15, 11:38) *
цепочка не понятна..
из чего, откуда запускается обработка?
Зачем нужно видеть содержание этой таблицы? Его менеджер может корректировать? перед тем как создать приходную?
промежуточное вот это зачем?, в приходную сразу нельзя загрузить?


еще. таблица ввода данных - не?


В таблице сверяется товар(название) + возможны корректировки цены(хотя да - это можно сделать в приходной).
Таблица не обязательна, но на ее основе будет сформирована Приходная. Значение можно и не видеть, но в приходной все равно придется пересмотреть (мало ли сума не сходится).
Например мной наблюдается довольно частая ситуация, товар по расходной идет со скидками и т.д. в итоге встечаются такие ситуации - Товар - штук 3, цена за 1 шт. 3,33 - Стоимость 3х шт - 10,00.
Если посчитать - 3*3,33 = 9,99 поэтому корректировку иногда все же приходится делать.( И снова - ДА это тоже можно сделать в приходной)

Да - можно не видеть, Да - можно корректировать в приходной, но решил спросить, ибо любая ситуация - наука, не пригодилось здесь - может понадобится в другом.

Автор: Домовик 21.07.15, 11:16

Sede, у Вас одна обработка вызывает другую? В первой вы читаете файл эксель?
Откуда таблица по расходной передается?

Автор: Sede 21.07.15, 11:24

Цитата(Домовик @ 21.07.15, 12:16) *
Sede, у Вас одна обработка вызывает другую? В первой вы читаете файл эксель?
Откуда таблица по расходной передается?


В документе Приходная (форма) кнопочка - Загружить с Екселя - Открывается внешняя обработка, в ней и открывается файлик, она же делает поиск, вытаскивает суму и т.д. и т.п. - результат возвращает название товара из номенклатуры(поскольку товар у контрагента имеет название отличительное от нашего), количество товара, цену, суму в табличную часть Приходной.

Если интересны все "Телодвижения" могу описать более детально.

Автор: Домовик 21.07.15, 12:15

таблицу можно и строкой передавать:

111 23.5 1.0 23.5; 234 12.0 2.0 24.0; и тд.

строки через разделитель " ; " код товара цена количество сумма - через пробел.

строку прочесть несложно. Первой функцией откусить от общей строки слева до разделителя ;, второй функцией откусывать слева до пробелов. Таким образом прочитывая и занося строку в табличную часть.



в приходной скидки - это 9.99 вместо округленного 10.0 ? так вы ж читаете 9.99 из Эксель? где тогда корректировка?
случайный " клац" по цене или количество в приходной возможен?

Автор: vadim007 21.07.15, 12:47

У каждого свое видение процесса работы менеджера.
Когда-то делал импорт банковских выписок, также сначала все считанные данные разместил в таблице на форме импорта. Ну чтобы бухгалтер смог посмотреть, подправить. Однако это только усложнило ее работу.
Пришлось переделать, импортировать сразу в документ БВ. Что бухгалтеру очень даже понравилось.

Автор: Sede 21.07.15, 15:54

Цитата(Домовик @ 21.07.15, 13:15) *
в приходной скидки - это 9.99 вместо округленного 10.0 ? так вы ж читаете 9.99 из Эксель? где тогда корректировка?
случайный " клац" по цене или количество в приходной возможен?


Вам если расходную представили на сумму 1000,00 грн, то для получения заказа вы должны уплати именно 1000, а не 999,99, иначе 0,01 пойдет в задолженность.

Приведу пример (цены/скидка - отсебятина):
Товар - стоимость - 38,98 грн.
При заказе 5 штук - скида 1,5%.
38,98*5=194,90, (-1,5%) = 191,98 (точное число 191,9765) - сума к оплате (по расходной) 191,98
Новая цена 1й единицы товара 191,98/5 = 38,396,
Какая новая цена 1й единицы товара должна стоять у меня в приходной??

в приходной точность цены 1 копейка итого:
при цене 38,40 * 5 = 192,00
при цене 38,39 * 5 = 191,95.
Получается "ни рыба ни мясо".

Если брать за основу цену 1й единицы товара правильного расчеты не получится, поэтому надо корректировать сумму.
Это я к примеру на практике у меня в табличную часть загружаются цены за 1 единицу с бесконечной дробной частью, ну или с несколькими знаками (как в примере выше) в Приходной этого так быстро не найдеш, в таблице же сразу заметно даже по длине цыфр

Автор: Домовик 21.07.15, 17:02

... ну сам же перерасчет со старой цены на новую (с учетом скидки) вы же напрограммировали?

еще есть тот факт, что при проведении документы сохраняют информацию в проводках и регистрах только в Количестве и Общей Стоимости. Информация о цене за единицу, только в табличной части самого документа - это в типовых конфигурациях.

не знаю, правильно ли для бухгалтеров... хорошо сразу грузить в приходную двумя строками: первую строку по перерасчитанной округленной к меньшему цене
n-1 штуку, и вторую строку - по цене =Общая стоимость - (n-1)*перерасчитанная цена, округленная к меньшему. На пару копеек цена второй строки будет отличаться.


.. или точность цены приходной увеличить до трех?

Автор: Sede 21.07.15, 18:47

Цитата(Домовик @ 21.07.15, 18:02) *
... ну сам же перерасчет со старой цены на новую (с учетом скидки) вы же напрограммировали?

еще есть тот факт, что при проведении документы сохраняют информацию в проводках и регистрах только в Количестве и Общей Стоимости. Информация о цене за единицу, только в табличной части самого документа - это в типовых конфигурациях.

не знаю, правильно ли для бухгалтеров... хорошо сразу грузить в приходную двумя строками: первую строку по перерасчитанной округленной к меньшему цене
n-1 штуку, и вторую строку - по цене =Общая стоимость - (n-1)*перерасчитанная цена, округленная к меньшему. На пару копеек цена второй строки будет отличаться.


.. или точность цены приходной увеличить до трех?


все считается у контрагента мне только Итоговая сумма указывается. Но если мне провести аналогичный перерасчет (беру цену - множу на количество - результат сумма заполняется автоматически) то выходит разница на 1-2 копейки в моих расчетах и то что указано в накладной, которая быть не должна, тут и приходится эти пару копеек подкручивать вручную (Точность Цена товара остается неизменной, да она и не так важна). В общем на всю Приходную на 40-50 товаров попадается эта ситуация у 1-2х товаров.


Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua