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

Хранилище

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

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




>  Накладная на внутреннее перемещение
Pendalf
Отправлено: 28.11.11, 9:03


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Цитата(Vofka @ 28.11.11, 8:59) *
Документ называется "Перемещение товаров" вроде (или что-то вроде этого).


Спасибо. Документ называется "перемещение"

Тему можно закрывать.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37679 · Ответов: 2 · Просмотров: 6468
 

>  Накладная на внутреннее перемещение
Pendalf
Отправлено: 28.11.11, 8:44


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Здравствуйте.
Нужно изменить кое-что в печатной форме документа "Накладная на внутреннее перемещение", но сколько не лазаю по конфигуратору, не могу ее найти...

Может кто знает, где она может быть зарыта?

Конфигурация:
Бухгалтерский учет для Украины 7.70.289
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37675 · Ответов: 2 · Просмотров: 6468
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 24.11.11, 12:26


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


ОГРОМНОЕ всем СПАСИБО!
Теперь считает кг.

Воспользовался первым способом

|Коэф = Документ.ПриходнаяНакладная.Коэффициент, Документ.РасходнаяНакладная.Коэффициент, Документ.ВозвратнаяНакладная.Коэффициент, Документ.ВозвратПоставщику.Коэффициент, Документ.Перемещение.Коэффициент;
|Кол = Документ.ПриходнаяНакладная.Кво, Документ.РасходнаяНакладная.Кво, Документ.ВозвратнаяНакладная.Кво, Документ.ВозвратПоставщику.Кво, Документ.Перемещение.Кво;
|Функция Колво = Сумма(Кол*Коэф);
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37468 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 24.11.11, 11:15


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584




А вот в печатной форме есть и ящики и кг

  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37453 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 23.11.11, 18:36


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


да, в документе есть и кг и ящики
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37413 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 23.11.11, 16:00


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Цитата(kalyamov @ 23.11.11, 15:03) *
В конфигураторе откройте форму документа расходная накладная, найдите в табличной части колонку в которой отображаются килограммы и идентификатор этой колонки и будет нужным реквизитом. Но мне кажется - он и должен был бы быть Кво, так как ящики - это тара. Но может у Вас по другому. Я не знаю как сюда картинку вставить, но Вы и так справитесь-правой кнопкой на Документе расходнаянакладная (в дереве документов конфигурации )=редактировать форму, и ищите колонку в которой у Вас кг. На ней два раза и в окошке свойств поле идентификатор и есьт реквизит который указан в запросе как : Документ.Расходнаяакладная.Кво.


В колонке, где ящики стоит - Формат(ТаблТМЦ.Кво,"Ч12.3"), а в той, где килограммы стоит - Формат(КвоКг,"Ч12.3")

Я поменял Кво на КвоКг, но при обработке тогда выдаёт ошибку
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{D:\XLADO\EXTFORMS\ЭКСПОРТДАННЫХ.ERT(228)}: Колво = Документ.ПриходнаяНакладная.Кво, Документ.РасходнаяНакладная. <<?>> КвоКг, Документ.ВозвратнаяНакладная.Кво, Документ.ВозвратПоставщику.Кво, Документ.Перемещение.Кво;
Запрос[16] : Неверно заданный путь 'КвоКг'

Домовик, у нас ящики идут с разным весом, поэтому переводить кол-во ящиков в кг не получится
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37387 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 23.11.11, 13:17


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


а как узнать, какой реквизит в документе расходной накладной?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37372 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 23.11.11, 10:25


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


неужели никто не знает в чем проблема?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37359 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 22.11.11, 10:08


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Перем Каталог, ТМЦКод, КонтраКод;
Перем Запрос, ТекстЗапроса;
Перем СписокКонтра, СписокТМЦ;


// =====================
Процедура ВыбратьКаталог()
    ФС.ВыбратьКаталог(Каталог,"Выберите каталог");
    Слэш = Сред(Каталог,СтрДлина(Каталог),1);
    Если Слэш <> "\" Тогда
        Каталог = Каталог + "\";
    КонецЕсли;
КонецПроцедуры
// =====================
Процедура СоздатьДБ(ДБ,ИмяФайла)
    ДБ.ДобавитьПоле("COD_ID","S",15,0);
    ДБ.ДобавитьПоле("COD_WORKS","S",2,0);
    ДБ.ДобавитьПоле("COD_SCL","S",20,0);
    ДБ.ДобавитьПоле("KONTRAGENT","S",24,0);
    ДБ.ДобавитьПоле("DATA","D",6,0);
    Если Сред(ИмяФайла,5,3) = "OUT" Тогда
        ДБ.ДобавитьПоле("PART_NUMB","S",15,0);
        ДБ.ДобавитьПоле("ARTIKUL_GP","S",12,0);
    КонецЕсли;
    ДБ.ДобавитьПоле("ARTIKUL_SR","S",12,0);
    ДБ.ДобавитьПоле("NUMBER_DOC","S",15,0);
    ДБ.ДобавитьПоле("COD_OPL","N",1,0);
    ДБ.ДобавитьПоле("PRICE_1C","N",20,7);
    ДБ.ДобавитьПоле("KOL_VO","N",20,7);
    ИмяФайла = Каталог + ИмяФайла;
    ДБ.СоздатьФайл(ИмяФайла);
    Если ДБ.Открыта() = 0 Тогда
        ДБ.ОткрытьФайл(ИмяФайла);
    КонецЕсли;
