• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Прив'язка кожного складу до співробітника

Автор BoryaPOC, Листопад 15, 2011, 08:09:14

Попередня тема - Наступна тема

0 Користувачі і 3 Гостей дивляться цю тему.

BoryaPOC

В мене виникла потреба організувати облік кількох складів в одні програмі. ТОбто є склад на яки товар прибуває і вже з нього видається на інші 8 точок. Суть полягає в тому, що я організував  кілька складів, наприклад
Склад
Контейнр №1
Контейнр №2
...
Контейнр №N
. Повторю, так як всі Прибуткові, видаткові і переміщення будуть проводитись в одні програмі(на одному комп'ютері), то мені потрбіно за кожним складом закріпити співробітника, яких я ввів в довіднику "клієнти"..я намагався прив*язати програмно в ФастРепорт по ID. ТОбто, наприклад якщо вибрано контейнер №2, айді якого =4 то айді клієнта присвоюємо наприклад 3 і тоді всі дані даного клієнта(співробітника)(ПІБ, ІПН, № поспрота...іт.д.) виводити в поле Мемо в шапці документа. Але це спроба не увінчалась успіхом. Був варінт (нубовський, але варіант) Проосто  в назві складу прописати всі дані, тобто шоб склад Називався не просто контейнер, а "контейнер №2, Шмигел Юрій Петрович ІПН 2325020, пАСПОРТ КР 523592". але я навтіь не знаю чи можна в цьому полі в базі заносити такі довгі значення. не пробував...але це вже крайній варіант)...може є якийсь спосіб відомий і простіший...але я його не зною? тому прошу допомогти якнайшвидше.

vasos

Цитатаале я навтіь не знаю чи можна в цьому полі в базі заносити такі довгі значення
Можно, если я не ошибаюсь, до 30-ти символов.
Может Вам стоит посмотреть в сторону нескольких "Активных фирм"... Завести на каждого сотрудника свою фирму и выводить на печать уже информацию по активной фирме.

BoryaPOC

#2
Ну це також як варіант, який не є конкретним рішенням і не відповідає дійсній структурі підприємства, але якусь звітність допоможе ввести. Але я також не дуже хочу ось так. Але робити звіти по переміщення (а їх буде дуже багато) зі складу на склад буде не реально. хто куди звідки і скільки.

TheOK

#3
 Думаю, что вариант с фирмами неплохой.
Да и название склада вы можете привязать с ID клиентом (назвать склад : "Контейнер1 _IDX", где _ID будет служить для способа связывания склада с ID сотрудника), но это не особо удобный вариант.
У вас сотрудники пользуются программой под своими именами пользователей? Возможно вам есть смысл просто выводить данные пользователя, который в данный момент пользуется программой.
Попробуйте рассмотрите варианты с различными фирмами или пользователями (мне кажется в обеих есть свои плюсы).
Но, честно говоря, я не совсем понял для чего это вам? В каких документах вы хотите добавлять данные своего работника?
Попытайтесь использовать предложенные варианты, если что не получится, пишите.
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

BoryaPOC

Цитата: TheOK від Листопад 15, 2011, 21:34:26
Думаю, что вариант с фирмами неплохой.
Да и название склада вы можете привязать с ID клиентом (назвать склад : "Контейнер1 _IDX", где _ID будет служить для способа связывания склада с ID сотрудника), но это не особо удобный вариант.
У вас сотрудники пользуются программой под своими именами пользователей? Возможно вам есть смысл просто выводить данные пользователя, который в данный момент пользуется программой.
Попробуйте рассмотрите варианты с различными фирмами или пользователями (мне кажется в обеих есть свои плюсы).
Но, честно говоря, я не совсем понял для чего это вам? В каких документах вы хотите добавлять данные своего работника?
Попытайтесь использовать предложенные варианты, если что не получится, пишите.
Питання в тому, що крім адміністратора в програмі ніхто не повинен працювати. ТОбто всі переміщення, Приходи, Списання, Розходи робить адміністратор. Структура підприємста покищо така:

  • Склад
  • Контейнер №1
  • ...........
  • Контейнер №8
Товар приходить на склад Адміністратор виписує Прихідну накладну, в якій повинно бути Підписи того хто прийняв, бухгалтера і Директора. Потім товар переміщається в різних кількостях на різні контейнери, за кожним контейнером закріплена людина, тому потрібно, щоб при переміщенні зі складу в певний контейнер виписувало не лише номер контейнра, а і ПІБ особи яка відповідає за контейнер. тобто в шапці друкованої форми повинно виписуватись ПІБ, ІПН...і т.д.. Також переміщення відбуватиместься не тільки зі складу в контейнери, а і з контейнера в контейнер. Тому в документі переміщення повинно бути вказано: контейнер, дані відповідальної особи, і підписи від кого і кому, а також Бугхалтера і директора. Розхідний документ повинен також бути із вказівником з якого саме контейнера(і знову ж таки, щоб виписувалио ім*я і дані відповідальної особи) було видано товар покупцю...І нагадую це все повинна робити одна людина(адміністратор).
Покищо така структура, потім планується ввести комп*ютери в кожному контейнері і тоді зрозуміло, що все буде простоійше, а зараз потрібно шоб весь облік підприємства вівся на одному комп*ютері.
Ідея з фірмами не дуже підходить, а з користувачами всагалі не то. ТОмущо потім потрібно робити звіти руху товару по певному контейнеру, чи по складу, Інвенетизація, залишки і все все...Надіюсь зрозуміло.

admin

Цитата: BoryaPOC від Листопад 15, 2011, 08:09:14
...
виводити в поле Мемо в шапці документа. Але це спроба не увінчалась успіхом.
...

Что именно не получилось?

Зайдите в меню Опции : SQL менеджер и выполните след. код:

SELECT
  sn.*
FROM
  sklad_names sn
ORDER BY
  sn.num

результат можно экспортировать и выложить сюда

BoryaPOC

Цитата: admin від Листопад 16, 2011, 09:57:51
Цитата: BoryaPOC від Листопад 15, 2011, 08:09:14
...
виводити в поле Мемо в шапці документа. Але це спроба не увінчалась успіхом.
...

Поперше я не знаю як можна подивитись ID співробытника, хібащо методом перебору.

Что именно не получилось?

Зайдите в меню Опции : SQL менеджер и выполните след. код:

SELECT
  sn.*
FROM
  sklad_names sn
ORDER BY
  sn.num

результат можно экспортировать и выложить сюда

По перше я не знаю як продивитись ID-шники спывробытників, хібащо методом перебору. По друге я незнайшов(впринципі я й не шукав довго) який тип потрібно для запису в мемо, просто String не підходить.
Ага....можна виконита SQL запит і подивитись ID співробітників в таблиці клієнтів, це я думаю розберусь. А який код потрібно написати  Фаст репорт, щоб воно прив*язувало, а то я використовую оператор умови, але не знаю...і ніде в документації не можу знайти синтаксиис. Думаю шо він такий як і в С++ як в Паскалі, дивлячись шо використовую, але всеодно, шось в мене не так...Зараз буду ше з бубном танцювати)

