Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: v7: О завершении в 2019 году поддержки программ «1С:Зарплата и кадры 7.7»

Вот и начало конца 7.7



На 7.7 остается один вариант переходить на Камин.

Надо изучать перенос с ЗиК-а на Камин )

П.С.: Так глядишь и бухгалтерию прикроют
Ответ: () :)))
Вопрос: v7: УСН 15% - списание товаров на собственные нужды, момент признания расходов

Доброго времени суток! Насколько понимаю с 2009 года для отнесения стоимости материалов на расходы достаточным условием является факт их оприходования от Поставщика и оплаты Поставщику. Насколько оно обязательно? То есть имеем право отнести сразу после поступления и оплаты, а можем и позднее по факту списания. Или же обязаны отнести в момент поступления и оплаты, а относить позднее по факту списания права не имеем?
Речь про товары для собственных нужд, когда часть товаров используются организацией для себя, их переводят из товаров в материалы, и затем списывают как материалы на прочие затраты по торговой деятельности. Корректно ли будет принимать на расходы стоимость таких материалов-товаров после их списания на затраты? Или нужно в первичном документе поступления дробить товары, выделяя из них материалы? Но ведь поступление может быть в предыдущем отчетном периоде, и исправить его уже проблематично.
Ответ: то есть изначально закупается партия товара, потом спустя некоторое время часть этого товара используют на собственные нужды, то есть перевод товар в материал и списывают на затраты.
Вопрос: Продажа комиссионного товара в бухгалтерии 3

Добрый день. Имеется бухгалтерия 3.0.38.55. В ней есть поступления на комиссию, которые учитываются на забалансовом счете 004.01. При том точно такой же товар поступает в организацию и как собственный тоже. В регистре сведений счет учета для этой номенклатуры заведен 41.02. При продаже соответственно подставляется счет 41.02. Есть ли какой-то способ, чтобы счет учета в продаже подставлялся правильно?  Полагаю, что он должен браться из партии, а не из счет учета номенклатуры.
Ответ: В ТиСе в свое время была принята простая идеология.
Если исходить из целей бизнеса, то выгоднее продавать свой товар - осовобождая ресурсы/склады/площади и получать доход/прибыль себе. То есть сначала работаем на себя - продаем свой товар, потом работаем на дядю - продаем товар комитента.
Это реализовывалось просто - сортировкой таблицы партий по статусу партии (купленный, комиссионный). И при этом нет никакой необходимости держать собственный и такой же комиссионнный товар на разных виртуальных складах, хотя в действительности товар находится на одном физическом складе.

потом такую сортировку таблицы партий - то ли отменили, то ли потеряли при очередной доработке в 1С... ;-)

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

Как это сделать???Есть у кого нибудь примеры?
На встроенном языке «1С:Предприятие» разработать отчет, который на основе анализа ИБ за весь период ведения учета в торговой точке определяет группу товаров, по которым ежедневная суммарная выручка день ото дня непрерывно росла на протяжении наиболее длительного отрезка времени. В группу может входить от одного товара до всех вместе взятых. Искомый отрезок времени должен состоять не менее, чем из двух дней.
Считается, что в ИБ представлены данные за каждый торговый день, но если данные о выручке за какую-то дату (даты) отсутствуют, то эти дни не считаются торговыми днями и не прерывают последовательности.
Ответ: Dgaizer, в УТ и в рознице есть что-то такое, может подойдет?
Кликните здесь для просмотра всего текста


ABC-XYZ анализ продаж


ABC-XYZ анализ продаж совмещает в себе 2 методики анализа:

АВС–анализ — это инструмент, который позволяет изучить товарный ассортимент за определённый период времени, определить рейтинг товаров по указанным критериям и выявить ту часть ассортимента, которая обеспечивает максимальный эффект. Дополнительно наш ABC анализ дает возможность выявить все товары, которые не продавались в выбранный период времени.
Отчет доступен по ссылке Маркетинг - Отчеты по маркетингу – Маркетинг - ABC-XYZ анализ продаж или Продажи – Отчеты по продажам – Показатели эффективности - ABC-XYZ анализ продаж.


· Группа А – очень важные товары, которые всегда должны присутствовать в ассортименте. Если в качестве параметра в анализе использовался объем продаж, то в данную группу входят лидеры продаж по количеству. Если в качестве параметра в анализе использовалась торговая наценка, то в данную группу входят наиболее прибыльные товары. Если в качестве параметра в анализе использовалась количество проданного товара, то в данную группу входят наиболее продаваемые товары. Обычно совокупный объем продаж группы А составляет максимальный % от общего объема продаж (по умолчанию - 80%, вы можете менять это значение).

· Группа В – товары средней степени важности. Обычно совокупный объем продаж группы В составляет большую часть от оставшегося % общего объема продаж (по умолчанию - 15%, вы можете менять это значение).

