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

Хранилище

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

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



> Как поменять единицу измерения в расходках? 2 страниц V   1 2 >          
Pendalf Подменю пользователя
сообщение 21.11.11, 13:41
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

Zaval Подменю пользователя
сообщение 21.11.11, 13:50
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Есть, как не быть, Экстрепс с диска ИТС - там много всего. Правда, задача непонятна.
Просто поменять? Или пересчитать количество? или еще и сумму?

Можно с другой стороны зайти - в чем накосячили?

Pendalf Подменю пользователя
сообщение 21.11.11, 14:05
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Та ни в чем не накосячили, просто в главный офис нужна информация, а им единица измерения нужна килограммы...
Скорее всего нужно ещё и пересчитать всё.
А при пересчёте ничего не нарушится?

Zaval Подменю пользователя
сообщение 21.11.11, 14:11
Сообщение #4

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Тогда доки лучше не трогать.
В офис нужно отправлять отчет, он строится в основных(базовых?) единицах. Тогда непонятно, почему проблема только с одним Контром.

Pendalf Подменю пользователя
сообщение 21.11.11, 14:15
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Им только один контрагент нужен. Я через обработку экспорта данных формирую ДБФ-ки, потом через навигатор удаляю всех ненужных контрагентов и отправляю им. Но в наших расходках стоят ящики, а им нужны килограммы...

Pepe Подменю пользователя
сообщение 21.11.11, 14:26
Сообщение #6

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1434
Из: Ужгород
Спасибо сказали: 761 раз
Рейтинг: 230

Выгружайте в Ексель, легче править и пересчитывать.

Zaval Подменю пользователя
сообщение 21.11.11, 14:29
Сообщение #7

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

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


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

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

Pendalf Подменю пользователя
сообщение 21.11.11, 15:11
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

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


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

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


Просмотрел я ДБФ файл и оказалось, что в графу KOL-VO берется почему-то не килограммы, а ящики, хотя в самой накладной есть графа с килограммами...
Что нужно дописать в обработке, чтобы он брал килограммы, а то я не силён в программировании?

mister-x Подменю пользователя
сообщение 21.11.11, 16:36
Сообщение #9

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата
Просмотрел я ДБФ файл и оказалось, что в графу KOL-VO берется почему-то не килограммы, а ящики, хотя в самой накладной есть графа с килограммами...
Что нужно дописать в обработке, чтобы он брал килограммы, а то я не силён в программировании?
ми не бачимо код обробки, щоб вам щось порадити...

Pendalf Подменю пользователя
сообщение 22.11.11, 10:08
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

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


// =====================
Процедура ВыбратьКаталог()
    ФС.ВыбратьКаталог(Каталог,"Выберите каталог");
    Слэш = Сред(Каталог,СтрДлина(Каталог),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);
    Таб.Показать("Сформировать","");
КонецПроцедуры
// ==================
Процедура ПриЗакрытии()
    глСохранитьЗначение("ЭкспортДанных","Каталог",Каталог);
    глСохранитьЗначение("ЭкспортДанных","Новые",Новые);
    глСохранитьЗначение("ЭкспортДанных","ТМЦКод",ТМЦКод);
    глСохранитьЗначение("ЭкспортДанных","КонтраКод",КонтраКод);
КонецПроцедуры
// ==================
Процедура ПриОткрытии()
    Каталог = глВосстановитьЗначение("ЭкспортДанных","Каталог");
    Новые = глВосстановитьЗначение("ЭкспортДанных","Новые");
    ТМЦКод = глВосстановитьЗначение("ЭкспортДанных","ТМЦКод");
    КонтраКод = глВосстановитьЗначение("ЭкспортДанных","КонтраКод");
КонецПроцедуры

Pendalf Подменю пользователя
сообщение 23.11.11, 10:25
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

неужели никто не знает в чем проблема?

Flexy Подменю пользователя
сообщение 23.11.11, 11:13
Сообщение #12

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Pendalf @ 23.11.11, 10:25) *
неужели никто не знает в чем проблема?

Предположу...
Добавить в ДБФ поле VES.
Добавить в текст запроса переменную, которая запрашивает данные из колонки документа Вес (или как там она у вас называется).

З.Ы. Извините, не удержался... Что это ха документ, КалькуляцияДавалки? laugh.gif