BoryaPOC

Вже розібрався майже. Тільки неможу зрозуміти, як мені встановити поле в Базі "DataRep.Client_ID", так щоб <Клиент.ВсеРеквизиты> вибирало саме за вказаним айді.

begin
   if (<ÀêòÔèðìà.Ñêëàä>='Êîíòåéíåð ¹7') then
<DataRep."Client_ID">:=3;                                                                 
       Memo23.Memo.Text:=<Êëèåíò.ÂñåÐåêâèçèòû>; 
end.

Ось так не хоче..ну впринципі зрозуміло, що призво полю в базі даних не так присвоюється значення....але як?

TheOK

#8
Сделайте следующим образом.
В документах, которые вы выписываете измените шаблон так (это относится к накладной на перемещение, в остальных посмотрите сами, к каким данным можно привязать в документе имя сотрудника, возможно так же к складам):
1. добавьте новый объект Текст
2. Измените его имя на новое (например: MyMemo_999)
     Это можно сделать кликнув на созданное поле, выбрать закладку "свойства", и изменить поле Name (Вписать там новое имя)
3. Если вы делаете одной накладной на перемещение движение только по одному складу, то :
   a) кликаете мышью на краюшек странички отчета, чтобы в поле, где отображается имя и тип выбранного объекта высветилось Page1:TfrxReportPage.
   b) выбираете закладку "События", и кликаете 2 раза на поле OnBeforePrint
   c)  Если у вас выставлен язык PascalScript, то вводите там что-то вроде:
if <АктФирма.Склад> ='Название склада отправителя' then
       MyMemo_999.AnsiText:='Имя сотрудника склада отправителя';
  if <АктФирма.СкладПолучатель> ='Название склада получателя1' then
       MyMemo_999.AnsiText:='Имя сотрудника склада получателя1';

Где изменяете соответствующие поля (заключенные в " ").
Проверяете как работает отчет для выбранного склада, если все в порядке, копируете код сколько вам угодно раз (в вашем случае, столько раз, сколько у вас складов к которым привязан сотрудник).