КонецПроцедуры
// =====================
Процедура Заполнить(ДБ,ТМЦ)
    ДБ.Добавить();
    ДБ.COD_ID = СокрЛП(Сред(Запрос.УникальныйКод.ПолучитьПозицию(),20))+"/"+Запрос.НомерСтроки;
    ДБ.УстановитьЗначениеПоля("COD_WORKS",Префикс);
    //Если (Лев(Запрос.НомерДокумента,2) = "УС") или (Лев(Запрос.НомерДокумента,2) = "ОУ") Тогда
    //    ДБ.УстановитьЗначениеПоля("COD_SCL","99");
    //    КодОплаты = 2;
    //Иначе
        ДБ.УстановитьЗначениеПоля("COD_SCL",Запрос.КодМестаХр.ПолныйКод());  
        КодОплаты = 1;
    //КонецЕсли;
    ДБ.УстановитьЗначениеПоля("DATA",Запрос.ДатаДокумента);
    Если Запрос.УникальныйКод.Вид() = "Перемещение" Тогда
        КодОплаты = 0;
        ДБ.KONTRAGENT = Префикс+"__111111"+Префикс;
    ИначеЕсли Запрос.Контрагент.Вид() = "Сотрудники" Тогда
        ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__ПОД_ОТЧЕТ");
    Иначе                                                              
        Попытка
          Если ПустоеЗначение(Запрос.Контрагент.Артикул) = 1 Тогда
             Если СписокКонтра.НайтиЗначение(Запрос.Контрагент) = 0 Тогда
                   СписокКонтра.ДобавитьЗначение(Запрос.Контрагент);
               КонецЕсли;
              ДБ.УстановитьЗначениеПоля("KONTRAGENT",0);
          Иначе
              ДБ.УстановитьЗначениеПоля("KONTRAGENT",Запрос.Контрагент.Артикул);
            КонецЕсли;
        Исключение
          ДБ.УстановитьЗначениеПоля("KONTRAGENT",0);
        КонецПопытки    
    КонецЕсли;
    Если (Запрос.УникальныйКод.Вид() = "ВозвратнаяНакладная") или (Запрос.УникальныйКод.Вид() = "ВозвратПоставщику") Тогда
        КодОплаты = 4;
    КонецЕсли;
    ДБ.COD_OPL = КодОплаты;
    ДБ.УстановитьЗначениеПоля("NUMBER_DOC",Запрос.НомерДокумента);
    Если (ТМЦ.Вид() = "НеоборотныеАктивы") или (ТМЦ.Вид() = "Инвестиции") Тогда
        ДБ.ARTIKUL_SR = "ОП"+Префикс+"ОДОС01";    
    ИначеЕсли ТМЦ.Вид() = "БланкиСтрогойОтчетности" Тогда
        ДБ.ARTIKUL_SR = "ОП"+Префикс+"ОДКТ01";    
    ИначеЕсли ПустоеЗначение(ТМЦ.Артикул) = 1 Тогда
          Если СписокТМЦ.НайтиЗначение(ТМЦ) = 0 Тогда
              СписокТМЦ.ДобавитьЗначение(ТМЦ);
          КонецЕсли;
        ДБ.УстановитьЗначениеПоля("ARTIKUL_SR",0);
    Иначе ДБ.УстановитьЗначениеПоля("ARTIKUL_SR",ТМЦ.Артикул);
    КонецЕсли;
    Если Запрос.УникальныйКод.Вид() = "Перемещение" Тогда
        ДБ.KOL_VO = Запрос.Колво;
    ИначеЕсли Запрос.Цена + Запрос.Колво = 0 Тогда
        ДБ.УстановитьЗначениеПоля("PRICE_1C",Запрос.Сумма);
        ДБ.УстановитьЗначениеПоля("KOL_VO",1);
    ИначеЕсли Запрос.Цена = 0 Тогда
        ДБ.PRICE_1C = Запрос.Сумма/Запрос.Колво;
        ДБ.KOL_VO = Запрос.Колво;
    ИначеЕсли Запрос.Колво = 0 Тогда
        ДБ.PRICE_1C = Запрос.Цена;
        ДБ.KOL_VO = 1;
    Иначе
        ДБ.УстановитьЗначениеПоля("PRICE_1C",Запрос.Цена);
        ДБ.УстановитьЗначениеПоля("KOL_VO",Запрос.Колво);
    КонецЕсли;
    ДБ.Записать();
КонецПроцедуры
// ===============================