· Группа С – наименее важные товары, это претенденты на исключение из ассортимента и товары-новинки. Сортировка осуществляется по одному, выбранному показателю, значения групп двух остальных выводятся в отдельных колонках. Также возможна обратная сортировка, когда сначала отображаются товары группы С, потом - В и только в конце - А.

XYZ–анализ - это инструмент, позволяющий разделить продукцию по степени стабильности продаж и уровня колебаний потребления.

Метод данного анализа заключается в расчете каждой товарной позиции коэффициента вариации или колебания расхода. Этот коэффициент показывает отклонение расхода от среднего значения и выражается в процентах. В качестве параметра могут быть: объем продаж (количество), сумма продаж, сумма реализованной торговой наценки. Результатом XYZ –анализа является группировка товаров по трем категориям, исходя из стабильности их поведения:

· Группа "X" - товары, у которых коэффициент вариации не превышает 10% (вы можете менять это значение). Это товары, характеризующиеся стабильной величиной потребления и высокой степенью прогнозирования.

· Группа "Y" - товары, у которых коэффициент вариации находится в диапазоне от 10% до 25% (вы можете менять это значение). Это товары, характеризующиеся сезонными колебаниями и средними возможностями их прогнозирования.

· Группа "Z" - товары, у которых коэффициент вариации превышает 25% или расчет коэффициента невозможен по причине отсутствия. Это товары с нерегулярным потреблением и непредсказуемыми колебаниями, поэтому, спрогнозировать их спрос невозможно. Расчет коэффициента производится по следующему алгоритму: Сначала рассчитывается среднее значение продаж товара по какому-либо показателю за выбранный период. Потом для каждого дня периода считается разница между продажами текущего дня и средним значением продаж. Это значение возводится в квадрат, получая квадрат отклонения. Значения квадратов отклонений всех дней суммируются и делятся на количество дней, и из полученного значения извлекается квадратный корень. В результате получается среднеквадратичное отклонение. Коэффициент вариации является результатом деления среднеквадратичного отклонения на среднее значение продаж. Выражается в %.

Наилучший результат дает ABC-XYZ анализ товаров, схожих по характеру потребления. Отбор товара можно сделать по Виду номенклатуры или, более детальный – по Товарной категории, если установлена функциональная опция Управление ассортиментом по ссылке Администрирование - Маркетинг - Ассортимент.


Тогда наш отчет, скажем по товарной категории "Каши и смеси", будет выглядеть так.

Кликните здесь для просмотра всего текста
Отчет предназначен для классификации объектов:

Контрагент
Номенклатура
Основной менеджер покупателя
Классификация объектов производится по классам важности с точки зрения реализации товаров и услуг компании по данным управленческого учета.

Для каждого из 3-х классов (А, В и С) задаются свои относительные значения в процентах.

Считается что класс А должен приносить больше прибыли чем В и тем более больше чем С. Общепринятое распределение А-класс – 70%, В-класс – 25% и С-класс – 5%.

Пользователь может выбрать параметр для анализа из предложенного списка:

Сумма выручки
Сумма валовой прибыли
Количество проданных товаров
Вопрос: Не выгружаются Характеристики товара на сайт

Приветствую Уважаемые форумчане!!!
Вопрос собственно в следующем: Есть внешняя обработка (Обычные формы) выполняющая обмен остатками с MySQL базой сайта. Номенклатура и цены выгружается на сайт нормально,но в базе 1с (8.3.5.1119) УТ (11.1.7.54) для каждого товара существуют характеристики (Цвет) вот они и не выгружаются...
Как сделать правильный запрос, чтобы выгружались Наименования Характеристик привязанных к товару и их остаток.
Запрос выполняется следующим образом:
Код:
Функция ХарактеристикиТовара (Товар)      //Отбор по характеристикам товара
      Запрос5 = Новый Запрос;
      Запрос5.Текст =
      "ВЫБРАТЬ
    |   ДополнительныеРеквизиты.Свойство,
    |   ДополнительныеРеквизиты.Значение
    |    ИЗ
    |    Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
    |    ГДЕ
    |    ХарактеристикиНоменклатуры.Ссылка В (&Характеристика)";
  
    Запрос5.УстановитьПараметр("Характеристика", Товар);
    РезультатЗапроса5 = Запрос5.Выполнить();
    ВыборкаДетальныеЗаписи5 = РезультатЗапроса5.Выбрать();
    Пока ВыборкаДетальныеЗаписи5.Следующий() Цикл
        НименованиеХарактеристики = ВыборкаДетальныеЗаписи5.ХарактеристикиНоменклатуры;
        Сообщить (НименованиеХарактеристики);
    КонецЦикла;