Сообщение отредактировал Flexy - 23.11.11, 11:15

kalyamov Подменю пользователя
сообщение 23.11.11, 11:26
Сообщение #13

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 186
Спасибо сказали: 31 раз
Рейтинг: 0

Колво = Документ.ПриходнаяНакладная.Кво, Документ.РасходнаяНакладная.Кво, Документ.ВозвратнаяНакладная.Кво, Документ.ВозвратПоставщику.Кво, Документ.Перемещение.Кво;
Вот то ,что попадает в количество. Посмотрите, какой реквизит в выше указанных документах кг.,а который ящики и замените в запросе.

Спасибо сказали: Pendalf,

Pendalf Подменю пользователя
сообщение 23.11.11, 13:17
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

а как узнать, какой реквизит в документе расходной накладной?

kalyamov Подменю пользователя
сообщение 23.11.11, 15:03
Сообщение #15

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 186
Спасибо сказали: 31 раз
Рейтинг: 0

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

Спасибо сказали: Pendalf,

Домовик Подменю пользователя
сообщение 23.11.11, 15:53
Сообщение #16

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

1. это разовая задача?
2. что офис делает с вашей выгрузкой? у них 1С или другая программа?
3. менять в документах ничего не следует. они проведены и закрыты. можно нарушить итоги.
4. запрос обычно строится по БИ. здесь по документам. по документам нормально тоже, но тогда тщательнее нужно все проверки ставить, проведен ли документ, помечен на удаление и тд.
5. исходя из того, что есть... можно пересчитать в самой обработке. вставить такое:
            Если  Ном="РасходнаяНакладная"  Тогда
            //Пересчитать Кво и Цену  по ед измерения
            // КилЗаЯщик - содержит сколько килограмм хранится в одном ящике. допустим 10 килограммов в ящике.  
            КилЗаЯщик=10;
            КолВо=Запрос.КолВо/КилограммЗаЯщик;
                        Ц = Запрос.Сумма/?(Запрос.Колво = 0,1,Запрос.Колво);
            КонецЕсли;


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



не найду, где редактировать свое же. КилограммзаЯщик исправить на КилЗАЯщик. Одна переменная.

поправлен текст вставки

            Если  Ном="РасходнаяНакладная"  Тогда
            //Пересчитать Кво и Цену  по ед измерения
            // КилЗаЯщик - содержит сколько килограмм хранится в одном ящике. допустим 10 килограммов в ящике.  
            КилЗаЯщик=10;
            КолВо=Запрос.КолВо/КилЗаЯщик;
                        Ц = Запрос.Сумма/?(Колво = 0,1,Колво);
            КонецЕсли;

Спасибо сказали: Pendalf,

Pendalf Подменю пользователя
сообщение 23.11.11, 16:00
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

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


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

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

Домовик, у нас ящики идут с разным весом, поэтому переводить кол-во ящиков в кг не получится

kalyamov Подменю пользователя
сообщение 23.11.11, 16:15
Сообщение #18

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 186
Спасибо сказали: 31 раз
Рейтинг: 0

Это Вы посмотрели в печатной форме, я не правильно наверное объяснил. Вы открываете расходную накладную и в той части где заполняется товар надо найти нужную колонку. По логике и КвоКг должно было сработать, но видно в модуле печати есть какие то ухищрения. Наверное КвоКГ = рассчитываемое поле или еще как. Килограммы присутствуют и в печатной форме и в самом документе или только когда печатают накладную? Суть Вы уловили, осталось найти эти килограммы smile.gif

alex040269 Подменю пользователя
сообщение 23.11.11, 16:46
Сообщение #19

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

[quote name='Домовик' date='23.11.11, 15:53' post='37380']
4. запрос обычно строится по БИ. здесь по документам. по документам нормально тоже, но тогда тщательнее нужно все проверки ставить, проведен ли документ, помечен на удаление и тд.
[code=1c] Если Ном="РасходнаяНакладная" Тогда

в БИ как раз скорее всего в нужных единицах.
как вариант при записи в ДБФ можно проверять в каких единицах и, если не в килограммах, то пересчитывать по коэфициенту.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Домовик Подменю пользователя
сообщение 23.11.11, 17:04
Сообщение #20

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

Цитата(alex040269)



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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

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