Процедура Сформировать()
    СписокКонтра = СоздатьОбъект("СписокЗначений");
    СписокТМЦ = СоздатьОбъект("СписокЗначений");
    
    ДБ = СоздатьОбъект("XBase");
    ДБ.ДобавитьПоле("FIRM","S",120,0);
    ДБ.ДобавитьПоле("DATE1","D",6,0);
    ДБ.ДобавитьПоле("DATE2","D",6,0);
    ИмяФайла = Каталог+"IMP_INFO.dbf";
    ДБ.СоздатьФайл(ИмяФайла);
    Если ДБ.Открыта() = 0 Тогда
        ДБ.ОткрытьФайл(ИмяФайла);
    КонецЕсли;
    
    Фирма = СоздатьОбъект("Справочник.Фирмы");
    Фирма.ВыбратьЭлементы();
    Пока Фирма.ПолучитьЭлемент() > 0 Цикл
        ДБ.Добавить();
        ДБ.FIRM = Фирма.ПолнНаименование;
        ДБ.DATE1 = ВыбНачПериода;
        ДБ.DATE2 = ВыбКонПериода;
        ДБ.Записать();
    КонецЦикла;
    ДБ.ЗакрытьФайл();
// ----------------------------
    ДБ = СоздатьОбъект("XBase");
    ДБ.ДобавитьПоле("ARTIKUL","S",12,0);
    ДБ.ДобавитьПоле("NAME","S",120,0);
    ИмяФайла = Каталог+"IMP_TMC.dbf";
    ДБ.СоздатьФайл(ИмяФайла);
    Если ДБ.Открыта() = 0 Тогда
        ДБ.ОткрытьФайл(ИмяФайла);
    КонецЕсли;
    
    ТМЦ = СоздатьОбъект("Справочник.ТМЦ");
    ТМЦ.ПорядокНаименований();
    ТМЦ.ВыбратьЭлементы();
    Пока ТМЦ.ПолучитьЭлемент() > 0 Цикл
        Если (ТМЦ.ЭтоГруппа() = 1) или (ТМЦ.ПометкаУдаления() = 1) Тогда
            Продолжить;
        КонецЕсли;
        Если Новые = 1 Тогда
            Если Число(ТМЦ.Код) < ТМЦКод Тогда
                Продолжить;
            КонецЕсли;
        КонецЕсли;
        ДБ.Добавить();
        Если ПустоеЗначение(ТМЦ.Артикул) = 1 Тогда
            ДБ.УстановитьЗначениеПоля("ARTIKUL",0);
        Иначе ДБ.УстановитьЗначениеПоля("ARTIKUL",ТМЦ.Артикул);
        КонецЕсли;
        ДБ.УстановитьЗначениеПоля("NAME",ТМЦ.Наименование);
        ДБ.Записать();
    КонецЦикла;
    ТМЦ.Новый();
    ТМЦКод = Число(ТМЦ.Код);
    ДБ.ЗакрытьФайл();
// ----------------------------    
    ДБ = СоздатьОбъект("XBase");
    ДБ.ДобавитьПоле("KONTRAGENT","S",24,0);
    ДБ.ДобавитьПоле("GRUPPA","S",2,0);
    ДБ.ДобавитьПоле("NAME","S",120,0);
    ИмяФайла = Каталог+"IMP_KONT.dbf";
    ДБ.СоздатьФайл(ИмяФайла);
    Если ДБ.Открыта() = 0 Тогда
        ДБ.ОткрытьФайл(ИмяФайла);
    КонецЕсли;
    Контра = СоздатьОбъект("Справочник.Контрагенты");
    Контра.ПорядокНаименований();
    Контра.ВыбратьЭлементы();
    Пока Контра.ПолучитьЭлемент() > 0 Цикл
        Если (Контра.ЭтоГруппа() = 1) или (Контра.ПометкаУдаления() = 1) Тогда
            Продолжить;
        КонецЕсли;
        Если Новые = 1 Тогда
            Если Число(Контра.Код) < КонтраКод Тогда
                Продолжить;
            КонецЕсли;
        КонецЕсли;
        ДБ.Добавить();
        Попытка
          Если ПустоеЗначение(Контра.ЕДРПОУ) = 1 Тогда
              ДБ.УстановитьЗначениеПоля("KONTRAGENT",0);
          Иначе ДБ.УстановитьЗначениеПоля("KONTRAGENT",Контра.ЕДРПОУ);
            КонецЕсли;
        Исключение
          ДБ.УстановитьЗначениеПоля("KONTRAGENT",0);
        КонецПопытки;    
        ДБ.УстановитьЗначениеПоля("GRUPPA",0);
        ДБ.УстановитьЗначениеПоля("NAME",Контра.ПолнНаименование);
        ДБ.Записать();
    КонецЦикла;
    Контра.Новый();
    КонтраКод = Число(Контра.Код);
    ДБ.ЗакрытьФайл();