КонецФункции
Данная функция объявляется в следующей процедуре:
Код:
Процедура ВыгрузитьОпции (Товар)       //Выгружаем Характеристики товара в Опции на сайте
              
                  Код = Формат(Число(ЗаменитьПрефиксы(Товар.Код)), "ЧГ=0");
                 ИмяОпции = "Цвет";
                ТипОпции = "radio";
                Значение = ХарактеристикиТовара(Товар); // Значение Характеристики (Название)
                Обязательная = "1";
                Количество = "0";      // Количество (по наличию)
                УчётНаСкладе = "0";
                ДопЦена = "0";
                ДопБаллы = "0";
                ДопВес = "0";

    Стр = oc1c.UploadOption(Код,ИмяОпции,ТипОпции,Значение,Обязательная,Количество,УчётНаСкладе,ДопЦена,ДопБаллы, ДопВес);
    Сообщить(Стр);

КонецПроцедуры

В итоге при обмене с базой Сам товар выгружается, а вместо характеристики добавляется строка с пустым значением Характеристики:
Помогите пожалуйста разобраться, что делаю не так?
Ответ:
У меня обработка работает нормально, единственное нужно правильно сформировать запрос на получение Наименования характеристик из Номенклатуры (Товара) - этих характеристик (в данном случае Цвет) у каждого товара много и они разные. Выходные данные должны быть в виде строки.
Вот этот самый запрос я и не могу сформулировать правильно
--- Объединение сообщений, 13 фев 2017 ---
Разработчики обработки, дали мне пример процедуры и функции (на примере выгрузки атрибутов),но нужно правильно сформировать запрос.
В 1с я не силен - а сами разработчики запросили 2000 за час работы, поэтому я пытаюсь сам это все сделать! Но как видно у меня не получается
Вопрос: 1С Бухгалтерия предприятия. Ошибка при записи документа "Поступление товаров и услуг": не заполнен счет Дт.

Добрый день, подскажите пожалуйста какие поля нужно заполнять при создании документа "ПоступлениеТоваровУслуг" Я создаю данный документ программно и когда пытаюсь записать, мне выдаёт следующую ошибку:

{ВнешняяОбработка.СозданиеСводныхДокументов.Форма.Форма.Форма(140)}: Ошибка при вызове метода контекста (Записать)
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Запись не верна! Не заполнен счет дебета (Регистр бухгалтерии: Журнал проводок (бухгалтерский и налоговый учет); Номер строки: 1)

Причём выдаёт данную ошибку тогда, когда я пытаюсь создать документ на контрагента: "Конфетпром ООО". С контрагентом "Межрегионинтерснабсбыт ООО" таких проблем не возникает. Подозреваю что я не заполнил какое-то поле или поля.
Помогите плиз.