Думаю, что это наименее хлопотный вариант в вашем случае. Все, что нужно, изменить шаблоны документов.
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

BoryaPOC

Цитата: TheOK від Листопад 16, 2011, 22:22:50
Сделайте следующим образом.
В документах, которые вы выписываете измените шаблон так (это относится к накладной на перемещение, в остальных посмотрите сами, к каким данным можно привязать в документе имя сотрудника, возможно так же к складам):
1. добавьте новый объект Текст
2. Измените его имя на новое (например: MyMemo_999)
     Это можно сделать кликнув на созданное поле, выбрать закладку "свойства", и изменить поле Name (Вписать там новое имя)
3. Если вы делаете одной накладной на перемещение движение только по одному складу, то :
   a) кликаете мышью на краюшек странички отчета, чтобы в поле, где отображается имя и тип выбранного объекта высветилось Page1:TfrxReportPage.
   b) выбираете закладку "События", и кликаете 2 раза на поле OnBeforePrint
   c)  Если у вас выставлен язык PascalScript, то вводите там что-то вроде:
if <АктФирма.Склад> ='Название склада отправителя' then
       MyMemo_999.AnsiText:='Имя сотрудника склада отправителя';
  if <АктФирма.СкладПолучатель> ='Название склада получателя1' then
       MyMemo_999.AnsiText:='Имя сотрудника склада получателя1';

Где изменяете соответствующие поля (заключенные в " ").
Проверяете как работает отчет для выбранного склада, если все в порядке, копируете код сколько вам угодно раз (в вашем случае, столько раз, сколько у вас складов к которым привязан сотрудник).

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

Дякую! саме так я і зробив ще позавчора. Це найкращий варіант покищо. ПРосто не хотілось вписувати ПІБ, ІПН, і решту реквізитів в ручну...Хотілось щоб вибірка реквізитів автоматично вибиралась із Бази. Але нічого..і так прокатірується). Дякую всі, а особливо ЗЕок, тому що ваші відповіді хоч не буди продуктивні, але додали мені впевненсті втому, що я все зробив так як треба)_)))) :D 8)

olga_gab

З Вашого дозволу, скористаюся Вашим рішенням проблеми.
У мене Один склад і 5 матеріально відповідальних осіб, але з компютерами і в спільній мережі. Переміщення із складу різним МВО і рух між ними. Крім цього в кожного працює і вікно касира і виписка розхідних накладних.

  Всім присвоїла ID, дала свої права...
Не змогла розібратися з окремою нумерацією для кожного складу. Підскажіть, будь-ласка. (я нумерую вручную, добавляючи букву перед номером - канцтовари К, посуд П, і т.д)
  А ось нумерація в вікнах касира вся перепутана - як розділити?

admin

Цитата: olga_gab від Грудень 02, 2011, 23:11:40
Не змогла розібратися з окремою нумерацією для кожного складу. Підскажіть, будь-ласка. (я нумерую вручную, добавляючи букву перед номером - канцтовари К, посуд П, і т.д)

Скажите зачем такая нумерация нужна, ведь можно выводить наименование склада прямо в печатную форму.

Цитата: olga_gab від Грудень 02, 2011, 23:11:40
  А ось нумерація в вікнах касира вся перепутана - як розділити?
Что значит "перепутана" объясните подробней.

olga_gab

В большом магазине пять касс. На каждой из касс работает по два кассира - первая и вторая смена. В конце смены нужно "передать кассу". Заходим в Архив документов - открываем список: Окно кассира - по мере записи у меня в этом списке все продажи "розн. покупателям" со всех рабочих мест. (Пока мне не нужны проводки - еще не конец раб.дня).  Номер док 1 Дата 7.12.2011(это продажа с ID004) Розн.покуп. ... сумма 15,00
               Номер док 2 Дата 7.12.2011(это продажа с ID003) Розн.покуп. ... сумма 25,00
               ...
               Номер док 43 Дата 7.12.2011(это продажа с ID001) Розн.покуп. ... сумма 115,50       
И в конце итог всех продаж - отлично, но мне нужен итог,  например по . ID003 - текущий, на данную минуту(сколько денег в этой кассе должно быть)

olga_gab

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

olga_gab

В режиме реального времени работаем с 1.12.2011 - если вопросы некоректны - извините пожалуйста.
И главное - правильно ли я организовала работу?
- Складов у меня 5(Физически склад 1) 4 остальных это подразделения в одном магазине. Каждый Кассир обслуживает все 4 отделения - имеет возм. выбирать и менять склад в зависимости от товара и делает это.
Правильно?
По какому признаку собираются чеки при формировании проводок в расх. накладную?
- по ID кассира. Правильно?