// ----------------------------    
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ОбрабатыватьДокументы Проведенные;
    //|Давалка = Документ.ПриходнаяНакладная.ДавальческоеСырье, Документ.ВозвратПоставщику.ДавальческоеСырье;    
    //|Ответка = Документ.ПриходнаяНакладная.НаОтветХранение, Документ.РасходнаяНакладная.ОтветХранение;    
    //|По281 = Документ.РасходнаяНакладная.По281;    
    |УникальныйКод = Документ.ПриходнаяНакладная.ТекущийДокумент, Документ.РасходнаяНакладная.ТекущийДокумент, Документ.ВозвратнаяНакладная.ТекущийДокумент, Документ.ВозвратПоставщику.ТекущийДокумент, Документ.Перемещение.ТекущийДокумент;    
    |НомерДокумента = Документ.ПриходнаяНакладная.НомерДок, Документ.РасходнаяНакладная.НомерДок, Документ.ВозвратнаяНакладная.НомерДок, Документ.ВозвратПоставщику.НомерДок, Документ.Перемещение.НомерДок;    
    |ДатаДокумента = Документ.ПриходнаяНакладная.ДатаДок, Документ.РасходнаяНакладная.ДатаДок, Документ.ВозвратнаяНакладная.ДатаДок, Документ.ВозвратПоставщику.ДатаДок, Документ.Перемещение.ДатаДок;
    |КодМестаХр = Документ.ПриходнаяНакладная.МестоХранения, Документ.РасходнаяНакладная.МестоХранения, Документ.ВозвратнаяНакладная.МестоХранения, Документ.ВозвратПоставщику.МестоХранения,Документ.Перемещение.МестоХранения;
    |НовыйКодМестаХр = Документ.Перемещение.НовоеМестоХранения;
    |НомерСтроки = Документ.ПриходнаяНакладная.НомерСтроки, Документ.РасходнаяНакладная.НомерСтроки, Документ.ВозвратнаяНакладная.НомерСтроки, Документ.ВозвратПоставщику.НомерСтроки, Документ.Перемещение.НомерСтроки;
    |ТМЦ = Документ.ПриходнаяНакладная.ТМЦ, Документ.РасходнаяНакладная.ТМЦ, Документ.ВозвратнаяНакладная.ТМЦ, Документ.ВозвратПоставщику.ТМЦ, Документ.Перемещение.ТМЦ;
    |Счет = Документ.Перемещение.Счет;
    |НовыйТМЦ = Документ.Перемещение.Стало;
    |СталоСчет = Документ.Перемещение.СталоСчет;
    |Контрагент = Документ.ПриходнаяНакладная.Контрагент, Документ.РасходнаяНакладная.Контрагент, Документ.ВозвратнаяНакладная.Контрагент, Документ.ВозвратПоставщику.Контрагент;
    |Цена = Документ.ПриходнаяНакладная.ЦенаБезНДС, Документ.РасходнаяНакладная.ЦенаБезНДС, Документ.ВозвратнаяНакладная.ЦенаБезНДС, Документ.ВозвратПоставщику.ЦенаБезНДС;
    |Колво = Документ.ПриходнаяНакладная.Кво, Документ.РасходнаяНакладная.Кво, Документ.ВозвратнаяНакладная.Кво, Документ.ВозвратПоставщику.Кво, Документ.Перемещение.Кво;
    |Сумма = Документ.ПриходнаяНакладная.СуммаБезНДС, Документ.РасходнаяНакладная.СуммаБезНДС, Документ.ВозвратнаяНакладная.СуммаБезНДС, Документ.ВозвратПоставщику.СуммаБезНДС, Документ.Перемещение.СуммаУчБезНДС;
    |Группировка НомерДокумента;
    |Группировка НомерСтроки;
    //|Условие (Давалка = 0);
    //|Условие (Ответка = 0);
    |"
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    ДБ = СоздатьОбъект("XBase");
    СоздатьДБ(ДБ,"IMP_IN.dbf");
    ДБР = СоздатьОбъект("XBase");
    СоздатьДБ(ДБР,"IMP_OUT.dbf");    
    Пока Запрос.Группировка(1) = 1 Цикл
        Состояние("Приход/Расход: "+Запрос.НомерДокумента+" "+Запрос.ДатаДокумента);
        Пока Запрос.Группировка(2) = 1 Цикл  
            Если ПустоеЗначение(Запрос.ТМЦ) = 1 Тогда
                Продолжить;
            КонецЕсли;
            Ном = Запрос.УникальныйКод.Вид();
            Если Ном = "Перемещение" Тогда
        Если ((Запрос.КодМестаХр.Тип <> МОЛы) И (Запрос.НовыйКодМестаХр.Тип <> МОЛы))
                И ((Запрос.КодМестаХр.ВидСклада = Розничный) Или (Запрос.НовыйКодМестаХр.ВидСклада = Розничный)) Тогда
                       Если Запрос.ТМЦ.Вид()="ТМЦ" Тогда
                        Ц = Запрос.ТМЦ.Цена_Розн.Получить(Запрос.ДатаДокумента);
                    КонецЕсли;
                    Если Ц = 0 Тогда
                        Если Запрос.НовыйТМЦ.Вид()="ТМЦ" Тогда
                            Ц = Запрос.НовыйТМЦ.Цена_Розн.Получить(Запрос.ДатаДокумента);
                        КонецЕсли;
                    КонецЕсли;
                Иначе Ц = Запрос.Сумма/?(Запрос.Колво = 0,1,Запрос.Колво);
                КонецЕсли;
                Если Запрос.Счет.Забалансовый = 0 Тогда
                    Заполнить(ДБР,Запрос.ТМЦ);
                    ДБР.УстановитьЗначениеПоля("PART_NUMB",0);
                    ДБР.УстановитьЗначениеПоля("ARTIKUL_GP",0);
                    ДБР.PRICE_1C = Ц;
                    ДБР.Записать();
                КонецЕсли;

                Если Запрос.СталоСчет.Забалансовый = 0 Тогда
                    Заполнить(ДБ,Запрос.НовыйТМЦ);
                    ДБ.COD_SCL = Запрос.НовыйКодМестаХр.ПолныйКод();    
                    ДБ.PRICE_1C = Ц;
                    ДБ.Записать();                                
                КонецЕсли;
            ИначеЕсли (Ном = "ПриходнаяНакладная") или (Ном = "ВозвратнаяНакладная") Тогда
                Если Запрос.ТМЦ.Счет.Забалансовый = 0 Тогда
                    Заполнить(ДБ,Запрос.ТМЦ);
                КонецЕсли;
            ИначеЕсли (Запрос.ТМЦ.Счет.Забалансовый = 0)    Тогда
                Заполнить(ДБР,Запрос.ТМЦ);
                ДБР.УстановитьЗначениеПоля("PART_NUMB",0);
                ДБР.УстановитьЗначениеПоля("ARTIKUL_GP",0);
                ДБР.Записать();
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
// ----------КАЛЬКУЛЯЦИИ-------------    
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ОбрабатыватьДокументы Проведенные;
    |УникальныйКод = Документ.КалькуляцияДавалки.ТекущийДокумент, Документ.КалькулДавалкиГотовПрод.ТекущийДокумент;    
    |НомерДокумента = Документ.КалькуляцияДавалки.НомерДок, Документ.КалькулДавалкиГотовПрод.НомерДок;    
    |ДатаДокумента = Документ.КалькуляцияДавалки.ДатаДок, Документ.КалькулДавалкиГотовПрод.ДатаДок;