Сам код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
&НаСервере
Процедура СозданиеДокумента()
    Счёт = 0;
    //Выбираю всех контрагентов
    ЗапросЭлементов = Новый Запрос;
    ЗапросЭлементов.Текст =
    "ВЫБРАТЬ
    |   Контрагенты.Ссылка
    |ИЗ
    |   Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |    НЕ Контрагенты.ЭтоГруппа";         
    Выборка = ЗапросЭлементов.Выполнить().Выбрать();
    //Прохожу циклом по каждому контрагенту
    
    Пока Выборка.Следующий() Цикл
        //Получаю контрагента       
        СсылканаКонтрагента = Выборка.Ссылка;                           
        
        //Делаю запрос на получение не проведённых документов определённого контрагента
        ЗапросДокументов = Новый Запрос;
        ЗапросДокументов.УстановитьПараметр("Контрагент", СсылканаКонтрагента); 
        ЗапросДокументов.УстановитьПараметр("ЛОЖЬ", ЛОЖЬ);
        ЗапросДокументов.Текст = "ВЫБРАТЬ
        |   ПоступлениеТоваровУслуг.Ссылка
        |ИЗ
        |   Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        |ГДЕ
        |   ПоступлениеТоваровУслуг.Контрагент = &Контрагент
        |   И ПоступлениеТоваровУслуг.Проведен = &ЛОЖЬ";            
        ВыборкаДок = ЗапросДокументов.Выполнить().Выбрать();
        //Получаю кол-во полученных документов
        Количество = ВыборкаДок.Количество();
        
        //Если  есть не проведённые документы то создаю новый документ 
        Если Количество > 0 Тогда 
            //Создаю новый документ на текущего контрагента 
            НовыйДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
            НовыйДокумент.Контрагент = СсылканаКонтрагента;
            НовыйДокумент.Дата = ТекущаяДата();
            НовыйДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
            
            Счёт = Счёт + Количество;               
            Пока ВыборкаДок.Следующий()Цикл
                Ссылканадок = ВыборкаДок;
                ТекущийДокумент = ВыборкаДок.Ссылка.ПолучитьОбъект();
                
                КоличествоСтрокТЧУслуг = ТекущийДокумент.Услуги.Количество();    
                Если КоличествоСтрокТЧУслуг > 0 Тогда 
                    //Записываю каждую строку из табличной части услуги в новый документ
                    Услуги = ТекущийДокумент.Услуги;                    
                    Для Каждого СтрокаТабЧасти Из Услуги Цикл
                        НоваяСтрокаТаблицы = НовыйДокумент.Услуги.Добавить();
                        НоваяСтрокаТаблицы.Номенклатура = СтрокаТабЧасти.Номенклатура;
                        НоваяСтрокаТаблицы.Количество = СтрокаТабЧасти.Количество;
                        НоваяСтрокаТаблицы.Цена = СтрокаТабЧасти.Цена;                                  
                        НоваяСтрокаТаблицы.Сумма = НоваяСтрокаТаблицы.Цена * НоваяСтрокаТаблицы.Количество;
                        НоваяСтрокаТаблицы.ОтражениеВУСН = СтрокаТабЧасти.ОтражениеВУСН;
                        НоваяСтрокаТаблицы.Содержание = СтрокаТабЧасти.Содержание;
                        НоваяСтрокаТаблицы.СпособУчетаНДС = СтрокаТабЧасти.СпособУчетаНДС;
                        НоваяСтрокаТаблицы.Субконто1 = СтрокаТабЧасти.Субконто1;
                        НоваяСтрокаТаблицы.Субконто2 = СтрокаТабЧасти.Субконто2;
                        НоваяСтрокаТаблицы.Субконто3 = СтрокаТабЧасти.Субконто3;
                        НоваяСтрокаТаблицы.СубконтоНУ1 =  СтрокаТабЧасти.СубконтоНУ1;
                        НоваяСтрокаТаблицы.СубконтоНУ2 =  СтрокаТабЧасти.СубконтоНУ2; 
                        НоваяСтрокаТаблицы.СубконтоНУ3 =  СтрокаТабЧасти.СубконтоНУ3;
                        НоваяСтрокаТаблицы.СчетЗатрат = СтрокаТабЧасти.СчетЗатрат;
                        НоваяСтрокаТаблицы.СчетЗатратНУ = СтрокаТабЧасти.СчетЗатратНУ;
                        НоваяСтрокаТаблицы.СчетУчетаНДС =СтрокаТабЧасти.СчетУчетаНДС;
                        НоваяСтрокаТаблицы.СтавкаНДС = СтрокаТабЧасти.СтавкаНДС;                            
                    КонецЦикла;
                КонецЕсли;
                
                КоличествоСтрокТЧТоваров = ТекущийДокумент.Товары.Количество();
                Если КоличествоСтрокТЧТоваров > 0 Тогда
                    //Записываю каждый товар из табличной части услуги в новый документ
                    Товары = ТекущийДокумент.Товары;
                    Для Каждого СтрокаТабЧасти Из Товары Цикл
                        НоваяСтрокаТаблицы =  НовыйДокумент.Товары.Добавить();
                        НоваяСтрокаТаблицы.Номенклатура = СтрокаТабЧасти.Номенклатура;
                        НоваяСтрокаТаблицы.ЕдиницаИзмерения = СтрокаТабЧасти.ЕдиницаИзмерения;  
                        НоваяСтрокаТаблицы.Количество = СтрокаТабЧасти.Количество;
                        НоваяСтрокаТаблицы.Цена = СтрокаТабЧасти.Цена;                      
                        НоваяСтрокаТаблицы.Сумма = НоваяСтрокаТаблицы.Цена * НоваяСтрокаТаблицы.Количество;
                        НоваяСтрокаТаблицы.СуммаНДС = СтрокаТабЧасти.СуммаНДС;
                        НоваяСтрокаТаблицы.Коэффициент = СтрокаТабЧасти.Коэффициент;
                        НоваяСтрокаТаблицы.ОтражениеВУСН = СтрокаТабЧасти.ОтражениеВУСН;
                        НоваяСтрокаТаблицы.СпособУчетаНДС = СтрокаТабЧасти.СпособУчетаНДС;
                        НоваяСтрокаТаблицы.СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;  
                        НоваяСтрокаТаблицы.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ;
                        НоваяСтрокаТаблицы.СтавкаНДС = СтрокаТабЧасти.СтавкаНДС;                        
                    КонецЦикла;
                КонецЕсли;
                //Устанавливаю пометку на удаление текущий не проведённый документ
                ТекущийДокумент.УстановитьПометкуУдаления(Истина);   
            КонецЦикла;
            //Заполняю поля нового документа
            НовыйДокумент.СчетНаОплатуПоставщика = ТекущийДокумент.СчетНаОплатуПоставщика;
            НовыйДокумент.СпособЗачетаАвансов = ТекущийДокумент.СпособЗачетаАвансов;
            НовыйДокумент.СчетУчетаРасчетовПоАвансам = ТекущийДокумент.СчетУчетаРасчетовПоАвансам;
            НовыйДокумент.СчетУчетаРасчетовСКонтрагентом = ТекущийДокумент.СчетУчетаРасчетовСКонтрагентом;
            НовыйДокумент.ВалютаДокумента = ТекущийДокумент.ВалютаДокумента;
            НовыйДокумент.ДоговорКонтрагента = ТекущийДокумент.ДоговорКонтрагента;
            НовыйДокумент.НДСВключенВСтоимость= ТекущийДокумент.НДСВключенВСтоимость;
            НовыйДокумент.НДСНеВыделять = ТекущийДокумент.НДСНеВыделять;
            НовыйДокумент.Организация = ТекущийДокумент.Организация;
            НовыйДокумент.Ответственный = ТекущийДокумент.Ответственный;
            НовыйДокумент.Склад = ТекущийДокумент.Склад;
            НовыйДокумент.СуммаДокумента = ТекущийДокумент.СуммаДокумента;
            НовыйДокумент.КурсВзаиморасчетов = ТекущийДокумент.КурсВзаиморасчетов;
            НовыйДокумент.КратностьВзаиморасчетов =  ТекущийДокумент.КратностьВзаиморасчетов;
            НовыйДокумент.СпособЗачетаАвансов =  ТекущийДокумент.СпособЗачетаАвансов;
            
            //Свёртывание таблицы услуг
            КоличествоСтрокТЧУслуг = НовыйДокумент.Услуги.Количество();
            Если КоличествоСтрокТЧУслуг > 3 Тогда
                //Свёртывание табличной части услуг
                Свёртывание = НовыйДокумент.Услуги.Выгрузить();
                Свёртывание.Свернуть("Номенклатура","Цена, СтавкаНДС");
                НовыйДокумент.Услуги.Загрузить(Свёртывание);
            КонецЕсли;
            
            //Свёртывание таблицы товаров
            КоличествоСтрокТЧТоваров = НовыйДокумент.Товары.Количество();
            Если КоличествоСтрокТЧТоваров > 3 Тогда  
                //Свёртывание табличной части товаров
                Свёртывание = НовыйДокумент.Товары.Выгрузить();
                Свёртывание.Свернуть("Номенклатура", "Цена, СтавкаНДС");
                НовыйДокумент.Товары.Загрузить(Свёртывание);
            КонецЕсли;
            
            //Провожу созданный документ
            НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);    
        КонецЕсли;          
    КонецЦикла;  
