Имя: Пароль:
1C
1С v8
Внедрение движения товаров, по образцу Торговой конфигурации. как быть
, ,
0 Анастасия Изотова
 
29.06.15
10:20
Уважаемые специалисты. У меня 1С 8.1. Помогите советом, как я могу организовать Складской Учет в конфигурации, где само понятие склад - отсутствует ?
Конечная цель, между базой Главной, где основной склад, и филиалами, сделать двусторонний обмен, списание и поступление.
А пока, на в базе филиала, что нужно доработать в конфигурацию, что бы появилось такое понятие как накопление, приход, списание ?
У меня есть документ, первичный, для клиентов. на основании каждого происходит учет материалов, по нашей номенклатуре, с учетом количества и цены. Но все запросы на пересчет товара по каждой проводке замыкаются на РегистрСведений.НормаРасходаТовара.СрезПоследних, потом записывается циклом в Движение (например:  Движение.Номенклатура = ТекСтрокаМатериалы.Материал; )   и все. дальше ничего больше нет .
Помогите советом, что лучше внедрить в конфигурацию, что бы приход-расход начать учитывать, с полноценным учетом остатков, начальных, конечных.  что бы потом эти данные на основнойСклад передавать как-то .
Как я это буду делать, вообще труба полная (
1 Yuwa
 
29.06.15
10:22
Вам это делать не стоит. Для начала надо разобраться в функционале БП
2 Джинн
 
29.06.15
10:23
Наймите специалиста. С тем хаосом в голове, который мы наблюдаем из сабжа, ничего толкового не получится.
3 ОбычныйЧеловек
 
29.06.15
10:25
(0) Послушай совета в (1) и все твои проблемы исчезнут (правда другие появятся, но это уже не твоя головная боль будет)
4 Анастасия Изотова
 
29.06.15
10:45
Функционал имеющейся базы на филиале ? Изучила. У меня даже код перед глазами, первичного документа. Откуда берутся данные по номенклатуре и количеству, и ... и все. Они просто пишутся в каждый первичный документ. Единого справочника, копилки что ли, нет. Никуда эти данные дальше не консолидируются
5 Yuwa
 
29.06.15
10:53
(4) Настя, вы пишете полный бред. Уж простите. Посмотрите как организован складской учет в БП.
6 Анастасия Изотова
 
29.06.15
11:13
Хорошо, как я это вижу.  Есть поступление товара со склада. Поступление товаров и услуг. Данные переданы с другово центра, с другой Базы Данных. xml например прилетел. с описанием товаров, и их количеством. и ценой.   Это все падает на остатки, начальные.  на филиал.  в процессе работы с клиентами, проведениями то одного, то другово первичных документов, идет списание с этих остатков.  так ?  ну и учет. что списали.  Вот это мне и нужно тут реализовать, доделать имеющуюся схему
7 Галахад
 
гуру
29.06.15
11:20
Окна, что-ли делаете?
8 D_E_S_131
 
29.06.15
12:11
Трудно что-то посоветовать, когда не понятно "А что уже есть в конфигурации". Разве что только курсы по программированию 1С можно порекомендовать...
9 Масянька
 
29.06.15
12:21
(6) Извините, но блондинке не фига не понятно...
Поступление - это поступление (покупка товаров организацией).
Списание - это продажа (другой организации)/списание материалов на собственные нужды.
Вопрос: при чем тут склады?
10 Анастасия Изотова
 
30.06.15
03:32
Хорошо, что бы не было сложностей с терминологией, я просто уточню:   товар на филиал должен прийти. и там числится. и списываться должен. минусоваться.   где то эти товары должны храниться - в документах Поступление, или в регистрах.   Вы уж простите, я 1С Торговолю не разбирала по частям, где и как там идет движение материалов.
11 Lama12
 
30.06.15
07:42
(10) Давно не смотрел торговлю. Там складов или мест хранения вообще не стало?
12 hhhh
 
30.06.15
07:53
(10) регистр конечно. Почему документ?
13 Анастасия Изотова
 
30.06.15
08:54
Вот и я, в торговле не особо понимаю. У меня есть по РегистрСведений эти товары. И номенклатура и количество. Можно сформировать документ, СписаниеРасходныхМатериалов, который в заполняемую табличную часть соберет все использованные за указанный период материалы. И даже цену по количеству, посчитает.   А как мне , и главное, куда мне,эти товары Заносить ? Начальные остатки как сделать ? и списывать потом, каждым проведением, их оттуда ... - имитируя склад (наподобие Торговле)
14 ДенисЧ
 
30.06.15
08:55
(13) У тебя какая сейчас конфигурация? Начнём с этого.
15 Lama12
 
30.06.15
09:56
(13) Открыл УТ 11. Регистр "Товары на складах" имеется.
Присоединяюсь к (14) что за конфа?
16 Metman
 
30.06.15
10:49
(13) "У меня есть по РегистрСведений эти товары" Точно Сведений? Не Накопления? "имитируя склад (наподобие Торговле)". Если нет склада, то как в (6) "Это все падает на остатки". Это все падает куда? У вас самописка какая-то?
17 EverGreenMouse
 
30.06.15
11:01
(13) и я открыл УТ 11.1 Вопрос по конфе объявляется открытым крайне широко
18 Анастасия Изотова
 
01.07.15
02:40
Конфигурация Управление Мед учреждением. 8.1. Правленная, порезанная предшественниками (по просьбам руководства там многое просто затерли.
У нас как устроено: Есть первичный документ. Выставляются к продаже услуги, по ценам и категориям. С ценами и количеством. Услуги берутся из Справочника соответствующего. Падают в табличную часть формы.  Но, при проведении этого документа, так же формируется еще одна табличная часть, куда падают Метериалы.
  ********************************* начинается вот так:
Материалы.Очистить();
    
    Для Каждого СтрТЧ из Услуги Цикл
    
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                       |    НормаРасходаТовараСрезПоследних.Услуга КАК Услуга,
                       |    НормаРасходаТовараСрезПоследних.Номенклатура КАК Номенклатура,
                       |    НормаРасходаТовараСрезПоследних.Количество КАК Количество,
                       |    НормаРасходаТовараСрезПоследних.Организация КАК Организация
                       |ИЗ
                       |    РегистрСведений.НормаРасходаТовара.СрезПоследних КАК НормаРасходаТовараСрезПоследних
                       |ГДЕ
                       |    НормаРасходаТовараСрезПоследних.Услуга = &УслугаТ";
        
        Запрос.УстановитьПараметр("УслугаТ", СтрТЧ.Услуга.Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();

*****************************
Пока Выборка.Следующий() Цикл
            НовЭлМатериал = Материалы.Добавить();
            НовЭлМатериал.Услуга     = Выборка.Услуга;
            НовЭлМатериал.Материал   = Выборка.Номенклатура;
            НовЭлМатериал.Количество = Выборка.Количество;        
            НовЭлМатериал.ЕдИзм      = Выборка.Номенклатура.БазоваяЕдиницаИзмерения;
            НовЭлМатериал.Цена       = Выборка.Номенклатура.Цена;
            НовЭлМатериал.Сумма      = Выборка.Номенклатура.Цена * Выборка.Количество;

*************************************
Если Материалы.Количество() > 0 Тогда
        
        Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
            Движение = Движения.Номенклатура.Добавить();
            Движение.ВидДвижения  = ВидДвиженияНакопления.Расход;
            Движение.Период       = Дата;
            Движение.Номенклатура = ТекСтрокаМатериалы.Материал;
            Движение.Организация  = Организация;
            Движение.Количество   = ТекСтрокаМатериалы.Количество;
            Движение.Сумма        = ТекСтрокаМатериалы.Сумма;
        КонецЦикла;

****************************************

При том что есть документ НормаРасходаМатериалов, где просто задаются нормы количества Материала, расходуемого на конкретную Услугу, а вот дальше что мне с этим делать ?

Сейчас пока просто идет учет, мол - сколько материала расходуется на такую то услугу.
Но нет самого понятия Склад, где будет задано начальное количество этих товаров, куда я могу сделать их приход/накопление/пополнение/завоз , и  откуда будут они минусоваться.  вот этого я понять не могу
19 denk
 
01.07.15
03:42
Если в документе есть табличная часть Материалы и она заполняется, то скорее всего данные из табличной части при проведении попадают в какой-нибудь регистр накопления, как минимум, оборотный. Проверьте движения этого документа. Если по каким-то причинам списанные материалы не записываются в регистры накопления, то это надо организовать.
20 floody
 
01.07.15
08:23
(18) Ваш регистр сведений хранит просто состав услуги. Если хотите организовать учет остатков, вам необходимо как минимум: завести регистр остатков, прописать по нему движения прихода (приходная накладная), и расхода (расходная накладная).

Если конечно этих регистров и движений еще нет в конфигурации (скорее есть, чем нет).
21 Масянька
 
01.07.15
08:53
(18) А что "Движения.Номенклатура" в строке "Движение = Движения.Номенклатура.Добавить();"?
22 hhhh
 
01.07.15
09:43
(18) ну введите это понятие склад. Что вас останавливает?
23 DexterMorgan
 
01.07.15
09:46
Ух ты, Владивосток =)
24 Анастасия Изотова
 
01.07.15
10:35
Проверила исходный документ. Тот где табличная часть. В основном модуле его , в процедуре ОбработкаПроведения(Отказ, Режим)
, только эти строки:

Материалы.Очистить();
    
    Для Каждого СтрТЧ из Услуги Цикл
    
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                       |    НормаРасходаТовараСрезПоследних.Услуга КАК Услуга,
                       |    НормаРасходаТовараСрезПоследних.Номенклатура КАК Номенклатура,
                       |    НормаРасходаТовараСрезПоследних.Количество КАК Количество,
                       |    НормаРасходаТовараСрезПоследних.Организация КАК Организация
                       |ИЗ
                       |    РегистрСведений.НормаРасходаТовара.СрезПоследних КАК НормаРасходаТовараСрезПоследних
                       |ГДЕ
                       |    НормаРасходаТовараСрезПоследних.Услуга = &УслугаТ";
        
        Запрос.УстановитьПараметр("УслугаТ", СтрТЧ.Услуга.Ссылка);
                
         Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
            НовЭлМатериал = Материалы.Добавить();
            НовЭлМатериал.Услуга     = Выборка.Услуга;
            НовЭлМатериал.Материал   = Выборка.Номенклатура;
            НовЭлМатериал.Количество = Выборка.Количество;        
            НовЭлМатериал.ЕдИзм      = Выборка.Номенклатура.БазоваяЕдиницаИзмерения;
            НовЭлМатериал.Цена       = Выборка.Номенклатура.Цена;
            НовЭлМатериал.Сумма      = Выборка.Номенклатура.Цена * Выборка.Количество;
            
        КонецЦикла;
    
    
    КонецЦикла;
        
    
    
    Если Материалы.Количество() > 0 Тогда
        
        Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
            Движение = Движения.Номенклатура.Добавить();
            Движение.ВидДвижения  = ВидДвиженияНакопления.Расход;
            Движение.Период       = Дата;
            Движение.Номенклатура = ТекСтрокаМатериалы.Материал;
            Движение.Организация  = Организация;
            Движение.Количество   = ТекСтрокаМатериалы.Количество;
            Движение.Сумма        = ТекСтрокаМатериалы.Сумма;
        КонецЦикла;

и все. Я не вижу, что ДАЛЬШЕ с этими материалами делается, после того как документ провелся.
Есть в РегистрахНакопления,  так называемый: РасходныеМатериалы.  Измерения: Организация,Склад,Материал,ЕдиницаИзмерения.   Ресурсы: Количество,Цена.
Мне это подойдет ?
Мне в нем делать ДвиженияПрихода, и Расхода ?  а как ?  что куда вписать, не подскажете ?   Эту расходную накладную, заводить как обьект ?  ( у меня уже есть обьект Расходный Кассовый Ордер,  но он за списание денег отвечает, это финансовая тема(
25 Анастасия Изотова
 
01.07.15
10:42
Да, в первичном документе, откуда я взяла Код, в Движениях, выбрано: Движения - РегистрыНакопления - Номенклатура, Расходные материалы.
Как мне дальше с найденным распорядиться ?
26 Анастасия Изотова
 
07.07.15
05:27
Регистры за завела Новые. По новой, отдельно для Накопления, и для учета Движений.
А как прописать запись в эти регистры из модуля в процедуре Проведения ?

я так понимаю ТУТ:
  Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
            Движение = Движения.Номенклатура.Добавить();
            Движение.ВидДвижения  = ВидДвиженияНакопления.Расход;
            Движение.Период       = Дата;
            Движение.Номенклатура = ТекСтрокаМатериалы.Материал;
            Движение.Организация  = Организация;
            Движение.Количество   = ТекСтрокаМатериалы.Количество;
            Движение.Сумма        = ТекСтрокаМатериалы.Сумма;
        КонецЦикла;

в этот цикл, нужно вписать что то вроде:

Регистр.Доходы.Клиент = Покупатель;
Регистр.Доходы.Товар = КупленныйТовар;
Регистр.Доходы.Доход = СуммаПокупки;
Регистр.Доходы.ДвижениеПриходВыполнить();


?
что бы каждая строка табличной части Материалов, про проведении документа, записалась и в Накопление остатки, и в Движения ?
27 denk
 
07.07.15
06:08
Перед циклом напиши Движения.ТвойРегистр.Записывать = Истина;
28 denk
 
07.07.15
06:10
И вот это "Регистр.Доходы.ДвижениеПриходВыполнить();" не надо
29 0xFFFFFF
 
07.07.15
06:25
Вот это хардкод. Нетленки уже прямо в мистоветках рожають...
30 Маратыч
 
07.07.15
06:35
Серьезно, возьмите по аналогии из БП. Пока будете адаптировать модули/объекты к своей конфе, разберетесь в нюансах. Так будет гораздо правильней, нежели нагородить огород, после чего понять, что получилась жуткая хрень, и вернуться к тому, о чем я в первом предложении сказал.
31 Маратыч
 
07.07.15
06:37
+(30) Есть еще путь наименьшего сопротивления - развернуть типовую УТ, настроить обмен данными и вести весь учет товаров в ней. В каком-то отношении это даже наилучший вариант.
32 Анастасия Изотова
 
07.07.15
06:51
Открыла типовую УТ, голова кругом. Там МНОГО всего. действительно сильный механизм по взаимодействию справочников и регистров, боюсь я уйду туда с головой подчистую (  Мне сейчас это все не вывести.
Может лучше доработать то что имеется ?
Я два регистра уже завела. Справочник Материалов, тоже. Документ, первичный , у меня имеется. Далее только через него списания будут идти.  Ну и для Прихода - что то придумать, внесение начальных остатков.
33 Garykom
 
гуру
07.07.15
06:54
Здорово свой лисапед пишут по складскому учету...

(32) а зачем 2 регистра? почему одного с нужными измерениями, ресурсами и прочим не хватает?

для прихода сделать документ "ОприходованиеМатериаловНаСклад"
34 Анастасия Изотова
 
07.07.15
06:54
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
            
                Движения.ТоварыНаСкладах.Записывать = Истина;
                Регистр.Доходы.Клиент = Покупатель;  // добавила в ранее имеющийся цикл
                Регистр.Доходы.Товар = КупленныйТовар;// добавила в ранее имеющийся цикл
                Регистр.Доходы.Доход = СуммаПокупки;// добавила в ранее имеющийся цикл

Так сделать ?

            
            
            
            Движение = Движения.Номенклатура.Добавить();
            Движение.ВидДвижения  = ВидДвиженияНакопления.Расход;
            Движение.Период       = Дата;
            Движение.Номенклатура = ТекСтрокаМатериалы.Материал;
            Движение.Организация  = Организация;
            Движение.Количество   = ТекСтрокаМатериалы.Количество;
            Движение.Сумма        = ТекСтрокаМатериалы.Сумма;
        КонецЦикла;
35 Garykom
 
гуру
07.07.15
06:57
(34) не так быстро...

"Регистр.Доходы" это вообще что? подозрение что не регистр остатков а оборотов? а нафига?

нужен для учета остатков и прихода/расхода обычный регистр остатков

"ОстаткиМатериалов(НаСкладах)"
36 Анастасия Изотова
 
07.07.15
07:03
Регистр Доходов - тут уже был. В цикле в процедуре обработки. Я так поняла что туда пишется что-то.
Завела два новых - регистр Оборотный, и регистр Остатков. Решила с начала начать, что бы проследить последовательность самой, что за чем идет.
Но что вы имеете ввиду -  насчет одного регистра на все случаи ?   Разве можно одним и накопление и движения учитывать *?

вот, смотрите, документ "ОприходованиеМатериаловНаСклад"  у меня в конфе уже был. Он ссылается на документ ИнвентаризацияТоваров. Но при попытке - ПодобратьЗагрузить по остаткам на складе, он не находит Регистр (*в котором бы эти остатки были бы) (тут ранее все порезали, поудаляли дочерта, не при мне еще) .    http://hostingkartinok.com/show-image.php?id=14c57d230485adec6ed219f66f9eaad4
37 Garykom
 
гуру
07.07.15
07:10
(36) а может просто вернуться к истокам? найти исходник этой вашей конфы и оттуда все и подергать?

ЗЫ и как бы да можно (и нужно) одним регистром и остатки (накопления) и движения учитывать

ЗЗЫ отдельные оборотные регистры делают обычно для скорости, чтобы только оборотку быстро получить
38 Анастасия Изотова
 
07.07.15
09:13
Я не могу найти мою конфигурацию, все версии под 8.2.  ПОл дня на поиски убила.
Может все же заведем Вот такой универсальный регистр ? Которым и остатки и накопления можно учитывать ?
не подскажете , что в него прописать: в плане Измерений и Ресурсов ?
Закон Брукера: Даже маленькая практика стоит большой теории.