//    |Свое = Документ.КалькуляцияДавалки.Свое, Документ.КалькулДавалкиГотовПрод.Свое;
    |КодМестаХр = Документ.КалькуляцияДавалки.МестоХранения, Документ.КалькулДавалкиГотовПрод.МестоХранения;
    |КодМестаХрПрод = Документ.КалькулДавалкиГотовПрод.МестоХраненияПродукции;
    |НомерСтроки = Документ.КалькуляцияДавалки.НомерСтроки;
    |ТМЦ = Документ.КалькуляцияДавалки.Затрата;
    |Продукция = Документ.КалькулДавалкиГотовПрод.Продукция, Документ.КалькуляцияДавалки.Продукция;
    |КолвоПрод = Документ.КалькулДавалкиГотовПрод.КвоПродукции;
    |Отход1 = Документ.КалькулДавалкиГотовПрод.ВидОтходов;
    |КолвоОтход1 = Документ.КалькулДавалкиГотовПрод.КвоОтходГотПрод;
    |Колво = Документ.КалькуляцияДавалки.КвоБаз;
  |Сумма = Документ.КалькуляцияДавалки.СуммаНач;
  |Функция СуммаПрод = Сумма (Сумма);
    |Группировка НомерДокумента;
    |Группировка НомерСтроки;
    // изменено