КонецПроцедуры
Ответ: Всё, я разобрался, всё дело было в свёртывании, я указал не все нужные поля в методе свёртывания и после выполнения метода данные терялись и вылезало сообщение о том что не все поля заполнены.

Вот рабочий код:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
&НаСервере
Процедура СозданиеДокумента()
    Счёт = 0;
    //Выбираю всех контрагентов
    ЗапросЭлементов = Новый Запрос;
    ЗапросЭлементов.Текст =
    "ВЫБРАТЬ
    |   Контрагенты.Ссылка
    |ИЗ
    |   Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |    НЕ Контрагенты.ЭтоГруппа";         
    Выборка = ЗапросЭлементов.Выполнить().Выбрать();
    //Прохожу циклом по каждому контрагенту
    
    Пока Выборка.Следующий() Цикл
        //Получаю контрагента       
        СсылканаКонтрагента = Выборка.Ссылка;                           
        
        //Делаю запрос на получение не проведённых документов определённого контрагента
        ЗапросДокументов = Новый Запрос;
        ЗапросДокументов.УстановитьПараметр("Контрагент", СсылканаКонтрагента); 
        ЗапросДокументов.УстановитьПараметр("ЛОЖЬ", ЛОЖЬ);
        ЗапросДокументов.Текст = "ВЫБРАТЬ
        |   ПоступлениеТоваровУслуг.Ссылка
        |ИЗ
        |   Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        |ГДЕ
        |   ПоступлениеТоваровУслуг.Контрагент = &Контрагент
        |   И ПоступлениеТоваровУслуг.Проведен = &ЛОЖЬ";            
        ВыборкаДок = ЗапросДокументов.Выполнить().Выбрать();
        //Получаю кол-во полученных документов
        Количество = ВыборкаДок.Количество();
        
        //Если  есть не проведённые документы то создаю новый документ 
        Если Количество > 0 Тогда 
            //Создаю новый документ на текущего контрагента 
            НовыйДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
            НовыйДокумент.Контрагент = СсылканаКонтрагента;
            НовыйДокумент.Дата = ТекущаяДата();
            НовыйДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
            
            Счёт = Счёт + Количество;               
            Пока ВыборкаДок.Следующий()Цикл
                Ссылканадок = ВыборкаДок;
                ТекущийДокумент = ВыборкаДок.Ссылка.ПолучитьОбъект();
                
                КоличествоСтрокТЧУслуг = ТекущийДокумент.Услуги.Количество();    
                Если КоличествоСтрокТЧУслуг > 0 Тогда 
                    //Записываю каждую строку из табличной части услуги в новый документ
                    Услуги = ТекущийДокумент.Услуги;                    
                    Для Каждого СтрокаТабЧасти Из Услуги Цикл
                        НоваяСтрокаТаблицы = НовыйДокумент.Услуги.Добавить();
                        НоваяСтрокаТаблицы.Номенклатура = СтрокаТабЧасти.Номенклатура;
                        НоваяСтрокаТаблицы.Количество = СтрокаТабЧасти.Количество;
                        НоваяСтрокаТаблицы.Цена = СтрокаТабЧасти.Цена;                                  
                        НоваяСтрокаТаблицы.Сумма = НоваяСтрокаТаблицы.Цена * НоваяСтрокаТаблицы.Количество;
                        НоваяСтрокаТаблицы.ОтражениеВУСН = СтрокаТабЧасти.ОтражениеВУСН;
                        НоваяСтрокаТаблицы.Содержание = СтрокаТабЧасти.Содержание;
                        НоваяСтрокаТаблицы.СпособУчетаНДС = СтрокаТабЧасти.СпособУчетаНДС;
                        НоваяСтрокаТаблицы.Субконто1 = СтрокаТабЧасти.Субконто1;
                        НоваяСтрокаТаблицы.Субконто2 = СтрокаТабЧасти.Субконто2;
                        НоваяСтрокаТаблицы.Субконто3 = СтрокаТабЧасти.Субконто3;
                        НоваяСтрокаТаблицы.СубконтоНУ1 =  СтрокаТабЧасти.СубконтоНУ1;
                        НоваяСтрокаТаблицы.СубконтоНУ2 =  СтрокаТабЧасти.СубконтоНУ2; 
                        НоваяСтрокаТаблицы.СубконтоНУ3 =  СтрокаТабЧасти.СубконтоНУ3;
                        НоваяСтрокаТаблицы.СчетЗатрат = СтрокаТабЧасти.СчетЗатрат;
                        НоваяСтрокаТаблицы.СчетЗатратНУ = СтрокаТабЧасти.СчетЗатратНУ;
                        НоваяСтрокаТаблицы.СчетУчетаНДС =СтрокаТабЧасти.СчетУчетаНДС;
                        НоваяСтрокаТаблицы.СтавкаНДС = СтрокаТабЧасти.СтавкаНДС;                            
                    КонецЦикла;
                КонецЕсли;
                
                КоличествоСтрокТЧТоваров = ТекущийДокумент.Товары.Количество();
                Если КоличествоСтрокТЧТоваров > 0 Тогда
                    //Записываю каждый товар из табличной части услуги в новый документ
                    Товары = ТекущийДокумент.Товары;
                    Для Каждого СтрокаТабЧасти Из Товары Цикл
                        НоваяСтрокаТаблицы =  НовыйДокумент.Товары.Добавить();
                        НоваяСтрокаТаблицы.Номенклатура = СтрокаТабЧасти.Номенклатура;
                        НоваяСтрокаТаблицы.ЕдиницаИзмерения = СтрокаТабЧасти.ЕдиницаИзмерения;  
                        НоваяСтрокаТаблицы.Количество = СтрокаТабЧасти.Количество;
                        НоваяСтрокаТаблицы.Цена = СтрокаТабЧасти.Цена;                      
                        НоваяСтрокаТаблицы.Сумма = НоваяСтрокаТаблицы.Цена * НоваяСтрокаТаблицы.Количество;
                        НоваяСтрокаТаблицы.СуммаНДС = СтрокаТабЧасти.СуммаНДС;
                        НоваяСтрокаТаблицы.Коэффициент = СтрокаТабЧасти.Коэффициент;
                        НоваяСтрокаТаблицы.ОтражениеВУСН = СтрокаТабЧасти.ОтражениеВУСН;
                        НоваяСтрокаТаблицы.СпособУчетаНДС = СтрокаТабЧасти.СпособУчетаНДС;
                        НоваяСтрокаТаблицы.СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;  
                        НоваяСтрокаТаблицы.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ;
                        НоваяСтрокаТаблицы.СтавкаНДС = СтрокаТабЧасти.СтавкаНДС;                        
                    КонецЦикла;
                КонецЕсли;
                //Устанавливаю пометку на удаление текущий не проведённый документ
                ТекущийДокумент.УстановитьПометкуУдаления(Истина);   
            КонецЦикла;
            //Заполняю поля нового документа
            НовыйДокумент.СчетНаОплатуПоставщика = ТекущийДокумент.СчетНаОплатуПоставщика;
            НовыйДокумент.СпособЗачетаАвансов = ТекущийДокумент.СпособЗачетаАвансов;
            НовыйДокумент.СчетУчетаРасчетовПоАвансам = ТекущийДокумент.СчетУчетаРасчетовПоАвансам;
            НовыйДокумент.СчетУчетаРасчетовСКонтрагентом = ТекущийДокумент.СчетУчетаРасчетовСКонтрагентом;
            НовыйДокумент.ВалютаДокумента = ТекущийДокумент.ВалютаДокумента;
            НовыйДокумент.ДоговорКонтрагента = ТекущийДокумент.ДоговорКонтрагента;
            НовыйДокумент.НДСВключенВСтоимость= ТекущийДокумент.НДСВключенВСтоимость;
            НовыйДокумент.НДСНеВыделять = ТекущийДокумент.НДСНеВыделять;
            НовыйДокумент.Организация = ТекущийДокумент.Организация;
            НовыйДокумент.Ответственный = ТекущийДокумент.Ответственный;
            НовыйДокумент.Склад = ТекущийДокумент.Склад;
            НовыйДокумент.СуммаДокумента = ТекущийДокумент.СуммаДокумента;
            НовыйДокумент.КурсВзаиморасчетов = ТекущийДокумент.КурсВзаиморасчетов;
            НовыйДокумент.КратностьВзаиморасчетов =  ТекущийДокумент.КратностьВзаиморасчетов;
            НовыйДокумент.СпособЗачетаАвансов =  ТекущийДокумент.СпособЗачетаАвансов;
            
            //Свёртывание таблицы услуг
            КоличествоСтрокТЧУслуг = НовыйДокумент.Услуги.Количество();
            Если КоличествоСтрокТЧУслуг > 1 Тогда
                НовыйДокумент.Услуги.Свернуть("Номенклатура, ОтражениеВУСН, СпособУчетаНДС, СтавкаНДС, СчетУчета, СчетУчетаНДС, Цена", "Количество, Сумма");   
            КонецЕсли;
            
            //Свёртывание таблицы товаров 
            КоличествоСтрокТЧТоваров = НовыйДокумент.Товары.Количество();
            Если КоличествоСтрокТЧТоваров > 1 Тогда                 
                НовыйДокумент.Товары.Свернуть("Номенклатура, ОтражениеВУСН, СпособУчетаНДС, СтавкаНДС, СчетУчета, СчетУчетаНДС, Цена", "Количество, Сумма");
            КонецЕсли;
            //Провожу созданный документ
            НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);    
        КонецЕсли;          
    КонецЦикла;  