//    |Условие (Свое = 1);  
    |"
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    Пока Запрос.Группировка(1) = 1 Цикл
        Состояние("Калькуляция "+Запрос.ДатаДокумента);
        Если Запрос.УникальныйКод.Вид() = "КалькулДавалкиГотовПрод" Тогда
            ДБ.Добавить();
            ДБ.COD_ID = СокрЛП(Сред(Запрос.УникальныйКод.ПолучитьПозицию(),20))+"/"+Запрос.НомерСтроки;
            ДБ.COD_WORKS = Префикс;
            ДБ.COD_SCL = Запрос.КодМестаХрПрод.ПолныйКод();    
            ДБ.KONTRAGENT = Префикс+"__111112"+Префикс;
             ДБ.DATA = Запрос.УникальныйКод.ДокОснование.ДатаДок;
             Если ПустоеЗначение(Запрос.Продукция.Артикул) = 1 Тогда
                ДБ.ARTIKUL_SR = 0;
            Иначе ДБ.ARTIKUL_SR = Запрос.Продукция.Артикул;
            КонецЕсли;
            ДБ.NUMBER_DOC = Запрос.УникальныйКод.ДокОснование.НомерДок;
            ДБ.COD_OPL = 0;
            ДБ.PRICE_1C = Запрос.УникальныйКод.ДокОснование.Итог("СуммаНач")/(Запрос.КолвоПрод+Запрос.КолвоОтход1);
            ДБ.KOL_VO = Запрос.КолвоПрод;
            ДБ.Записать();
            Для К = 1 По 1 Цикл
                КвоОтх = Запрос.ПолучитьАтрибут("КолвоОтход"+СокрЛП(Строка(К)));
                ВидОтх = Запрос.ПолучитьАтрибут("Отход"+СокрЛП(Строка(К)));
                Если КвоОтх <> 0 Тогда
                    ДБ.Добавить();
                    ДБ.COD_ID = СокрЛП(Сред(Запрос.УникальныйКод.ПолучитьПозицию(),20))+"/"+Запрос.НомерСтроки;
                    ДБ.COD_WORKS = Префикс;
                    ДБ.COD_SCL = Запрос.КодМестаХр.ПолныйКод();    
                    ДБ.KONTRAGENT = Префикс+"__111112"+Префикс;
                     ДБ.DATA = Запрос.УникальныйКод.ДокОснование.ДатаДок;
                     Если ПустоеЗначение(ВидОтх.Артикул) = 1 Тогда
                        ДБ.ARTIKUL_SR = 0;
                    Иначе ДБ.ARTIKUL_SR = ВидОтх.Артикул;
                    КонецЕсли;
                    ДБ.NUMBER_DOC = Запрос.УникальныйКод.ДокОснование.НомерДок;
                    ДБ.COD_OPL = 0;
                    ДБ.PRICE_1C = Запрос.УникальныйКод.ДокОснование.Итог("СуммаНач")/(Запрос.КолвоПрод+Запрос.КолвоОтход1);
                    ДБ.KOL_VO = КвоОтх;
                    ДБ.Записать();
                КонецЕсли;
            КонецЦикла;
        Иначе
            Пока Запрос.Группировка(2) = 1 Цикл
                Если Запрос.НомерСтроки < 1 Тогда
                    Продолжить;
                КонецЕсли;
                ДБР.Добавить();
                ДБР.COD_ID = СокрЛП(Сред(Запрос.УникальныйКод.ПолучитьПозицию(),20))+"/"+Запрос.НомерСтроки;
                ДБР.COD_WORKS = Префикс;
                ДБР.COD_SCL = Запрос.КодМестаХр.ПолныйКод();    
                ДБР.COD_OPL = 0;
                ДБР.KONTRAGENT = Префикс+"__111112"+Префикс;
                 ДБР.DATA = Запрос.ДатаДокумента;
                ДБР.PART_NUMB = Запрос.НомерДокумента;
                 Если ПустоеЗначение(Запрос.Продукция.Артикул) = 1 Тогда
                    ДБР.ARTIKUL_GP = 0;
                Иначе ДБР.ARTIKUL_GP = Запрос.Продукция.Артикул;
                КонецЕсли;
                ДБР.NUMBER_DOC = Запрос.НомерДокумента;
                   Если Запрос.ТМЦ.Вид()="ТМЦ" Тогда
                    Если ПустоеЗначение(Запрос.ТМЦ.Артикул) = 1 Тогда
                        ДБР.ARTIKUL_SR = 0;
                    Иначе ДБР.ARTIKUL_SR = Запрос.ТМЦ.Артикул;
                    КонецЕсли;
                    Если Запрос.Колво = 0 Тогда
                        ДБР.PRICE_1C = 0;
                        ДБР.KOL_VO = 0;
                    Иначе
                        ДБР.PRICE_1C = Запрос.Сумма/Запрос.Колво;
                        ДБР.KOL_VO = Запрос.Колво;
                    КонецЕсли;
                КонецЕсли;
                ДБР.Записать();
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;
    ДБ.ЗакрытьФайл();
    ДБР.ЗакрытьФайл();