КонецПроцедуры
Вопрос: Как отслеживать товары в пути между странами с отправителем, "совпадающим" с получателем

Имеются 4 "управленческие" базы 1С УТ версии 10.3.8.17, т.е. 3 торговые розничные точки и склад, если по базам (а в действительности всё "немного" немного не так, как на самом деле) в 3х городах, а города - в 3х странах (за тысячи км друг от друга, между прочим, с разной местной валютой).

Организация - одна, предприниматель (физическое лицо).
В учете "немножко" бардак. В основном продают документом "Списание товара" подразделениям, т.е. подразделения заводят и используют как контрагентов.Соответственно, покупают документами "Оприходование товара"
Причём, в некоторых базах микст: Оприходование- РТиУ контрагентам, и ПТиУ от контрагентов - Списание подразделениям (как контрагентам)

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

В ходе обсуждения выяснилось...
Эти базы-страны торгуют (в розницу оформлением документов опта вместо документов складского товародвижения и, наоборот, документами складских перемещений оформляют продажи-покупки + микст из этого) и довольно независимо, но частенько отгружают друг другу товар, который идёт по 3-4 месяца - отправившие уже забыли, получатели иногда никогда и не знали.

Формально, одно и то же физлицо (предприниматель) отгружает самому себе, но на самом деле в действительности это разные люди в разных странах и разных базах

Ну, и вот. Заказчик рвёт и мечет, что надо заставить всех менять прямо сегодня, до конца рабочего дня).

Да, так вопрос, такой.
Как можно (или лучше или нужно) отслеживать "товары в пути"? исходя из того, что всё уже слили в одну базу и все работают в одной базе
Попутный вопрос:

как разделить номенклатуру, контрагентов и товародвижение по базам-странам
(у них там ещё местные валюты - разные), чтобы объединить (как - это другой вопрос) базы?
Ответ:
А если добавить регистр "Товары в пути" и в документах признаки Отгрузил и Принял. При отгрузке товара ставится признак Отгрузил и делается запись в регистр Товары в пути, при этом если признак Отгрузил не поставлен, запретить проведение(данное условие может варьировать с ещё условием "отгрузка себе"). Базы обмениваются и все видят по некому отчёту, товары в пути. По факту прихода товара, принимающая сторона ставит признак Принял , товар списывается с товаров в пути и принимается на склад. Необходимо будет изменить движения прихода правда, чтобы они отрабатывали только по признаку Принял.
Вопрос: Акт расхождений после перемещения товаров

КА 2.4.2.144
Имеем два склада (склад 1 и склад 2) разных организаций (организация А и организация Б соответственно). Склад 1 ордерный.
Создан заказ на перемещение товаров со склада 1 на склад 2, расходный ордер, перемещение товаров
со склада 1 на склад 2. Оформлена передача товаров от организации А организации Б.
В ходе приемки выявлена недопоставка товаров Х (шт). Склад 1 подтвердил недопоставку. Создаем акт о расхождениях после перемещения. выбираем Как отработать расхождение - Допоставить без оформления.
В результате проведения акта в статусе Отрабатывается программа делает движения по регистрам:
Свободные остатки - снимает со свободных остатков по складу 1 Х(шт)
Товары к отгрузке - расход минус Х(шт). По заказу на перемещение теперь надо отгрузить на Х(шт) больше.
Товары к оформлению излишков и недостач - приход минус Х(шт) по складу 1. теперь по складу 1 неоформлена недостача на Х(шт).