// ----------------------------
//    ТекстЗапроса =
//    "Период с ВыбНачПериода по ВыбКонПериода;
//    |Обрабатывать НеПомеченныеНаУдаление;
//    |ОбрабатыватьДокументы Проведенные;
//    |УникальныйКод = Документ.БанковскаяВыписка.ТекущийДокумент, Документ.ПриходныйКассовый.ТекущийДокумент, Документ.РасходныйКассовый.ТекущийДокумент;    
//    |НомерДокумента = Документ.БанковскаяВыписка.НомерДок, Документ.ПриходныйКассовый.НомерДок, Документ.РасходныйКассовый.НомерДок;    
//    |ДатаДокумента = Документ.БанковскаяВыписка.ДатаДок, Документ.ПриходныйКассовый.ДатаДок, Документ.РасходныйКассовый.ДатаДок;
//    |Счет = Документ.БанковскаяВыписка.Счет;
//    |Номер = Документ.БанковскаяВыписка.НомерСтроки,Документ.ПриходныйКассовый.НомерПО,Докуме
нт.РасходныйКассовый.НомерРО;
//    |ДляВалюты = Документ.БанковскаяВыписка.СчетУчета;
//    |ПлюсМинусБанка = Документ.БанковскаяВыписка.ПриходРасход;
//    |Субконто = Документ.БанковскаяВыписка.Субконто, Документ.ПриходныйКассовый.Субконто, Документ.РасходныйКассовый.Субконто;
//    |Заказ = Документ.БанковскаяВыписка.Заказ, Документ.ПриходныйКассовый.Заказ, Документ.РасходныйКассовый.Заказ;
//    |Сумма = Документ.БанковскаяВыписка.СуммаСНДС, Документ.ПриходныйКассовый.СуммаВал, Документ.РасходныйКассовый.СуммаВал;
//    |Содержание = Документ.БанковскаяВыписка.Содержание, Документ.ПриходныйКассовый.Примечание, Документ.РасходныйКассовый.Примечание;
//    |Группировка НомерДокумента;
//    |Группировка Номер;
//    |"
//;
//    // Если ошибка в запросе, то выход из процедуры
//    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
//        Возврат;
//    КонецЕсли;
//
//    ДБ = СоздатьОбъект("XBase");
//    ДБ.ДобавитьПоле("COD_ID","S",15,0);
//    ДБ.ДобавитьПоле("COD_WORKS","S",2,0);
//    ДБ.ДобавитьПоле("DAT_OPL","D",6,0);
//    ДБ.ДобавитьПоле("COD_OPL","N",1,0);
//    ДБ.ДобавитьПоле("KONTRAGENT","S",24,0);
//    ДБ.ДобавитьПоле("NUM_DOC","S",15,0);
//    ДБ.ДобавитьПоле("NAL_BEZN","S",6,0);
//    ДБ.ДобавитьПоле("SUMMA","N",20,7);
//    ДБ.ДобавитьПоле("COMMENT","S",120,0);
//    ИмяФайла = Каталог + "IMP_OPL.dbf";
//    ДБ.СоздатьФайл(ИмяФайла);
//    Если ДБ.Открыта() = 0 Тогда
//        ДБ.ОткрытьФайл(ИмяФайла);
//    КонецЕсли;
//    Пока Запрос.Группировка(1) = 1 Цикл
//        Состояние("Оплата: "+Запрос.НомерДокумента+" "+Запрос.ДатаДокумента);
//        Ном = Лев(Запрос.НомерДокумента,2);
//        Если (Ном = "БВ") и (Запрос.ДляВалюты.Код = "312") Тогда
//            Продолжить;
//        КонецЕсли;
//        Пока Запрос.Группировка(2) = 1 Цикл
//            ДБ.Добавить();
//            ДБ.УстановитьЗначениеПоля("COD_WORKS",Префикс);
//            ДБ.УстановитьЗначениеПоля("DAT_OPL",Запрос.ДатаДокумента);
//            Если Найти(Строка(Запрос.Заказ),"Возврат") <> 0  Тогда
//                ДБ.COD_OPL = 4;
//            ИначеЕсли Найти(Строка(Запрос.Заказ),"накл.") <> 0 Тогда
//                ДБ.COD_OPL = 1;    
//            ИначеЕсли ((Найти(Строка(Запрос.Заказ),"фактура") <> 0) или (Найти(Строка(Запрос.Заказ),"слуг") <> 0)) или (Найти(Строка(Запрос.Заказ),"Сч. вход.") <> 0) Тогда
//                ДБ.COD_OPL = 2;
//            ИначеЕсли Найти(Строка(Запрос.Заказ),"Договор") <> 0 Тогда
//                ДБ.COD_OPL = 3;
//            Иначе ДБ.COD_OPL = 0;
//            КонецЕсли;
//            Если Запрос.Счет.Код = "711" Тогда
//                ДБ.УстановитьЗначениеПоля("KONTRAGENT","РС__11111117");
//            ИначеЕсли Запрос.Счет.Код = "732" Тогда
//                ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__КРЕДИТ_ПРОЦЕНТ");
//            ИначеЕсли Запрос.Счет.Код = "621" Тогда
//                ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__КРЕДИТ");
//            ИначеЕсли Строка(Запрос.Субконто) = "" Тогда
//                Если Запрос.Счет.Код = "6411" Тогда
//                    ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__КАССА");
//                Иначе ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__ПРОЧЕЕ");
//                КонецЕсли;
//            ИначеЕсли Запрос.Субконто.Вид() = "Контрагенты" Тогда
//                Если ПустоеЗначение(Запрос.Субконто.Артикул) = 1 Тогда
//                    ДБ.УстановитьЗначениеПоля("KONTRAGENT",0);
//                Иначе ДБ.УстановитьЗначениеПоля("KONTRAGENT",Запрос.Субконто.Артикул);
//                КонецЕсли;
//            ИначеЕсли Запрос.Субконто.Вид() = "НалогиОтчисления" Тогда
//                Если ((Запрос.Счет.Код = "651") или (Запрос.Счет.Код = "652")) или
//                     ((Запрос.Счет.Код = "653") или (Запрос.Счет.Код = "654"))
//                Тогда ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__КАССА");
//                Иначе ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__НАЛОГИ");
//                КонецЕсли;
//            ИначеЕсли Запрос.Субконто.Вид() = "Сотрудники" Тогда
//                Если Запрос.Субконто.Код = "" Тогда
//                    ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__ЗАРПЛАТА");
//                Иначе ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__ПОД_ОТЧЕТ");
//                КонецЕсли;
//            ИначеЕсли Запрос.Субконто.Вид() = "НашиДенежныеСчета" Тогда
//                Если (Запрос.Субконто.Код = "") или (Запрос.Субконто.Код = "") Тогда
//                    ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__РОЗНИЦА");
//                ИначеЕсли Запрос.Субконто.СчетУчета.Код = "301" Тогда
//                    ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__КАССА");
//                ИначеЕсли Запрос.Субконто.СчетУчета.Код = "311" Тогда
//                    ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__БАНК");
//                КонецЕсли;
//            ИначеЕсли Запрос.Субконто.Вид() = "Кредиты" Тогда
//                ДБ.УстановитьЗначениеПоля("KONTRAGENT","ЗТ__КРЕДИТ");
//            КонецЕсли;
//            ДБ.УстановитьЗначениеПоля("NUM_DOC",Запрос.НомерДокумента);
//            Если Ном = "БВ" Тогда
//                ДБ.COD_ID = СокрЛП(Сред(Запрос.УникальныйКод.ПолучитьПозицию(),20))+"/"+Запрос.Номер;
//                ДБ.УстановитьЗначениеПоля("NAL_BEZN","БЕЗНАЛ");
//            Иначе
//                ДБ.COD_ID = СокрЛП(Сред(Запрос.УникальныйКод.ПолучитьПозицию(),20));
//                ДБ.УстановитьЗначениеПоля("NAL_BEZN","НАЛ");
//            КонецЕсли;                                        
//            Если (Ном = "ПК") или ((Ном = "БВ") и (Запрос.ПлюсМинусБанка = Перечисление.ПлюсМинус.Плюс)) Тогда
//                ДБ.УстановитьЗначениеПоля("SUMMA",Запрос.Сумма);
//            Иначе ДБ.УстановитьЗначениеПоля("SUMMA",-(Запрос.Сумма));
//            КонецЕсли;
//            Если ПустоеЗначение(Запрос.Содержание) = 1 Тогда
//                ДБ.УстановитьЗначениеПоля("COMMENT",0);
//            Иначе ДБ.УстановитьЗначениеПоля("COMMENT",Запрос.Содержание);
//            КонецЕсли;
//            ДБ.Записать();
//        КонецЦикла;
//    КонецЦикла;
//    ДБ.ЗакрытьФайл();
    Таб = СоздатьОбъект("Таблица");
    Если СписокКонтра.РазмерСписка() > 0 Тогда
        Таб.ВывестиСекцию("ШапкаКонтра");
        Для К = 1 По СписокКонтра.РазмерСписка() Цикл
            Таб.ВывестиСекцию("Контра");
        КонецЦикла;
    КонецЕсли;
    Если СписокТМЦ.РазмерСписка() > 0 Тогда
        Таб.ВывестиСекцию("ШапкаТМЦ");
        Для К = 1 По СписокТМЦ.РазмерСписка() Цикл
            Таб.ВывестиСекцию("ТМЦ");
        КонецЦикла;
    КонецЕсли;
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать","");
КонецПроцедуры
// ==================
Процедура ПриЗакрытии()
    глСохранитьЗначение("ЭкспортДанных","Каталог",Каталог);
    глСохранитьЗначение("ЭкспортДанных","Новые",Новые);
    глСохранитьЗначение("ЭкспортДанных","ТМЦКод",ТМЦКод);
    глСохранитьЗначение("ЭкспортДанных","КонтраКод",КонтраКод);