Ожидал увидеть нечто иное. Логику не понял.
Как это должно работать?
Пока провели в состоянии на согласовании. Акт движений не делает. Товар весь на свободных остатках на складе 2. Это может быть проблемой. На складе 1 товар списан по РО. по факту лежит на складе. Тоже нехорошо.
Ответ:


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

Есть обработка:
                              //*******************************************


// Процедура генерации запроса Сформировать.

//

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    сз = СоздатьОбъект("СписокЗначений");
    спр = СоздатьОбъект("Справочник.дТовары");
    спр.НайтиПоКоду("9906");
    сз.ДобавитьЗначение(спр.текущийЭлемент());
    сз2 = СоздатьОбъект("СписокЗначений");
    спр = СоздатьОбъект("Справочник.дПунктыДоставки");
    спр.НайтиПоКоду("0002927-01");
    сз2.ДобавитьЗначение(спр.текущийЭлемент());
    //Создание объекта типа Запрос


    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)


    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Продажи = Регистр.Продажи.Товар;
    |ТочкаДоставки = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.рПунктДоставки;
    |Сумма = Регистр.Продажи.Сумма;
    |ТП = Регистр.Продажи.ТП;
    |Товар = Регистр.Продажи.Товар;
    |дкРасходнаяНакладная = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.ТекущийДокумент;
    |Клиент = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.рКлиент;
    |Функция СуммаСумма = Сумма(Сумма);
    |Функция Счётчик = Счётчик();
    |Группировка ТП;
// |Группировка Клиент;

    |Группировка дкРасходнаяНакладная упорядочить по дкРасходнаяНакладная.рПунктДоставки;
//  |Группировка Продажи1 по дкРасходнаяНакладная.рПунктДоставки;

    |Условие(ТП в ВыбТП);
    |Условие(Товар в сз);
    |Условие(НЕ(ТочкаДоставки в сз2));
    |"//}}ЗАПРОС


    ;
    // Если ошибка в запросе, то выход из процедуры


    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса


    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"


    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка() = 1 Цикл
        // Заполнение полей ТП


        Таб.ВывестиСекцию("ТП");
        Пока Запрос.Группировка() = 1 Цикл
            // Заполнение полей дкРасходнаяНакладная


            Таб.ВывестиСекцию("дкРасходнаяНакладная")
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"


    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы


    Таб.ТолькоПросмотр();
    Таб.Показать("Сформировать", "");
КонецПроцедуры

Нужно сделать возможность выбирать не один элемент товара, а, например папку товаров. С Торговыми представителями (ТП) так получается, а с товаром нет.
Ответ: () Я знаю, поэтому такой вариант мне и не подходит, я решил другим способом, добавил список и в него добавляю товаров процедурой
Вопрос: 1С 7.7 ТиС, диалог выбора товара

Для того, что бы задать вопрос, создал тестовую обработку.
Вопрос в следующем, есть таблица:
1. по клавише "Добавить товар" выбирается товар - это работает
2. по клавише "Просмотр товара" появляется форма выбора товара - это работает
3. из появившейся формы выбора товара нажимается клавиша "Остатки" - это работает
4. после просмотра остатков закрываем форму "Показать остатки ТМЦ" - это работает, НО
вернувшись в форму выбора товара, видим мелькание элементов формы выбора. Причем,
до нажатия клавиши "Остатки" никаких мельканий нет.
Работе это не мешает, но как-то некрасиво.

Такого эффекта нет, если в каком-нибудь документе, в его табличной части сделать двойной клик, появится форма
выбора товара, нажатие клавиши "Остатки", а затем закрытие не вызывает мелькание формы выбора.

Вопрос, в чем причина мельканий, как избавиться?
Ответ: Надо, просто, последним параметром указать текущий элемент:
ОткрытьПодбор("Справочник.Номенклатура", ,, 0, ТоварыГруппы.Товар.ТекущийЭлемент());