КонецПроцедуры
// ==================
Процедура ПриОткрытии()
    Каталог = глВосстановитьЗначение("ЭкспортДанных","Каталог");
    Новые = глВосстановитьЗначение("ЭкспортДанных","Новые");
    ТМЦКод = глВосстановитьЗначение("ЭкспортДанных","ТМЦКод");
    КонтраКод = глВосстановитьЗначение("ЭкспортДанных","КонтраКод");
КонецПроцедуры
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37275 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 21.11.11, 15:11


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Цитата(Pepe @ 21.11.11, 14:26) *
Выгружайте в Ексель, легче править и пересчитывать.

Так им ДБФ-ки нужны.

Цитата(Zaval @ 21.11.11, 14:29) *
Документы-то уже Контру выданы... и с пересчетом гемор.
А у ТМЦ какая стоит Базовая единица? - базовую тоже менять нельзя без перепроведения. Болотистая ситуация(


Может, лучше доработать Обработку выгрузки? Добавить в нее пересчет в нужную единицу, а заодно фильтр по Контрагентам(шоб лишнего
не выгружало)?

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


Просмотрел я ДБФ файл и оказалось, что в графу KOL-VO берется почему-то не килограммы, а ящики, хотя в самой накладной есть графа с килограммами...
Что нужно дописать в обработке, чтобы он брал килограммы, а то я не силён в программировании?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37230 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 21.11.11, 14:15


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Им только один контрагент нужен. Я через обработку экспорта данных формирую ДБФ-ки, потом через навигатор удаляю всех ненужных контрагентов и отправляю им. Но в наших расходках стоят ящики, а им нужны килограммы...
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37227 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 21.11.11, 14:05


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Та ни в чем не накосячили, просто в главный офис нужна информация, а им единица измерения нужна килограммы...
Скорее всего нужно ещё и пересчитать всё.
А при пересчёте ничего не нарушится?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37224 · Ответов: 28 · Просмотров: 13959
 

>  Как поменять единицу измерения в расходках?
Pendalf
Отправлено: 21.11.11, 13:41


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Доброго времени суток.
Конфа: Бухгалтерский учет для Украины 7.7 (7.70.289)

Существует следующая задача - в расходных накладных за период с июля по октябрь поменять единицу измерения с ящиков на кг. для одного контрагента. Как это правильно сделать? Входить в каждую расходку и менять вручную или есть автоматизированный способ?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #37220 · Ответов: 28 · Просмотров: 13959
 

>  проблема со свёрткой базы
Pendalf
Отправлено: 27.09.11, 6:57


Общительный
**

Группа: Пользователи
Сообщений: 14
Регистрация: 06.04.11
Пользователь №: 8584


Здравствуйте.
Существует база, которая не свертывалась с 2006 года. Начальство дало указание свернуть с 2006 по 2008 года.
Ставлю на свёртку 2006 год, считает уже 3 суток. Это так и должно быть или что-то не так?
  Форум: Корзина · Просмотр сообщения: #32741 · Ответов: 4 · Просмотров: 2933
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

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